st_perimeter 函数

适用于:已勾选“是”的 Databricks Runtime 17.1 及更高版本

重要

此功能目前以公共预览版提供。

返回输入 GEOGRAPHYGEOMETRY 值的外围。

语法

st_perimeter ( geoExpr )

论据

  • geoExprGEOGRAPHYGEOMETRY值。

退货

类型的 DOUBLE值,表示输入 GEOGRAPHYGEOMETRY 值的外围。

如果输入是一个 GEOGRAPHY 值,则函数是输入 GEOGRAPHY 值的地理边界。 具体来说,它返回多边形各段(的 2D 投影)的测地线长度之和,以及多多边形中多边形周长之和。 对于非区域性地理对象(点、线串、多点和多线串),返回0;而对于几何图形集合,则返回集合中元素的周长总和。 通过执行假设 WGS84 椭圆的逆地理计算来计算结果。 结果单位为计量。

如果输入是一个 GEOMETRY 值,该函数将返回输入 GEOMETRY 值的笛卡尔外围。 具体而言,它返回多边形的各个线段(二维笛卡尔投影)的长度之和,以及多多边形中各个多边形的周长之和。 对于非区域几何体(点、线串、多点和多线串),返回0,而对于几何集合,它将返回集合中元素的周长总和。 结果的单位与输入值GEOMETRY的空间参考系统的单位相同。

如果任何输入为NULL,该函数将返回NULL

例子

-- 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