我有一个小问题点(haversine公式Q),寻找围绕指定的点的给定半径
我只是测试使用haversine公式为我的项目 在项目中,我指定点我想找到我提供的点的给定半径内的所有点。经过多次搜索,我尝试了这个沙丁烷公式查询。
SELECT service_id, (3959 * acos(cos(radians(51.500152)) * cos(radians(latitude)) * cos(radians(longitude) - radians(-0.126236)) + sin(radians(51.500152)) * sin(radians(latitude)))) AS distance
FROM sys_t_taxi_real_time_servce HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;
我得到了伦敦的纬度和经度,然后如图中(的service_id,driver_id,journey_id,经度,纬度,DRIVER_STATUS)
4, 1, , 51.5034, -0.174751, ''
5, 1, 2, 51.477106, -0.137329, ''
所以对于结果集的顺序指定的数据但是我什么也没得到,没有行返回
然而,当我删除having子句我得到以下结果集(的service_id,距离)
5, 4655.154600
4, 4658.309966
我被困在这个问题上,无法前进,因为它和任何帮助将不胜感激。
查询和这种从下面的链接 http://code.google.com/apis/maps/articles/phpsqlsearch.html
而且没有人知道任何其他方法来解决同样的问题,我看到了MySQL的空间相关的东西获得,而是拿起这个,因为它用起来比较方便
问候, MilindaD