Compares two geometries of the same dimension and returns true if their intersection set results in a geometry different from both but of the same dimension. It applies to Polygon/Polygon, LineString/LineString, Multipoint/Multipoint, MultiLineString/MultiLineString and MultiPolygon/MultiPolygon.
In other words, it returns true if the two geometries overlap, provided that neither completely contains the other.
-
feature1
(Geometry | Feature<(LineString | MultiLineString | Polygon | MultiPolygon)>) input -
feature2
(Geometry | Feature<(LineString | MultiLineString | Polygon | MultiPolygon)>) input
var poly1 = turf.polygon([[[0,0],[0,5],[5,5],[5,0],[0,0]]]);
var poly2 = turf.polygon([[[1,1],[1,6],[6,6],[6,1],[1,1]]]);
var poly3 = turf.polygon([[[10,10],[10,15],[15,15],[15,10],[10,10]]]);
turf.booleanOverlap(poly1, poly2)
//=true
turf.booleanOverlap(poly2, poly3)
//=false
Returns boolean true/false
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/boolean-overlap
Or install the all-encompassing @turf/turf module that includes all modules as functions:
$ npm install @turf/turf