使用Geotools合并多个Geometry成一个图形
合并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进行合并。