ST_StartPoint
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)