ST_Distance - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

ST_Distance

對於輸入幾何,ST_Distance 會傳回兩個輸入幾何值的 2D 投影之間的最小歐幾里得距離。

對於 3DM、3DZ、4D 幾何,ST_Distance 會傳回兩個輸入幾何值的 2D 投影之間的歐幾里德距離。

對於輸入地理,ST_Distance 會傳回兩個 2D 點的測地距離。距離的單位是公尺。對於點和空點以外的地理,會傳回錯誤。

語法

ST_Distance(geo1, geo2)

引數

geo1

GEOMETRYGEOGRAPHY 資料類型的值,或是評估為 GEOMETRYGEOGRAPHY 類型的運算式。geo1 的資料類型必須與 geo2 相同。

geo2

GEOMETRYGEOGRAPHY 資料類型的值,或是評估為 GEOMETRYGEOGRAPHY 類型的運算式。geo2 的資料類型必須與 geo1 相同。

傳回類型

與輸入幾何或地理相同單位的 DOUBLE PRECISION

如果 geo1geo2 為 null 或空白,則傳回 null。

如果 geo1geo2 的空間參考系統識別符 (SRID) 不同,則會傳回錯誤。

如果 geo1geo2 是幾何集合,則會傳回錯誤。

範例

以下 SQL 會傳回兩個多邊形之間的距離。

SELECT ST_Distance(ST_GeomFromText('POLYGON((0 2,1 1,0 -1,0 2))'), ST_GeomFromText('POLYGON((-1 -3,-2 -1,0 -3,-1 -3))'));
st_distance ----------- 1.4142135623731

以下 SQL 使用 GEOGRAPHY 資料類型,傳回柏林的布蘭登堡門和德國國會大廈之間的距離 (以公尺為單位)。

SELECT ST_Distance(ST_GeogFromText('POINT(13.37761826722198 52.516411678282445)'), ST_GeogFromText('POINT(13.377950831464005 52.51705102546893)'));
st_distance ------------------ 74.64129172609631