Name

ST_GeneratePoints — Génère un multipoint de points aléatoires contenus dans un polygone ou un multipolygone.

Synopsis

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

Description

ST_GeneratePoints génère un multipoint composé d'un nombre donné de points pseudo-aléatoires situés dans la zone d'entrée. Le paramètre facultatif seed est utilisé pour régénérer une séquence déterministe de points et doit être supérieur à zéro.

Disponibilité : 2.3.0

Amélioration : 3.0.0, ajout du paramètre seed

Exemples

Génération d'un multipoint composé de 12 points superposés au polygone d'origine en utilisant une valeur de départ aléatoire 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;

Etant donné un tableau de polygones s, retourner 12 points individuels par polygone. Les résultats seront différents à chaque exécution.

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

Voir aussi

ST_DumpPoints