是否有python模块,我可以在其中创建地理位置坐标(经纬度)的对象,并查询给定坐标5公里距离(即半径)内的所有对象?
我一直在尝试将纬度和经度存储为字典中的键(按键索引),并使用一些距离查找算法来查询它们。但这感觉像一个可怕的黑客。
基本上类似于PostgreSQL的Postgis,但都在我的python应用程序的内存中。

最佳答案

是的,尝试geopy

import geopy
import geopy.distance

pt1 = geopy.Point(48.853, 2.349)
pt2 = geopy.Point(52.516, 13.378)

dist = geopy.distance.distance(pt1, pt2).km
# 878.25

然后,您可以查询点列表:
[pt for pt in points if geopy.distance.distance(orig, pt).km < 5.]

关于python - 用于存储和查询地理坐标的Python模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9078776/

10-12 15:20