簡體   English   中英

POSTGIS ST_DISTANCE 函數和結果的問題

[英]Issues with POSTGIS ST_DISTANCE function and results

嗨,我對 postgis 和計算有一些問題。

使用 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM