按距离搜索地理编码信息

Nic*_*kiy 3 algorithm search geocoding

我有一个地址数据库,所有地理编码.

在给定lat,lng的某个半径范围内查找数据库中所有地址的最佳方法是什么?

换句话说,用户输入(lat,lng)某个位置,我们返回来自我们数据库的所有记录,这些记录位于给定位置的10,20,50 ......等英里范围内.

它不一定非常精确.

我使用MySQL DB作为后端.

小智 5

MySQL 5有可用的Spatial扩展 - 文档的入口页面在这里:

http://dev.mysql.com/doc/refman/5.0/en/spatial-extensions.html

根据空间数据在数据库中的表示方式,有很多关于如何完成所要求的细节.

另一种选择是使用已经提到的Haversine公式来计算距离.它背后的数学可以在这里找到:

www.movable-type.co.uk/scripts/latlong.html

希望这会有所帮助.