ST_StartPoint — Returns the first point of a LineString, CircularLineString, or NURBSCurve.
geometry ST_StartPoint(geometry geomA);
Returns the first point of a LINESTRING, CIRCULARLINESTRING, or NURBSCURVE geometry as a POINT. For other geometries, returns the first point in coordinate order.
该方法实现了SQL/MM规范。 SQL-MM 3: 7.1.3
该函数支持 3d 并且不会丢失 z-index。
此方法支持圆形字符串和曲线。
|
|
|
增强:3.2.0 返回所有几何图形的点。 如果输入不是 LineString,则先前的行为将返回 NULL。 更改:2.0.0 不再适用于单个几何体 MultiLineStrings。 在旧版本的 PostGIS 中,单行 MultiLineString 可以与此函数很好地配合并返回起点。 在 2.0.0 中,它像任何其他 MultiLineString 一样只返回 NULL。 旧的行为是一个未记录的功能,但是那些假设将数据存储为 LINESTRING 的人可能会在 2.0.0 中遇到这些返回 NULL 的情况。 |
LineString起点
SELECT ST_AsText(ST_StartPoint('LINESTRING(0 1, 0 2)'::geometry));
POINT(0 1)
Start point of a Point is the Point itself
SELECT ST_AsText(ST_StartPoint('POINT(0 1)'::geometry));
POINT(0 1)
3D LineString起点
SELECT ST_AsEWKT(ST_StartPoint('LINESTRING(0 1 1, 0 2 2)'::geometry));
POINT(0 1 1)
CircularString起点
SELECT ST_AsText(ST_StartPoint('CIRCULARSTRING(5 2,-3 2, -2 1, -4 2, 6 3)'::geometry));
POINT(5 2)
Start point of a NURBSCurve
SELECT ST_AsText(ST_StartPoint('NURBSCURVE(2, (0 0, 1 1, 2 0))'::geometry));
POINT(0 0)