1. 程式人生 > >mysql利用st_distance函式查詢附近的點的功能

mysql利用st_distance函式查詢附近的點的功能

      隨著近幾年各類移動終端的迅速普及,在手機移動定位app中,附近的人,附近的地點功能十分常見,基於地理位置的服務(LBS)和相關應用也越來越多,而支撐這些應用的最基礎技術之一,就是基於地理位置資訊的處理。最近正從事相關係統的開發。

    我們假設有如下功能需求:

  • 顯示我附近的服務區
  • 由近到遠排序
  • 顯示距離

    資料庫表結構:

    id     name     lng     lat    

   資料省略。。。

假設我當時的座標:117.069,35.86 需要查詢我附近50KM內服務區,並按照距離由近及遠排列

SELECT
s.id,s.name,s.lng,s.lat, 
(st_distance (point (lng, lat),point(117.069,35.86) ) / 0.0111) AS distance
FROM
road_servicearea s
HAVING distance<50
ORDER BY distance