使用MySQL有效计算哪些点接近给定纬度/经度的最佳方法是什么?

时间:2010-06-30 23:15:53

标签: mysql geospatial computational-geometry

我正在尝试设计一个MySQL模式,该模式可以存储具有相关纬度和经度的用户列表。

然后,对于给定的用户,我想建立一个查询,该查询可以将最近的50个用户返回给他/她,并按距离对这些用户进行排序(最近的用户首先显示)。

鉴于此表中可能有数千名用户,存储和查询此数据的最有效方法是什么?

2 个答案:

答案 0 :(得分:5)

尝试阅读本文:Creating a Store Locator with PHP, MySQL & Google Maps该文章展示了Haversine formula的MySQL解决方案,这是计算纬度和经度距离的最佳方法。

答案 1 :(得分:4)

看一下MySql的spatial indexing

您也可以使用Great Circle Distance,其中有一篇很好的SO文章here