diff --git a/packages/turf-boolean-touches/index.ts b/packages/turf-boolean-touches/index.ts index a1f4d7791f..31295977c1 100644 --- a/packages/turf-boolean-touches/index.ts +++ b/packages/turf-boolean-touches/index.ts @@ -248,7 +248,7 @@ function booleanTouches( ) ) endMatch = true; - for (var ii = 0; ii < geom1.coordinates[i].length; ii++) { + for (var ii = 0; ii < geom1.coordinates.length; ii++) { if ( booleanPointOnLine( { type: "Point", coordinates: geom1.coordinates[ii] }, diff --git a/packages/turf-boolean-touches/test/false/LineString/MultiLineString/LineStringInteriorVertexCrossesMultiLineString.geojson b/packages/turf-boolean-touches/test/false/LineString/MultiLineString/LineStringInteriorVertexCrossesMultiLineString.geojson new file mode 100644 index 0000000000..3dd6f36479 --- /dev/null +++ b/packages/turf-boolean-touches/test/false/LineString/MultiLineString/LineStringInteriorVertexCrossesMultiLineString.geojson @@ -0,0 +1,35 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "LineString", + "coordinates": [ + [0, 0], + [-3, 4], + [5, 0], + [8, 8] + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "MultiLineString", + "coordinates": [ + [ + [4, 0], + [6, 0] + ], + [ + [0, 0], + [0, -5] + ] + ] + } + } + ] +}