Name

ST_GeneratePoints — Erzeugt einen Multipunkt aus zufälligen Punkten, die in einem Polygon oder MultiPolygon enthalten sind.

Synopsis

geometry ST_GeneratePoints(geometry g, integer npoints, integer seed = 0);

Beschreibung

ST_GeneratePoints erzeugt einen Multipunkt, der aus einer bestimmten Anzahl von Pseudo-Zufallspunkten besteht, die innerhalb des Eingabebereichs liegen. Der optionale Wert seed wird verwendet, um eine deterministische Folge von Punkten zu erzeugen, und muss größer als Null sein.

Verfügbarkeit: 2.3.0

Erweiterung: mit 3.0.0 wurde das Argument "seed" hinzugefügt

Beispiele

Erzeugt einen Multipunkt, der aus 12 Punkten besteht, die über das ursprüngliche Polygon gelegt werden, unter Verwendung eines zufälligen Startwertes 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;

Bei einer Tabelle mit Polygonen s sind 12 einzelne Punkte pro Polygon zu ermitteln. Die Ergebnisse sind bei jedem Durchlauf anders.

SELECT s.id, dp.path[1] AS pt_id, dp.geom
FROM s, ST_DumpPoints(ST_GeneratePoints(s.geom,12)) AS dp;

Siehe auch

ST_DumpPoints