名称

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 不再适用于单几何 MultiLineString。在 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_PointNST_StartPoint