Functions / PostGIS / ST_Points
PostGISGeometry Accessors

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.

SQL
ST_Points(geometry g)geometry

Differs 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:

SQL
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.