名称

ST_StartPoint — 返回 LineString 的第一个点。

语法

geometry ST_StartPoint(geometry geomA);

描述

LINESTRINGCIRCULARLINESTRING 几何的第一个点作为 POINT 返回。如果输入不是 LINESTRINGCIRCULARLINESTRING,则返回 NULL

此方法实现了 SQL/MM 规范。

SQL-MM 3: 7.1.3

此函数支持 3d,并且不会删除 z 索引。

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

[Note]

增强:3.2.0 为所有几何返回一个点。之前的行为是如果输入不是 LineString,则返回 NULL。

已更改:2.0.0 不再适用于单几何 MultiLineString。在较旧版本的 PostGIS 中,单线 MultiLineString 可以很好地与此函数配合使用并返回起始点。在 2.0.0 中,它只像任何其他 MultiLineString 一样返回 NULL。旧行为是一个未记录的功能,但是假设他们将数据存储为 LINESTRING 的人可能会在 2.0.0 中遇到这些返回 NULL 的情况。

示例

LineString 的起始点

SELECT ST_AsText(ST_StartPoint('LINESTRING(0 1, 0 2)'::geometry));
 st_astext
------------
 POINT(0 1)

非 LineString 的起始点为 NULL

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

3D LineString 的起始点

SELECT ST_AsEWKT(ST_StartPoint('LINESTRING(0 1 1, 0 2 2)'::geometry));
 st_asewkt
------------
 POINT(0 1 1)

CircularString 的起始点

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

另请参见

ST_EndPointST_PointN