<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-main</artifactId>
<version>${geotools.version}</version>
</dependency>
/**
* FeatureCollection简化
*
* @param featureCollection
* @param tolerance 容差
* @return
* @throws Exception
*/
public static SimpleFeatureCollection simplifyFeatureCollection(SimpleFeatureCollection featureCollection,
double tolerance) throws Exception {
DefaultFeatureCollection simplifiedCollection = new DefaultFeatureCollection();
SimpleFeatureIterator iterator = featureCollection.features();
while (iterator.hasNext()) {
SimpleFeature feature = iterator.next();
Geometry geometry = (Geometry) feature.getDefaultGeometry();
// 使用Douglas-Peucker算法简化几何形状
Geometry simplifiedGeometry = DouglasPeuckerSimplifier.simplify(geometry, tolerance);
// 使用简化后的几何形状
feature.setDefaultGeometry(simplifiedGeometry);
simplifiedCollection.add(feature);
}
iterator.close();
return simplifiedCollection;
}