背景
我想添加一个模型管理器函数,该函数根据与坐标的接近度过滤查询集。我找到了这个blog posting代码完全符合我的要求。
代码
下面的代码片段似乎使用了 geopy此后已删除的功能。它通过限制纬度和经度的范围来粗略地缩小查询集的范围。
# Prune down the set of all locations to something we can quickly check precisely
rough_distance = geopy.distance.arc_degrees(arcminutes=geopy.distance.nm(miles=distance)) * 2
queryset = queryset.filter(
latitude__range=(latitude - rough_distance, latitude + rough_distance),
longitude__range=(longitude - rough_distance, longitude + rough_distance)
)
问题
由于一些使用的 geopy 函数已被删除/移动,我正在尝试重写此节。然而,我不懂计算——勉强通过几何学,我的研究让我困惑,而不是真正帮助我。
有人可以帮忙吗?我将不胜感激。
最佳答案
如果其他人现在正在看这个,因为我尝试使用 geopy 并且只是碰到它,上面的 rough_distance 代码段的现代等效项是:
import geopy
rough_distance = geopy.units.degrees(arcminutes=geopy.units.nautical(miles=1))
关于python - 使用 geopy 将英里转换为纬度和经度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4325182/