0
我使用幾何函數和操作:http://www.postgresql.org/docs/9.3/static/functions-geometry.html在PostgreSQL中計算點和圓之間的距離,用於圓半徑和距離的單位是什麼?
表「銀行」包含一個地理圍欄其是circle
用0.5半徑的類型。含lat_lon爲point
id url lat_lon device
"455";"www.google.com";"(-83.0163,42.2733)";"48ddb459104986c1860eaa048ad72525ac881651"
id name geofence
"ID123";"FAR";"<(-122.31562661719,49.051595254425),0.5>"
"ID456";"NEAR";"<(-83.110566270539,42.102925914015),0.5>"
表「點」我試圖找到所有的地理柵欄內的點。
我想:
SELECT *
FROM
points, bank
WHERE lat_lon <@ bank.geofence;
我得到的結果接近,我檢查了點,但它們不是0.5KM半徑內,當我檢查他們在地圖上。
對於以上兩點,如果打印出的距離作爲列
SELECT *, lat_lon <-> bank.geofence
FROM
points, bank;
讓我對遠點的一個值39.3795,以及用於近點爲0。我知道這兩者都不在地理圍欄內,但我試圖找出用於「半徑」和「距離」的單位。
那麼,圓的半徑場是什麼單位? 如果我想要500米我應該使用什麼?
我將如何去尋找地球表面上兩點之間的實際距離? – 2014-09-29 17:13:12
在這種情況下,我會建議你使用Postgis(http://postgis.net/),它是專門爲這些情況:) – Wolph 2014-09-29 17:21:44
這就是我目前正在研究的文檔不太清楚,如果我可以繼續使用'point'和'circle'我有或需要以某種方式轉換它們。 – 2014-09-29 17:26:24