我有一个位置数据库,其中两个字段是经度和纬度。当用户到达索引页面时,我想要检索它们的位置,然后在距离用户一定距离半径内获得数据库内的每个点。
到目前为止,我认为我可以尝试测量数据库中每个点的距离,但如果我有很多条目,可能需要一段时间。
我使用Python构建我的应用,但我使用Javascript和Google Maps API来检索位置。
有谁知道我应该用它做什么?
感谢您的帮助!
答案 0 :(得分:1)
您的距离将转换为您可以添加的某个角度,并减去您的经度和纬度。然后,您可以根据该范围过滤数据库,即找到经度为+ - 角度等的元素。我希望这应该是合理的。
请注意,如果你有[lat_min,lat_max]和[long_min,long_max],你绘制的是一个矩形而不是一个圆圈,可能会或可能不适合你。如果您需要更高的准确度,则可以开始计算这个较小子集的实际距离,该距离应该比计算数据库中每个点的距离更快。
修改强>
答案 1 :(得分:1)
如果您在关系数据库中寻找基于位置的查询,与mysql相比,postgresql更加成熟。
如果你对NoSQL感到满意的话,Mongodb的远程查询非常好。参考文献: