我有一個充滿緯度/經度的地方的MySQL表。另一方面,我有一個客戶端的javascript/html5頁面,它將座標發送到服務器。根據空間座標獲取最近的位置
使用客戶端的座標,我希望能夠找到最近的位置。實現這一目標的最簡單方法是什麼?
類似SELECT * FROM places AS p WHERE p.latitude NEAR '49.8330001' AND p.longitude NEAR '-119.45600';
會很好。
我在這裏遇到了幾個問題,但他們沒有給我一個正確的答案。我閱讀了關於MySQL的空間擴展和其他一些SQL查詢可能會實現的技巧,但沒有一件看起來真的很「直截了當」,所以我認爲可以通過一些更具標準化的方式來做到這一點,我可以查看一些例子。
任何人都有這些經驗?
如何準確應該「近」是產生的?準系統最簡單的方法是從數據庫位置中減去當前位置並按照最小的差異進行排序,例如, 'select abs(latitude - $ lat)AS lat,abs(longitude - $ lon)AS $ log ...按照lat desc,lon desc'類型的順序排列。沒有涉及花哨的數學,只是一些減法。 –