在MySQL数据库中聚集经纬度数据



我有一个包含经度和纬度值的数据库。我想做的是将这些数据聚类以便每次搜索数据库时得到的结果更少。有什么想法如何实现这一点吗?

这是一个类似的问题:在数据库中聚集Lat/long

查找最接近给定经度/纬度的记录并不太疯狂。假设您有一个包含longitudelatitude列的表location,您可以执行以下操作(将和替换为您的点的值)。

   SELECT id, latitude, longitude,  
               ROUND(6353 * 2 * ASIN(SQRT(POWER(SIN((<point_latitude> - 
                      abs(latitude)) * pi()/180 / 2),2) + COS( <point_latitude>  * pi()/180 ) 
                      * COS( abs(latitude) *  pi()/180) 
                      * POWER(SIN(( <point_longitude> - longitude) 
                      *  pi()/180 / 2), 2) )), 2) AS distance
     FROM location
     ORDER BY distance ASC 
     LIMIT 30;

你可以对空间函数做类似的操作

相关内容

  • 没有找到相关文章

最新更新