Name

ST_ClusterIntersecting — Aggregatfunktion, die Eingabegeometrien zu zusammenhängenden Mengen clustert.

Synopsis

geometry[] ST_ClusterIntersecting(geometry set g);

Beschreibung

Eine Aggregatfunktion, die ein Array von GeometryCollections zurückgibt, das die Eingabegeometrien in zusammenhängende, disjunkte Cluster partitioniert. Jede Geometrie in einem Cluster schneidet mindestens eine andere Geometrie in diesem Cluster und schneidet keine Geometrie in anderen Clustern.

Verfügbarkeit: 2.2.0

Beispiele

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))