我正在做一个 Python 项目,我有两个纬度/经度对,我想计算它们之间的距离。在其他项目中,我使用 ST_Distance_Sphere(a.loc_point, b.loc_point) 在 Postgres 中计算了距离,但我想避免将所有数据加载到 Postgres 中,以便我可以计算距离差异。我已经搜索过,但没能找到我想要的,这是一个纯粹的 Python 实现,这样我就不必将我的数据加载到 Postgres 中。
我知道还有其他距离计算将地球视为一个完美的球体,但由于精度差,这些计算还不够好,这就是为什么我想使用 PostGIS ST_Distance_Sphere() 函数(或等效函数) .
这里有几个我想计算距离的经纬度示例:
Lat, Long 1: (49.8755, 6.07594)
Lat, Long 2: (49.87257, 6.0784)
我无法想象我是第一个提出这个问题的人,但是有没有人知道纯粹从 Python 脚本中使用 ST_Distance_Sphere() 进行纬度/长距离计算的方法?
最佳答案
我会推荐 geopy 包 - 请参阅 Measuring Distance 部分在文档中...
针对您的特定情况:
from geopy.distance import great_circle
p1 = (49.8755, 6.07594)
p2 = (49.87257, 6.0784)
print(great_circle(p1, p2).kilometers)
关于python - Python 中的 ST_Distance_Sphere()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42277602/