ST_ClusterWithinWin — Fonction Window qui renvoie un identifiant de cluster pour chaque géométrie en entrée, regroupement en utilisant la distance de séparation.
integer ST_ClusterWithinWin(
geometry winset geom, float8 distance)
;
Une fonction window qui renvoie un numéro de cluster pour chaque géométrie d'entrée. Le regroupement partitionne les géométries en ensembles dans lesquels chaque géométrie se trouve dans la distance
spécifiée d'au moins une autre géométrie dans le même groupe. Les distances sont des distances cartésiennes dans les unités du SRID.
ST_ClusterWithinWin est équivalent à l'exécution de ST_ClusterDBSCAN avec minpoints => 0
.
Disponibilité : 3.4.0
Cette méthode prend en charge les types Circular String et Curve.
WITH testdata AS ( SELECT id, geom::geometry FROM ( VALUES (1, 'LINESTRING (0 0, 1 1)'), (2, 'LINESTRING (5 5, 4 4)'), (3, 'LINESTRING (6 6, 7 7)'), (4, 'LINESTRING (0 0, -1 -1)'), (5, 'POLYGON ((0 0, 4 0, 4 4, 0 4, 0 0))')) AS t(id, geom) ) SELECT id, ST_AsText(geom), ST_ClusterWithinWin(geom, 1.4) OVER () AS cluster FROM testdata; id | st_astext | cluster ----+--------------------------------+--------- 1 | LINESTRING(0 0,1 1) | 0 2 | LINESTRING(5 5,4 4) | 0 3 | LINESTRING(6 6,7 7) | 1 4 | LINESTRING(0 0,-1 -1) | 0 5 | POLYGON((0 0,4 0,4 4,0 4,0 0)) | 0