mysql語句 的座標查詢方法

 [轉]

以下 SQL 語句將會在與座標 37, -122 相距 25 英里的半徑範圍內查找最近的 20 個位置。該語句根據行的緯度/經度以及目標緯度/經度計算距離,然後只請求距離值小於 25 的行,最後再按距離對整個查詢進行排序,並將查詢結果限制爲只顯示 20 個。要按公里而非英里進行搜索,請將 3959 替換爲 6371。

 

SELECT id, ( 3959 * acos( cos( radians( -122 ) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians( 37) ) + sin( radians( -122 ) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章