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

标签 python geolocation geopy shapely

我正在尝试处理以下场景:

  • 从谷歌地球获取多边形坐标
  • 通过 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 个坐标,它们是图形顶部的 2 个边界点。

  • 通过geopy获取距离

    现在我卡住了...试图弄清楚:

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

    Image

最佳答案

因此,如果我理解正确的话,您有一堆 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

请注意:距离以弧为单位而不是以米为单位,因此您必须转换它们。

关于python - 使用 Python、geopy、shapely 进行 GPS 定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13489835/

相关文章:

python - Apache Hive 在使用 Python UDF 时出错

ruby - 在 Ruby 中将 lat lng/zip/city/state 转换为时区的最简单方法

javascript - 如何在 angularjs 中使用 HTML5 地理定位

android - 尽管有投影,谷歌地图仍绘制正方形

python - 在计算地球上各点之间的距离时,为什么我的 Haversine 与 Geodesic 计算结果不同?

python - 在 Mac 上编写 Python 脚本的最佳方式(IDE?)

python - 当 RMSLE 是 eval 指标时,lightgbm 的提前停止不起作用

python - 为函数中的多个全局变量赋值的更简单方法

python - 在 python 与 st_project 中计算一个点

Python geopy 安装