Sagen wir, ich habe folgendes Polygon und Point:Suche Koordinate nächsten Punkt auf Polygon Shapely
>>> poly = Polygon([(0, 0), (2,8), (14, 10), (6,1)])
>>> point=Point(12,4)
ich die Entfernung der Punkt berechnen kann auf das Polygon ...
>>> dist=point.distance(poly)
>>> print dist
2.49136439561
... aber ich würde gerne die Koordinate des Punktes an der Polygongrenze kennen, an der die kürzeste Distanz gemessen wird.
Mein erster Ansatz ist es, den Punkt durch seinen Abstand zum Polygon zu puffern, und finden Sie den Punkt, an dem die Kreistangente zu dem Polygon ist:
>>> buff=point.buffer(dist)
Allerdings bin ich mir nicht sicher, wie um diesen Punkt zu berechnen. Die beiden Polygone kreuzen sich nicht, also gibt mir list(poly.intersection(buff))
diesen Punkt nicht.
Bin ich damit auf dem richtigen Weg? Gibt es eine einfachere Methode?
Doppelt? http: // Stapelüberlauf.com/questions/10983872/Abstand von einem Punkt zu einem Polygon –
@Oleg, ich glaube nicht, dass dies ein Duplikat ist. Wie ich oben erwähnt habe, habe ich kein Problem, den Mindestabstand zum Polygon zu berechnen. Ich versuche den Punkt an der Polygongrenze zu finden, an dem der Mindestabstand gemessen wird. – AJG519
Wäre neugierig zu wissen, wie man die Entfernung erreichen kann, wenn der Punkt innerhalb des Polygons liegt. Zum Beispiel, wenn: 'Punkt = Punkt (4,4)' – kuanb