Name

ST_ClusterIntersecting — Fonction d'agrégation qui regroupe les géométries en entrée en ensembles connectés.

Synopsis

geometry[] ST_ClusterIntersecting(geometry set g);

Description

Une fonction agrégée qui renvoie un tableau de GeometryCollections partitionnant les géométries d'entrée en clusters connectés et disjoints. Chaque géométrie d'un cluster intersecte au moins une autre géométrie du cluster et n'intersecte aucune géométrie d'autre cluster.

Disponibilité : 2.2.0

Exemples

WITH testdata AS
  (SELECT unnest(ARRAY['LINESTRING (0 0, 1 1)'::geometry,
           'LINESTRING (5 5, 4 4)'::geometry,
           'LINESTRING (6 6, 7 7)'::geometry,
           'LINESTRING (0 0, -1 -1)'::geometry,
           'POLYGON ((0 0, 4 0, 4 4, 0 4, 0 0))'::geometry]) AS geom)

SELECT ST_AsText(unnest(ST_ClusterIntersecting(geom))) FROM testdata;

--result

st_astext
---------
GEOMETRYCOLLECTION(LINESTRING(0 0,1 1),LINESTRING(5 5,4 4),LINESTRING(0 0,-1 -1),POLYGON((0 0,4 0,4 4,0 4,0 0)))
GEOMETRYCOLLECTION(LINESTRING(6 6,7 7))