ST_Length
对于线性几何体,ST_Length 返回 2D 投影的笛卡尔长度。长度单位与用于表示输入几何体坐标的单位相同。对于点、多点和平面几何体,此函数返回零 (0)。当输入为几何体集合时,此函数返回集合中的几何体长度之和。
对于地理,ST_Length 返回由 SRID 确定的在椭球体上计算的输入线性地理的 2D 投影的测地线长度。长度以米为单位。对于点、多点和平面地理,此函数返回零 (0)。当输入为几何体集合时,此函数返回集合中的地理长度之和。
语法
ST_Length(geo)
参数
- geo
-
一个
GEOMETRY
或GEOGRAPHY
数据类型的值,或一个计算结果为GEOMETRY
或GEOGRAPHY
类型的表达式。
返回类型
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