在Shapely中找到多边形上最近点的坐标。
- 论坛
- 在Shapely中找到多边形上最近点的坐标。
6 浏览
在Shapely中找到多边形上最近点的坐标。
假设我有以下多边形和点:
>>> 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))
不会给我该点。
我这样做对吗?有没有更简单的方法?