名称

ST_EndPoint — 返回 LineString 或 CircularLineString 的最后一个点。

概要

geometry ST_EndPoint(geometry g);

描述

返回 LINESTRINGCIRCULARLINESTRING 几何对象的最后一个点,类型为 POINT。如果输入不是 LINESTRINGCIRCULARLINESTRING,则返回 NULL

此方法实现了 SQL/MM 规范。SQL-MM 3: 7.1.4

此函数支持 3D,不会丢弃 z 索引。

此方法支持圆形字符串和曲线。

[Note]

变更:2.0.0 版本不再适用于单个几何 MultiLineStrings。在旧版本的 PostGIS 中,单线的 MultiLineString 可以使用此函数并返回终点。在 2.0.0 版本中,它像任何其他 MultiLineString 一样返回 NULL。旧的行为是一个未文档化的特性,但那些假设他们的数据存储为 LINESTRING 的用户可能会在 2.0.0 版本中遇到这些返回 NULL 的情况。

示例

LineString 的终点

postgis=# SELECT ST_AsText(ST_EndPoint('LINESTRING(1 1, 2 2, 3 3)'::geometry));
 st_astext
------------
 POINT(3 3)

非 LineString 的终点为 NULL

SELECT ST_EndPoint('POINT(1 1)'::geometry) IS NULL AS is_null;
  is_null
----------
 t

3D LineString 的终点

--3d endpoint
SELECT ST_AsEWKT(ST_EndPoint('LINESTRING(1 1 2, 1 2 3, 0 0 5)'));
  st_asewkt
--------------
 POINT(0 0 5)

CircularString 的终点

SELECT ST_AsText(ST_EndPoint('CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 6 3)'::geometry));
 st_astext
------------
 POINT(6 3)

另请参阅

ST_PointN, ST_StartPoint