本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
ST_Perimeter
對於輸入面幾何,ST_Perimeter 會傳回 2D 投影的笛卡爾周長 (邊界的長度)。周長單位與表示輸入幾何座標的單位相同。對於點、multipoint 和線形幾何,此函數會傳回零 (0)。當輸入為幾何集合時,此函數會傳回集合中幾何的周長總和。
對於輸入地理,ST_Perimeter 會傳回在球體 (由 SRID 決定) 上所計算輸入面積地理之 2D 投影的測地週長 (邊界長度)。周長的單位是公尺。對於點、multipoint 和線形地理,此函數會傳回零 (0)。當輸入為幾何集合時,此函數會傳回集合中地理的周長總和。
語法
ST_Perimeter(geo)
引數
- geo
-
GEOMETRY
或GEOGRAPHY
資料類型的值,或是評估為GEOMETRY
或GEOGRAPHY
類型的運算式。
傳回類型
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