st_area 函数

适用于:检查标记为“是”的 Databricks SQL 检查标记为“是”是 Databricks Runtime 17.1 及更高版本

Important

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

注释

此功能在 Databricks SQL 经典仓库上不可用。 若要详细了解 Databricks SQL 仓库,请参阅 SQL 仓库类型

返回输入 GEOGRAPHYGEOMETRY 值的区域。

Syntax

st_area ( geoExpr )

Arguments

  • geoExprGEOGRAPHYGEOMETRY值。

Returns

类型的 DOUBLE值,表示输入 GEOGRAPHYGEOMETRY 值的区域。

如果输入是一个 GEOGRAPHY 值,该函数将返回值的 2D 地理区域 GEOGRAPHY 。 具体而言,该函数返回多边形的地理区域,以及多边形中多边形区域的总和。 对于非面状地理对象(如点、线字符串、多点和多线字符串),函数将返回0。对于几何集合,函数将返回集合中各个元素的面积总和。 通过执行假设 WGS84 椭圆的逆地理计算来计算结果。 结果单位为平方米。

如果输入是一个 GEOMETRY 值,该函数将返回值的 GEOMETRY 2D 笛卡尔区域。 具体而言,该函数返回多边形的 2D 笛卡尔区,以及多边形中多边形区域的总和。 对于非面状几何图形(点、线串、多点和多条线串),返回 0,而对于几何图形集合,它返回集合中元素的面积之和。 结果的单位是输入 GEOMETRY 值的空间引用系统的单位(平方)。

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

Examples

-- Returns the area of a 2D Cartesian polygon with a hole.
> SELECT st_area(st_geomfromtext('POLYGON((0 0,50 0,50 50,0 50,0 0),(20 20,25 30,30 20,20 20))'));
  2450.0