ST_NumPoints
Calculates the number of vertices of a spatial object, empty objects return NULL.
The first and last vertex of polygons and multipolygons are counted separately.
Behavior Type
Syntax
ST_NumPoints( g )
Arguments
g |
Spatial object for which you want to count the vertices, type GEOMETRY or GEOGRAPHY |
Returns
INTEGER
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_NumPoints.
Returns the number of vertices in a linestring:
=> SELECT ST_NumPoints(ST_GeomFromText('LINESTRING(1.33 1.56,2.31 3.4,2.78 5.82, 3.76 3.9,4.11 3.27,5.85 4.34,6.9 4.231,7.61 5.77)')); ST_NumPoints -------------- 8 (1 row)
Use ST_Boundary and ST_NumPoints to return the number of vertices of a polygon:
=> SELECT ST_NumPoints(ST_Boundary(ST_GeomFromText('POLYGON((1 2,1 4, 2 5,3 6,4 6,5 5,4 4,3 3,1 2))'))); ST_NumPoints -------------- 9 (1 row)