适用于:
Databricks SQL
Databricks Runtime 17.1 及更高版本
Important
此功能目前以公共预览版提供。
注释
此功能在 Databricks SQL 经典仓库上不可用。 若要详细了解 Databricks SQL 仓库,请参阅 SQL 仓库类型。
返回输入 GEOGRAPHY 或 GEOMETRY 值的长度。
Syntax
st_length ( geoExpr )
Arguments
-
geoExpr:GEOGRAPHY或GEOMETRY值。
Returns
类型的 DOUBLE值,表示输入 GEOGRAPHY 或 GEOMETRY 值的长度。
如果输入是一个 GEOGRAPHY 值,该函数将返回值的线性部分 GEOGRAPHY 的 2D 测地长度。
具体而言,该函数返回线字符串的地理长度,以及多行字符串中线字符串长度的总和。
对于非线性地理图形(点、多边形、多点和多多边形),返回0;而对于几何图形集合,函数则返回集合中所有元素长度的总和。
通过执行假设 WGS84 椭圆的逆地理计算来计算结果。
结果单位为计量。
如果输入是一个 GEOMETRY 值,则函数返回值的线性部分 GEOMETRY 的 2D 笛卡尔长度。
具体而言,该函数返回线字符串的 2D 笛卡尔长度,以及多行字符串中线字符串长度的总和。
对于非线性几何形状(点、多边形、多点和多多边形),将返回0,而对于几何图形集合,则返回集合中元素长度的总和。
结果的单位与输入值GEOMETRY的空间参考系统的单位相同。
如果任何输入为NULL,该函数将返回NULL。
Examples
-- Returns the length of a 2D Cartesian linestring.
> SELECT round(st_length(st_geomfromtext('LINESTRING(10 34,44 57,30 24)')), 8);
76.89564816