python - Python 中的 ST_Distance_Sphere()?

标签 python postgresql postgis

我正在做一个 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/

相关文章:

python - Pyglet Player.seek() 函数不工作?

python - 以菱形填充的 Numpy 数组

sql - 如何更改 PostgreSQL 表并使列唯一?

javascript - 计算 2 个纬度/经度之间道路折线上的距离

linux - 在 Ubuntu Linux GEOS/GDAL 问题上安装功能齐全的 PostGIS 2.0

python - 获取列表项的名称

python - 有没有办法使用 Scrapy 在标记中查找 css 类的一部分?

sql - 在 postgres 中将行聚合为 jsonb

ruby-on-rails - 与 rails 4 + pg 列比较的日期不存在

sql - 如何将线串分割成单独的线段?