@seasketch/geoprocessing
Version:
Geoprocessing and reporting framework for SeaSketch 2.0
21 lines • 735 B
JavaScript
import { multiPolygon } from "@turf/turf";
/**
* Converts collection of polygons or multipolygons to a single multipolygon
* @param input array or collection of polygons or multipolygons
* @returns multipolygon
*/
export const toMultiPolygon = (input) => {
const coords = (() => {
const features = Array.isArray(input) ? input : input.features;
return features.reduce((acc, poly) => {
if (poly.geometry.type === "Polygon") {
return [...acc, poly.geometry.coordinates];
}
else {
return [...acc, ...poly.geometry.coordinates];
}
}, []);
})();
return multiPolygon(coords);
};
//# sourceMappingURL=toMultiPolygon.js.map