本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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