使用Python、geopy、shapely进行GPS定位

2024-04-27 04:45:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试以下场景:

  • 从googleearth获取多边形坐标
  • 与Shapely建立界限:

    >>> polygon = Polygon([(53.349459,-6.260159),(53.349366,-6.260126),(53.349383,-6.260012),(53.349478,-6.260053),(53.349459,-6.260159)])   
    >>> polygon.bounds
    (53.349366, -6.260159, 53.349478, -6.260012)
    

    我得到了2个坐标,这是我的图形顶部的两个边界点。

  • 与geopy保持距离

    现在我被卡住了。。。试图找出:

    1. 如何找到另外两个边界点(在底部)
    2. 如何检测用户是否从任意一侧靠近(例如3米)多边形?(左、右、上、下)。在这种情况下,我不仅需要知道边缘边界点,还需要知道从左、右、上到下的所有边界点?我可以计算用户位置和多边形之间的距离,但是从多边形动态取什么点呢? 我可以使用现有的libs吗,比如geopy和Shapely?在

    Image


Tags: 用户图形距离场景情况多边形边缘bounds
1条回答
网友
1楼 · 发布于 2024-04-27 04:45:03

所以如果我理解正确的话,你有一堆形状优美的多边形,你想测试任意点是否接近这些形状。 对于这个问题,shapely提供了distance

from shapely.geometry import Point, Polygon
polygon = Polygon([(53.349459,-6.260159),
                   (53.349366,-6.260126),
                   (53.349383,-6.260012),
                   (53.349478,-6.260053),
                   (53.349459,-6.260159)])
testpoint = Point(53.349459,-6.260190)
dist = polygon.distance(testpoint)
print(dist)
>>> 3.09999999999e-05

请注意:距离是以弧为单位而不是以米为单位,所以你必须转换它们。在

相关问题 更多 >