booleanDisjoint
Quick answer
booleanDisjoint returns true when two geometries share no point at all, making it the logical inverse of booleanIntersects. It handles Point, LineString, Polygon and their multi variants, including polygon holes. Use it as a cheap rejection test before expensive overlay operations.
turf. booleanDisjoint ( feature1 , feature2 , options ?) → boolean
Key points
- Returns a boolean and throws on malformed GeoJSON inputs.
- Touching boundaries count as intersecting, so disjoint is false there.
- Compare bboxes first to skip most candidates without full geometry tests.
Example
var parcel = turf.polygon([[
[116.38, 39.90],
[116.42, 39.90],
[116.42, 39.94],
[116.38, 39.94],
[116.38, 39.90]
]]);
var point = turf.point([116.50, 39.92]);
console.log(turf.booleanDisjoint(parcel, point)); // true
console.log(turf.booleanDisjoint(parcel, parcel)); // falsevar candidates = buildings.features.filter(function (b) {
return !turf.booleanDisjoint(b, roadBuffer, {
ignoreSelfIntersections: false
});
});
Notes
- Self-intersecting or unclosed polygons give unreliable disjoint results.
- Polygons spanning the antimeridian confuse the planar intersection test.
English edition written for Atlaslog. Code is taken from the original Chinese page and runs unchanged.
Atlaslog (2026). booleanDisjoint. https://www.jingweizhi.com/en/turf/api/boolean-disjoint.html (accessed 2026-11-03).