说我有以下多边形和点:
>>> poly = Polygon([(0, 0), (2, 8), (14, 10), (6, 1)])
>>> point = Point(12, 4)
Run Code Online (Sandbox Code Playgroud)
我可以计算点到多边形的距离......
>>> dist = point.distance(poly)
>>> print(dist)
2.49136439561
Run Code Online (Sandbox Code Playgroud)
...但我想知道最短距离所测量的多边形边界上的点的坐标.
我最初的方法是通过它与多边形的距离缓冲点,并找到该圆与多边形相切的点:
>>> buff = point.buffer(dist)
Run Code Online (Sandbox Code Playgroud)
但是,我不确定如何计算这一点.两个多边形不相交,所以list(poly.intersection(buff))不会给我这一点.
我是否在正确的轨道上?有更简单的方法吗?