使用Geotools合并多个Geometry成一个图形

发布时间 2023-11-22 13:27:10作者: JUNG_WOO

合并Geometry针对初始geometry的个数不同,可选取多种方法:

一、在geometry数量少的情况下可以直接循环调用geometry的union方法:

// 合并图形: geometryDefault为初始图形,polygon为待合并的图形
Geometry geometry = geometryDefault.union(polygon);

 

二、在geometry数量比较多的时候用上面的方法会比较耗时,可以改用GeometryCollection进行合并:

 
// geos为需要合并的geometry数组
private static Geometry unionGeometrys(Geometry[] geos){ GeometryFactory geometryFactory = new GeometryFactory(); GeometryCollection geometryCollection = geometryFactory.createGeometryCollection(geos); return geometryCollection.union(); }

另外,如果是两个SimpleFeatureCollection也可以用UnionFeatureCollection进行合并。