ST_StartPoint
Prev | 8.4. Geometry Accessors | Next

## Name

ST_StartPoint — Returns the first point of a LineString.

## Synopsis

`geometry ST_StartPoint(`geometry geomA`)`;

## Description

Returns the first point of a `LINESTRING` or `CIRCULARLINESTRING` geometry as a `POINT`. Returns `NULL` if the input is not a `LINESTRING` or `CIRCULARLINESTRING`.

This method implements the SQL/MM specification. SQL-MM 3: 7.1.3

This function supports 3d and will not drop the z-index.

This method supports Circular Strings and Curves

Enhanced: 3.2.0 returns a point for all geometries. Prior behavior returns NULLs if input was not a LineString. Changed: 2.0.0 no longer works with single geometry MultiLineStrings. In older versions of PostGIS a single-line MultiLineString would work happily with this function and return the start point. In 2.0.0 it just returns NULL like any other MultiLineString. The old behavior was an undocumented feature, but people who assumed they had their data stored as LINESTRING may experience these returning NULL in 2.0.0.

## Examples

Start point of a LineString

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

Start point of a non-LineString is NULL

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

Start point of a 3D LineString

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

Start point of a CircularString

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

## See Also

ST_EndPoint, ST_PointN

Prev | Up | Next
ST_Points | Home | ST_Summary