Скажем, у меня есть следующий многоугольник и точка:Найти координата ближайшей точки на Polygon стройные
>>> poly = Polygon([(0, 0), (2,8), (14, 10), (6,1)])
>>> point=Point(12,4)
можно рассчитать расстояние точки на полигоне ...
>>> dist=point.distance(poly)
>>> print dist
2.49136439561
... но я хотел бы знать координату точки на границе полигона, где это кратчайшее расстояние.
Мой первоначальный подход к буферу точку на это расстояние до полигона, и найти точку, в которой этот круг является касательной к полигону:
>>> buff=point.buffer(dist)
Однако, я не знаю, как для вычисления этой точки. Два полигона не пересекаются, поэтому list(poly.intersection(buff))
не даст мне эту точку.
Я нахожусь на правильном пути с этим? Есть ли более простой метод?
Duplicate? Http: // StackOverflow.com/questions/10983872/distance-from-a-point-to-a-polygon –
@ Олег, я не верю, что это дубликат. Как я упоминал выше, у меня нет вопроса о вычислении минимального расстояния до многоугольника. Я пытаюсь найти точку на границе полигона, где измеряется это минимальное расстояние. – AJG519
Было бы интересно узнать, как пройти дистанцию, если точка лежит внутри полигона. Например, когда: 'point = Point (4,4)' – kuanb