簡體   English   中英

從數據庫中獲取類似的經度和緯度

[英]Getting similar longitude and latitude from database

我正在使用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英里范圍內的所有記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM