ST_Length
计算空间对象的长度。对于 GEOMETRY 对象,长度使用笛卡尔坐标单位测量。对于 GEOGRAPHY 对象,长度以米为单位测量。
按以下方法计算长度:
-
点或点集合对象的长度为 0。
-
线串的长度是每个线段的长度之和;而线段的长度是起点到终点的距离。
-
多边形的长度是外部边界和任何内部边界的长度之和。
-
线串集合、多边形集合或 geometrycollection 的长度是它所包含的所有对象的长度之和。
注意
ST_Length 不计算 WKT 或 WKB 的长度。要计算这些对象的长度,请将 Vertica LENGTH SQL 函数与 ST_AsBinary 或 ST_AsText 结合使用。行为类型
不可变语法
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)