Takes a collection of input polygons and returns a combined polygon. If the input polygons are not contiguous, this function returns a multi-polygon feature.
-
features
FeatureCollection<(Polygon | MultiPolygon)> input polygon features -
options
Object Optional Parameters (optional, default{}
)-
options.properties
GeoJsonProperties properties to assign to output feature (optional, default{}
)
-
const poly1 = turf.polygon(
[
[
[-82.574787, 35.594087],
[-82.574787, 35.615581],
[-82.545261, 35.615581],
[-82.545261, 35.594087],
[-82.574787, 35.594087],
],
],
{ fill: "#0f0" }
);
const poly2 = turf.polygon(
[
[
[-82.560024, 35.585153],
[-82.560024, 35.602602],
[-82.52964, 35.602602],
[-82.52964, 35.585153],
[-82.560024, 35.585153],
],
],
);
const union = turf.union(turf.featureCollection([poly1, poly2]));
//addToMap
const addToMap = { poly1, poly2, union };
poly1.properties.fill = "#0f0";
poly2.properties.fill = "#00f";
union.properties.stroke = "red";
union.properties["stroke-width"] = 4;
union.properties.fill = "transparent";
Returns (Feature<(Polygon | MultiPolygon)> | null) a combined polygon or multi-polygon feature, or null if there were no input polygons to combine
This module is part of the Turfjs project, an open source module collection dedicated to geographic algorithms. It is maintained in the Turfjs/turf repository, where you can create PRs and issues.
Install this single module individually:
$ npm install @turf/union
Or install the all-encompassing @turf/turf module that includes all modules as functions:
$ npm install @turf/turf