ST_Perimeter - Amazon Redshift

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

ST_Perimeter

ST_Perimeter 會傳回 2D 投影的笛卡爾周長 (邊界的長度)。周長單位與表示輸入幾何座標的單位相同。對於點、multipoint 和線形幾何,此函數會傳回零 (0)。當輸入為幾何集合時,此函數會傳回集合中幾何的周長總和。

對於輸入地理位置,ST_Perimeter 返回由 SRID 確定的旋轉橢球體上計算的輸入面地理的 2D 投影的測地線周長(邊界長度)。周長的單位以米為單位。對於點、多點和線形地理位置,此函數會傳回零 (0)。當輸入為幾何集合時,此函數會傳回集合中地理位的周長總和。

Syntax (語法)

ST_Perimeter(geo)

引數

地理

資料類型的值GEOMETRY或者GEOGRAPHY,或判斷值為GEOMETRY或者GEOGRAPHY

傳回類型

DOUBLE PRECISION

如果地理為 Null,則會傳回 Null。

如果 SRID 值不是,則會傳回錯誤。

範例

下列 SQL 會傳回 multipolygon 的笛卡爾周長。

SELECT ST_Perimeter(ST_GeomFromText('MULTIPOLYGON(((0 0,10 0,0 10,0 0)),((10 0,20 0,20 10,10 0)))'));
st_perimeter -------------------------------- 68.2842712474619

下列 SQL 會傳回 multipolygon 的笛卡爾周長。

SELECT ST_Perimeter(ST_GeomFromText('MULTIPOLYGON(((0 0,10 0,0 10,0 0)),((10 0,20 0,20 10,10 0)))'));
st_perimeter -------------------------------- 68.2842712474619

以下 SQL 會傳回地理中多邊形的周長。

SELECT ST_Perimeter(ST_GeogFromText('SRID=4326;POLYGON((0 0,1 0,0 1,0 0))'));
st_perimeter ------------------ 378790.428393693

以下 SQL 會傳回地理位置中 linestring 的周長。

SELECT ST_Perimeter(ST_GeogFromText('SRID=4326;LINESTRING(5 0,10 0)'));
st_perimeter -------------- 0