ST_ClusterWithin — Aggregatfunktion som klustrar geometrier efter separationsavstånd.
geometry[] ST_ClusterWithin(
geometry set g, float8 distance)
;
En aggregerad funktion som returnerar en array av GeometryCollections, där varje samling är ett kluster som innehåller vissa indatageometrier. Klustring delar in indatageometrierna i uppsättningar där varje geometri ligger inom det angivna avståndet
från minst en annan geometri i samma kluster. Avstånden är kartesiska avstånd i SRID:ens enheter.
ST_ClusterWithin är likvärdigt med att köra ST_ClusterDBSCAN med minpoints=> 0
.
Tillgänglighet: 2.2.0
Denna metod stöder cirkulära strängar och kurvor.
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_ClusterWithin(geom, 1.4))) 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))