名称

ST_ClusterIntersecting — 聚合函数,将输入几何聚类到连接的集合中。

语法

geometry[] ST_ClusterIntersecting(geometry set g);

说明

一个聚合函数,返回一个 GeometryCollections 数组,将输入几何分割到不重叠的连接聚类中。一个聚类中的每个几何至少与聚类中的一个其他几何相交,并且不与其他聚类中的任何几何相交。

可用性: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))
        

另请参阅

ST_ClusterIntersectingWinST_ClusterWithinST_ClusterWithinWin