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 类型
使用说明
- 对于几何类型:如果几何是 LineString、MultiLineString、Curve、MultiCurve,则返回几何的 2D 笛卡尔长度。。
- 对于面积几何形状,返回 0; 请改用 ST_PERIMETER。
- 长度单位由几何的空间参考系确定。
- 对于地理类型:使用逆测地线计算来执行计算。长度单位为米。椭球体由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)