ST_GeneratePoints — Generates a multipoint of random points contained in a Polygon or MultiPolygon.
geometry ST_GeneratePoints(
geometry g, integer npoints, integer seed = 0)
;
ST_GeneratePoints generates a multipoint consisting of a given number of pseudo-random points
which lie within the input area.
The optional seed
is used to regenerate a deterministic sequence of points,
and must be greater than zero.
Availability: 2.3.0
Enhanced: 3.0.0, added seed parameter
SELECT ST_GeneratePoints(geom, 12, 1996) FROM ( SELECT ST_Buffer( ST_GeomFromText( 'LINESTRING(50 50,150 150,150 50)'), 10, 'endcap=round join=round') AS geom ) AS s;
Given a table of polygons s, return 12 individual points per polygon. Results will be different each time you run.
SELECT s.id, dp.path[1] AS pt_id, dp.geom FROM s, ST_DumpPoints(ST_GeneratePoints(s.geom,12)) AS dp;