ST_ClusterIntersectingWin — Fensterfunktion, die für jede Eingabegeometrie eine Cluster-ID zurückgibt und die Eingabegeometrien in zusammenhängende Gruppen clustert.
integer ST_ClusterIntersectingWin(
geometry winset geom)
;
Eine Fensterfunktion, die zusammenhängende Cluster von sich schneidenden Geometrien bildet. Es ist möglich, alle Geometrien in einem Cluster zu durchlaufen, ohne den Cluster zu verlassen. Der Rückgabewert ist die Clusternummer, an der das Geometrieargument beteiligt ist, oder null für Nulleingaben.
Verfügbarkeit: 3.4.0
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_ClusterIntersectingWin(geom) 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
ST_ClusterIntersecting, ST_ClusterWithin, ST_ClusterWithinWin