假设我有以下的多边形和点:
>>> 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))
无法给我那个点。
我这样做是对的吗?有更简便的方法吗?