2009-10-23 74 views
2

我猜測它使用的單位是米(m),但從我發現的documentation中看起來並不明顯。它是否正確?PostgreSQL「earthdistance」模塊使用哪些單位?

如果是這樣,只是爲了驗證,以英里/米之間的轉換,我相信這些功能應該做的伎倆:

public static function mi2m($mi) { // miles to meters 
    return $mi * 1609.344; 
} 
public static function m2mi($m) { // meters to miles 
    return $m * 0.000621371192; 
} 

回答

6

該文檔看起來毫不含糊。大多數模塊默認使用儀表。但是您可以通過修改單個函數earth將其更改爲您喜歡的任何單位。大概所有其他的功能都使用這個功能,所以你的單位如果被覆蓋就可以是任意的。

但請注意,point <@> point運營商始終以英里爲單位,而這不能調整

你的轉換功能是正確的,但很容易檢查,以及:

1

從地獲得地球的半徑()功能。它以米爲單位給出

如果地球的半徑是米,我會猜測你的數學會出錯,除非你也用米。

1

文檔明確:F.8.1節的第2段說:「地球的半徑是從earth()函數獲得的。它以米爲單位。「

+0

是的,但那是在談論earth()函數,它的確如此不提其他功能的單位。我推斷他們都使用這條線上的米,但它絕對*不清楚。 – 2009-10-23 21:36:29

+1

它顯然是用earth()返回的東西來表示的(這就是我理解評論的方式,可以根據你的需要修改earth())。你在一個球體上(這是一個近似值,但手冊中提到了它),唯一相關的距離就是半徑。所有其他值都是角度,或者是半徑是因子的距離(即,如果半徑將乘以2,則您計算的所有距離也將爲)。 – 2009-10-23 21:51:33

-1

如果你有米的輸入,然後使用它是這樣的:

radius_in_metres/1.609 
+0

這就是Matt Huggins所說的,除了他沒有錯誤大約1000倍 – Jasen 2018-02-14 00:28:39

相關問題