我正在一個MySQL/PHP的系統中,我有以下很多(GoogleMap的)多邊形:如何找到附近的一個點的x距離
- 一組緯度,經度的形式(LAT ,lng)存儲爲文本格式:(lat1,lng1)#(lat2,lng2)#(lat3,lng3)等,它基本上是一個在存儲在數據庫中的googlemap實例上繪製的多邊形。
- 存儲在一個字段的表 - 一個點的座標P(高原,加壓液化天然氣),這基本上是其中一個設備進駐
我需要找出從第一個表中的許多多邊形如何點在基本上使用MYSQL的點P距離X公里的範圍內。
我已經遇到過很多Google Map庫,但我打算通過儘可能快的方法來解決這個問題 - 我認爲這是通過MYSQL查詢完成的。
任何人都可以請請擺脫一些關於這個?
我到目前爲止已經諮詢了地理空間查詢的幾個例子 - 並拿出這樣的:
SELECT user_id, latitude, longitude,
GeomFromText("POINT(CONCAT_WS(' ',latitude,longitude))") AS point,
Contains(GeomFromText('POLYGON(-26.167918065075458 28.10680389404297,
- 26.187020810321858 28.091354370117188, -26.199805575765794 28.125,-26.181937320958628 28.150405883789062, -26.160676690299308 28.13220977783203, -26.167918065075458 28.10680389404297)') ,
GEOMFromText("POINT(CONCAT_WS(' ',latitude,longitude))"))
FROM user_location
但問題是,它顯示了緯度的紀錄:-26.136230,長:28.338850以及多邊形的邊界。任何人都可以請指導?
請注意,地球上的「多邊形」並不真正形成多邊形,它將地球分爲兩部分。哪一個是'內部',哪個是'外部'?如果將Lat-Long視爲笛卡爾座標系,如果多邊形覆蓋N或S極點會發生什麼情況? – Spacedman