@seasketch/geoprocessing
Version:
Geoprocessing and reporting framework for SeaSketch 2.0
22 lines • 717 B
JavaScript
import { area, flatten } from "@turf/turf";
/**
* If feature is a MultiPolygon, scans and returns the polygon with the largest area.
*/
export function biggestPolygon(feature) {
if (feature.geometry.type === "MultiPolygon") {
// If multipolygon clip result, keep only the biggest piece
const flattened = flatten(feature);
let biggest = [0, 0];
for (let i = 0; i < flattened.features.length; i++) {
const a = area(flattened.features[i]);
if (a > biggest[0]) {
biggest = [a, i];
}
}
return flattened.features[biggest[1]];
}
else {
return feature;
}
}
//# sourceMappingURL=biggestPolygon.js.map