ST_Points
What is ST_Points?
ST_Points is a PostGIS function that returns a MULTIPOINT containing every vertex of the input geometry. Duplicates and the closing vertex of rings are included as-stored.
ST_Points(geometry g) → geometryDiffers from ST_DumpPoints, which returns one row per vertex; ST_Points packages all vertices into a single multi-point geometry value.
When would you use ST_Points?
Use ST_Points when you need every vertex as a single geometry for downstream operations — for example as input to ST_ConvexHull over all vertices, to feed a clustering function, or to produce a multi-point visualization layer:
1SELECT id, ST_ConvexHull(ST_Points(geom)) AS hull
2FROM parcels;For row-level vertex processing prefer ST_DumpPoints. For deduped vertex output, use ST_RemoveRepeatedPoints(ST_Points(geom)).
FAQs
Does ST_Points deduplicate vertices?
No. Every coordinate in the input's coordinate sequence becomes a point in the output, including the closing vertex of polygon rings. Use ST_RemoveRepeatedPoints to dedupe.
How is it different from ST_DumpPoints?
ST_Points returns a single MULTIPOINT value. ST_DumpPoints returns a set of rows, one per vertex, with a path array.
Are Z and M preserved?
Yes. Each vertex retains its full dimensionality.
What happens on a Point input?
Returns a MULTIPOINT with one component equal to the input coordinate.