ST_Length

计算空间对象的长度。对于 GEOMETRY 对象,长度使用笛卡尔坐标单位测量。对于 GEOGRAPHY 对象,长度以米为单位测量。

按以下方法计算长度:

  • 点或点集合对象的长度为 0。

  • 线串的长度是每个线段的长度之和;而线段的长度是起点到终点的距离。

  • 多边形的长度是外部边界和任何内部边界的长度之和。

  • 线串集合、多边形集合或 geometrycollection 的长度是它所包含的所有对象的长度之和。

行为类型

不可变

语法

ST_Length( g )

参数

g
需要计算长度的空间对象,类型为 GEOMETRY 或 GEOGRAPHY

返回

FLOAT

支持的数据类型

示例

以下示例显示了 ST_Length 的用法。

返回以笛卡尔坐标单位为单位的长度:

=> SELECT ST_Length(ST_GeomFromText('LINESTRING(-1 -1,2 2,4 5,6 7)'));
    ST_Length
------------------
 10.6766190873295
(1 row)

返回以米为单位的长度:

=> SELECT ST_Length(ST_GeographyFromText('LINESTRING(-56.12 38.26,-57.51 39.78,
   -56.37 45.24)'));
    ST_Length
------------------
 821580.025733461
(1 row)