对于给定的LineString或MultiLineString,返回其二维空间内的长度。

语法

float  ST_Length(geometry  a2dlinestring);
float  ST_Length(geography  geog , boolean  useSpheroid);

参数

参数名称 描述
a2dlinestring 一个2维线形Geometry对象。
geog 目标Geography对象。
useSpheroid 是否使用椭球模型。

描述

  • 对于Geometry对象:
    • 如果是LineString、MultiLineString、ST_Curve、ST_MultiCurve则返回其2D笛卡尔长度。
    • 如果是面对象将返回0。这时需要使用ST_Perimeter
    • 长度的单位由对象的空间参考系统指定。
  • 对于Geography对象,使用反解测地线问题执行计算,单位为米。

示例

默认调用:
SELECT ST_Length('LINESTRING(0 0,1 1)'::geometry);
    st_length
-----------------
 1.4142135623731
(1 row)