ST_GeneratePoints — Genererar en multipoint av slumpmässiga punkter som ingår i en polygon eller multipolygon.
geometry ST_GeneratePoints(
geometry g, integer npoints, integer seed = 0)
;
ST_GeneratePoints genererar en multipunkt som består av ett givet antal pseudoslumpmässiga punkter som ligger inom inmatningsområdet. Det valfria fröet
används för att återskapa en deterministisk sekvens av punkter och måste vara större än noll.
Tillgänglighet: 2.3.0
Förbättrad: 3.0.0, tillagd parameter för utsäde
Genererade en multipunkt bestående av 12 punkter överlagrade ovanpå den ursprungliga polygonen med hjälp av ett slumpmässigt seedvärde 1996
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;
Givet en tabell med polygoner s, returnera 12 individuella punkter per polygon. Resultaten kommer att vara olika varje gång du kör.
SELECT s.id, dp.path[1] AS pt_id, dp.geom FROM s, ST_DumpPoints(ST_GeneratePoints(s.geom,12)) AS dp;