[英]Issues with POSTGIS ST_DISTANCE function and results
使用 ST_DISTANCE 會引起一些混亂:
SELECT st_distance(
ST_SetSRID(ST_MakePoint(16.0420,45.8250), 4326),
ST_SetSRID(ST_MakePoint(16.1675,45.8344), 4326));
結果返回 0.12585153952177025。
結果似乎有點奇怪,因為在簡單的可見檢查中,這些點距離很遠,結果應該以米為單位。
例如 :
select st_distance(
'POINT(15.651955 73.712769 )'::geography,
'POINT(14.806993 74.131451 )'::geography) AS d;
返回 53536.74349675 似乎工作正常。
你能告訴我我做錯了什么嗎?
st_distance
以所用坐標系的單位返回距離。 對於 4326,單位是degree
,因此距離以度為單位(這是沒有意義的)。
正如您所做的那樣,您可以先轉換為 geography,它會以米為單位返回結果。 您還可以使用ST_DistanceSpheroid
獲取以米為單位的距離,或者您可以使用以米為單位的合適坐標系。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.