ST_ClusterIntersecting — 聚合函数,将输入的几何图形聚类成连接的集合。
geometry[] ST_ClusterIntersecting(
geometry 集合 g)
;
一个聚合函数,返回一个 GeometryCollection 数组,将输入的几何图形划分为不相交的连接的聚类。每个聚类中的几何图形至少与该聚类中的另一个几何图形相交,并且不与任何其他聚类中的几何图形相交。
可用性:2.2.0
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))