ST_Length - Amazon Redshift

ST_Length

对于线性几何体,ST_Length 返回 2D 投影的笛卡尔长度。长度单位与用于表示输入几何体坐标的单位相同。对于点、多点和平面几何体,此函数返回零 (0)。当输入为几何体集合时,此函数返回集合中的几何体长度之和。

对于地理,ST_Length 返回由 SRID 确定的在椭球体上计算的输入线性地理的 2D 投影的测地线长度。长度以米为单位。对于点、多点和平面地理,此函数返回零 (0)。当输入为几何体集合时,此函数返回集合中的地理长度之和。

语法

ST_Length(geo)

参数

geo

一个 GEOMETRYGEOGRAPHY 数据类型的值,或一个计算结果为 GEOMETRYGEOGRAPHY 类型的表达式。

返回类型

DOUBLE PRECISION

如果 geo 为 null,则返回 null。

如果找不到 SRID 值,则返回一个错误。

示例

以下 SQL 返回多线串的笛卡尔长度。

SELECT ST_Length(ST_GeomFromText('MULTILINESTRING((0 0,10 0,0 10),(10 0,20 0,20 10))'));
st_length -------------------------------- 44.142135623731

以下 SQL 返回几何体中线串的长度。

SELECT ST_Length(ST_GeogFromText('SRID=4326;LINESTRING(5 0,6 0,4 0)'));
st_length ------------------ 333958.472379804

以下 SQL 返回几何体中点的长度。

SELECT ST_Length(ST_GeogFromText('SRID=4326;POINT(4 5)'));
st_length ----------- 0