微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 从数据库中获取类似的经度和纬度

我正在使用Phonegap和 JQuery创建一个移动应用程序.

该应用程序收集用户的经度和纬度,并将它们存储在数据库中(使用PHP脚本 – Web服务),并使用某种算法检测是否有流量.我需要的是从数据库获取彼此接近的所有经度和纬度值,例如在相同的街道/ 200米范围内.

假设你在数据库中有一个列表,其中5个lon / lat彼此靠近(在同一条街道A中),3个lon / lat在一些街道B中彼此靠近,还有一些其他人在其他街道中随机代表用户.谁能告诉我如何检测彼此接近的lon / lat值?我将它们作为单独的值存储在MysqL数据库中的值,即一个经度字段和另一个纬度字段.

一旦我获得彼此靠近的lon / lat,那么我需要找到街道A中的用户和街道B中的用户间的中心点以标记为交通拥堵(基于一些其他检测).

你应该研究一下haversine公式.请看下面:
SELECT id,(3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance 
FROM markers 
HAVING distance < 25 
ORDER BY distance;

这将返回输入长/纬线对内25英里范围内的所有记录.

原文地址:https://www.jb51.cc/php/134421.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐