editGeometryCollection method
GeometryCollection
editGeometryCollection(
- GeometryCollection collection,
- GeometryEditorOperation operation
Implementation
GeometryCollection editGeometryCollection(
GeometryCollection collection, GeometryEditorOperation operation) {
// first edit the entire collection
// MD - not sure why this is done - could just check original collection?
GeometryCollection collectionForType =
operation.edit(collection, _geomFactory) as GeometryCollection;
// edit the component geometries
List geometries = [];
for (int i = 0; i < collectionForType.getNumGeometries(); i++) {
Geometry? geometry = edit(collectionForType.getGeometryN(i), operation);
if (geometry == null || geometry.isEmpty()) {
continue;
}
geometries.add(geometry);
}
if (collectionForType is MultiPoint) {
return _geomFactory!.createMultiPoint(geometries.cast<Point>());
}
if (collectionForType is MultiLineString) {
return _geomFactory!.createMultiLineString(geometries.cast<LineString>());
}
if (collectionForType is MultiPolygon) {
return _geomFactory!.createMultiPolygon(geometries.cast<Polygon>());
}
return _geomFactory!.createGeometryCollection(geometries.cast<Geometry>());
}