Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@turf/boolean-crosses
Advanced tools
@turf/boolean-crosses is a module from the Turf.js library that provides geospatial analysis tools. This specific module is used to determine if two geometries (such as lines or polygons) cross each other. It is useful in various geospatial applications, such as GIS, mapping, and spatial data analysis.
Check if LineString crosses another LineString
This feature allows you to check if one LineString crosses another LineString. In this example, two lines intersect each other, so the result is true.
const turf = require('@turf/turf');
const line1 = turf.lineString([[0, 0], [2, 2]]);
const line2 = turf.lineString([[0, 2], [2, 0]]);
const crosses = turf.booleanCrosses(line1, line2);
console.log(crosses); // true
Check if LineString crosses a Polygon
This feature allows you to check if a LineString crosses a Polygon. In this example, the line crosses the polygon, so the result is true.
const turf = require('@turf/turf');
const line = turf.lineString([[1, 1], [3, 3]]);
const polygon = turf.polygon([[[0, 0], [0, 4], [4, 4], [4, 0], [0, 0]]]);
const crosses = turf.booleanCrosses(line, polygon);
console.log(crosses); // true
Check if MultiLineString crosses a Polygon
This feature allows you to check if a MultiLineString crosses a Polygon. In this example, the multi-line string crosses the polygon, so the result is true.
const turf = require('@turf/turf');
const multiLine = turf.multiLineString([[[1, 1], [3, 3]], [[2, 2], [4, 4]]]);
const polygon = turf.polygon([[[0, 0], [0, 5], [5, 5], [5, 0], [0, 0]]]);
const crosses = turf.booleanCrosses(multiLine, polygon);
console.log(crosses); // true
JSTS is a JavaScript library of spatial predicates and functions for processing geometry. It is a port of the Java Topology Suite (JTS). JSTS provides a wide range of geometric operations, including intersection, union, and difference, similar to Turf.js but with a focus on topology.
Geolib is a library to provide basic geospatial operations like distance calculation, bounding boxes, and more. While it does not focus on geometric predicates like crossing, it offers a variety of other geospatial utilities that can complement the functionalities provided by @turf/boolean-crosses.
Martinez Polygon Clipping is a library for performing boolean operations on polygons, such as union, intersection, and difference. It is highly efficient and can be used for complex polygon operations, similar to some of the functionalities provided by Turf.js.
Boolean-Crosses returns True if the intersection results in a geometry whose dimension is one less than the maximum dimension of the two source geometries and the intersection set is interior to both source geometries.
Boolean-Crosses returns t (TRUE) for only multipoint/polygon, multipoint/linestring, linestring/linestring, linestring/polygon, and linestring/multipolygon comparisons.
Parameters
feature1
(Geometry | Feature<any>) GeoJSON Feature or Geometryfeature2
(Geometry | Feature<any>) GeoJSON Feature or GeometryExamples
var line1 = turf.lineString([[-2, 2], [4, 2]]);
var line2 = turf.lineString([[1, 1], [1, 2], [1, 3], [1, 4]]);
var cross = turf.booleanCrosses(line1, line2);
//=true
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 module individually:
$ npm install @turf/boolean-crosses
Or install the Turf module that includes it as a function:
$ npm install @turf/turf
FAQs
turf boolean-crosses module
The npm package @turf/boolean-crosses receives a total of 665,491 weekly downloads. As such, @turf/boolean-crosses popularity was classified as popular.
We found that @turf/boolean-crosses demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 9 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.