適用於:
Databricks SQL
Databricks Runtime 17.1 和更新版本
Important
這項功能目前處於 公開預覽版。
備註
這項功能不適用於 Databricks SQL Classic 倉儲。 若要深入瞭解 Databricks SQL 倉儲,請參閱 SQL 倉儲類型。
傳回輸入 GEOGRAPHY 或 GEOMETRY 值的周邊。
Syntax
st_perimeter ( geoExpr )
Arguments
-
geoExpr:GEOGRAPHY或GEOMETRY值。
Returns
類型 DOUBLE 的值,表示輸入 GEOGRAPHY 或 GEOMETRY 值的周長。
如果輸入是 GEOGRAPHY 值,則函式是輸入 GEOGRAPHY 值的地理周長。
具體來說,它會傳回多邊形區段(2D 投影的區段)的測地線長度總和,以及多面形中多邊形周長的總和。
針對非面積地理位置(點、線串、多點和多線串),會回傳 0,而對於幾何集合,則會回傳集合中元素周長的總和。
結果是藉由假設使用 WGS84 橢球體進行反向大地計算得出的。
結果的單位為公尺。
如果輸入是 GEOMETRY 值,函式會傳回輸入 GEOMETRY 值的笛卡兒周長。
具體來說,它會傳回多邊形線段的 (2D 笛卡兒投影) 長度總和,以及多多邊形結構中每個多邊形周長的總和。
對於非面積幾何(點、線串、多點和多線串),會返回 0;而對於幾何集合,則會返回集合中元素周長的總和。
結果的單位是與輸入 GEOMETRY 值相關的空間參考系統的單位。
如果任何輸入為 NULL,則函式會傳NULL回 。
Examples
-- Returns the perimeter of a 2D Cartesian polygon with a hole.
> SELECT round(st_perimeter(st_geomfromtext('POLYGON((0 0,50 0,50 50,0 50,0 0),(20 20,25 30,30 20,20 20))')), 2);
232.36