[筆記] 利用某一座標點找出方圓N公里的SQL

利用某一座標點找出方圓N公里的SQL(MBRContains)

若要從一個經緯座標, 要找方圓N公里的資料,做法有很多種, 以下是利用SQL的空間運算來得到結果.

SELECT * FROM tPOI
WHERE MBRContains
(
LineString
(
Point
(
25.1745872 + 2 / ( 111.1 / COS(RADIANS(121.4526443))),
121.4526443 + 2 / 111.1
),
Point
(
25.1745872 – 2 / ( 111.1 / COS(RADIANS(121.4526443))),
121.4526443 – 2 / 111.1
)
),
location
)

location 為MYSQL欄位名,類型為 point.