Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_LENGTH

📄字数 910
👁️阅读量 加载中...

功能描述

返回线性几何体的二维长度。

语法格式

sql
DOUBLE ST_LENGTH(GEOMETRY a_2dlinestring);
DOUBLE ST_LENGTH(GEOGRAPHY geog, BOOLEAN use_spheroid = TRUE);

参数说明

  • a_2dlinestring:目标 GEOMETRY 对象。
  • geog:目标 GEOGRAPHY 对象。
  • use_spheroid:可选,默认拖球体。FALSE,计算基于球体; TRUE:计算基于椭球体。

函数返回类型

DOUBLE 类型

使用说明

  1. 对于几何类型:如果几何是 LineString、MultiLineString、Curve、MultiCurve,则返回几何的 2D 笛卡尔长度。。
  2. 对于面积几何形状,返回 0; 请改用 ST_PERIMETER。
  3. 长度单位由几何的空间参考系确定。
  4. 对于地理类型:使用逆测地线计算来执行计算。长度单位为米。椭球体由SRID指定,

示例

返回线串的长度(以英尺为单位)。 请注意,单位为英尺,因为 EPSG:2249 是马萨诸塞州平面英尺:

sql
SQL> SELECT ST_LENGTH(ST_GEOMFROMTEXT('LINESTRING(743238 2967416,743238 2967450,743265 2967450,
     743265.625 2967416,743238 2967416)',2249));

+--------------+
|    EXPR1     |
+--------------+
| 1.226307e+02 |
+--------------+

(1 row)

SQL> SELECT ST_LENGTH(
             ST_TRANSFORM(
                     ST_GEOMFROMEWKT('SRID=4326;LINESTRING(-72.1260 42.45, -72.1240 42.45666, -72.123 42.1546)'),
                     26986
             )
     );

+--------------+
|    EXPR1     |
+--------------+
| 3.430946e+04 |
+--------------+

(1 row)

WGS 84 地理线返回长度:

sql
SQL> SELECT ST_LENGTH(the_geog) As length_spheroid,  ST_LENGTH(the_geog,false) As length_sphere
     FROM (SELECT ST_GEOGRAPHYFROMTEXT(
     'SRID=4326;LINESTRING(-72.1260 42.45, -72.1240 42.45666, -72.123 42.1546)') As the_geog)
      As foo;

+-----------------+---------------+
| LENGTH_SPHEROID | LENGTH_SPHERE |
+-----------------+---------------+
| 3.431057e+04    | 3.434621e+04  |
+-----------------+---------------+

(1 row)