ST_Perimeter - Amazon Redshift

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

ST_Perimeter

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

對於輸入地理,ST_Perimeter 會傳回在球體 (由 SRID 決定) 上所計算輸入面積地理之 2D 投影的測地週長 (邊界長度)。周長的單位是公尺。對於點、multipoint 和線形地理,此函數會傳回零 (0)。當輸入為幾何集合時,此函數會傳回集合中地理的周長總和。

語法

ST_Perimeter(geo)

引數

geo

GEOMETRYGEOGRAPHY 資料類型的值,或是評估為 GEOMETRYGEOGRAPHY 類型的運算式。

傳回類型

DOUBLE PRECISION

如果 geo 為 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