ST_PointN
Finds the n point of a spatial object.
Finds the nth point of a spatial object. If you pass a negative number, zero, or a number larger than the total number of points on the linestring, ST_PointN returns NULL.
The vertex order is based on the Well-Known Text (WKT) representation of the spatial object.
Behavior type
ImmutableSyntax
ST_PointN( g, n )
Arguments
g- Spatial object to search, type GEOMETRY or GEOGRAPHY
n- Point in the spatial object to be returned. The index is one-based, type INTEGER
Returns
GEOMETRY or GEOGRAPHY
Supported data types
| Data Type | GEOMETRY | GEOGRAPHY (Perfect Sphere) | GEOGRAPHY (WGS84) |
|---|---|---|---|
| Point | Yes | Yes | Yes |
| Multipoint | Yes | Yes | Yes |
| Linestring | Yes | Yes | Yes |
| Multilinestring | Yes | Yes | Yes |
| Polygon | Yes | Yes | Yes |
| Multipolygon | Yes | Yes | Yes |
| GeometryCollection | No | No | No |
Examples
The following examples show how to use ST_PointN.
Returns the fifth point:
=> SELECT ST_AsText(ST_PointN(ST_GeomFromText('
POLYGON(( 2 6, 2 9, 6 9, 7 7, 4 6, 2 6))'), 5));
ST_AsText
-------------
POINT (4 6)
(1 row)
Returns the second point:
=> SELECT ST_AsText(ST_PointN(ST_GeographyFromText('
LINESTRING(23.41 24.93,34.2 32.98,40.7 41.19)'), 2));
ST_AsText
--------------------
POINT (34.2 32.98)
(1 row)