Research
Security News
Kill Switch Hidden in npm Packages Typosquatting Chalk and Chokidar
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
@turf/intersect
Advanced tools
@turf/intersect is a module of the Turf.js library that provides geospatial analysis tools. Specifically, it allows users to compute the intersection of two or more geometries, such as polygons or lines. This is useful in various applications like geographic information systems (GIS), urban planning, and environmental modeling.
Polygon Intersection
This feature allows you to find the intersection of two polygons. The code sample demonstrates how to create two polygons and compute their intersection.
const turf = require('@turf/turf');
const polygon1 = turf.polygon([[[0, 0], [2, 0], [2, 2], [0, 2], [0, 0]]]);
const polygon2 = turf.polygon([[[1, 1], [3, 1], [3, 3], [1, 3], [1, 1]]]);
const intersection = turf.intersect(polygon1, polygon2);
console.log(intersection);
Line Intersection
This feature allows you to find the intersection of two lines. The code sample demonstrates how to create two lines and compute their intersection.
const turf = require('@turf/turf');
const line1 = turf.lineString([[0, 0], [2, 2]]);
const line2 = turf.lineString([[0, 2], [2, 0]]);
const intersection = turf.intersect(line1, line2);
console.log(intersection);
MultiPolygon Intersection
This feature allows you to find the intersection of two multipolygons. The code sample demonstrates how to create two multipolygons and compute their intersection.
const turf = require('@turf/turf');
const multiPolygon1 = turf.multiPolygon([[[[0, 0], [2, 0], [2, 2], [0, 2], [0, 0]]]]);
const multiPolygon2 = turf.multiPolygon([[[[1, 1], [3, 1], [3, 3], [1, 3], [1, 1]]]]);
const intersection = turf.intersect(multiPolygon1, multiPolygon2);
console.log(intersection);
JSTS (JavaScript Topology Suite) is a JavaScript library for performing various geometric operations, including intersections. It is similar to @turf/intersect but offers a broader range of geometric functions and is based on the Java Topology Suite (JTS).
Martinez Polygon Clipping is a library for performing boolean operations on polygons, such as intersection, union, and difference. It is highly efficient and specifically designed for polygon operations, making it a good alternative to @turf/intersect for polygon-specific tasks.
RBush is a high-performance JavaScript library for 2D spatial indexing of points and rectangles. While it does not directly perform intersections, it can be used in conjunction with other libraries to efficiently manage and query spatial data, which can then be used for intersection operations.
Takes polygon or multi-polygon geometries and finds their polygonal intersection. If they don't intersect, returns null.
features
FeatureCollection<(Polygon | MultiPolygon)> the features to intersect
options
Object Optional Parameters (optional, default {}
)
options.properties
Object Translate GeoJSON Properties to Feature (optional, default {}
)var poly1 = turf.polygon([[
[-122.801742, 45.48565],
[-122.801742, 45.60491],
[-122.584762, 45.60491],
[-122.584762, 45.48565],
[-122.801742, 45.48565]
]]);
var poly2 = turf.polygon([[
[-122.520217, 45.535693],
[-122.64038, 45.553967],
[-122.720031, 45.526554],
[-122.669906, 45.507309],
[-122.723464, 45.446643],
[-122.532577, 45.408574],
[-122.487258, 45.477466],
[-122.520217, 45.535693]
]]);
var intersection = turf.intersect(turf.featureCollection([poly1, poly2]));
//addToMap
var addToMap = [poly1, poly2, intersection];
Returns (Feature | null) returns a feature representing the area they share (either a Polygon or
MultiPolygon). If they do not share any area, returns null
.
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/intersect
Or install the all-encompassing @turf/turf module that includes all modules as functions:
$ npm install @turf/turf
FAQs
turf intersect module
The npm package @turf/intersect receives a total of 653,420 weekly downloads. As such, @turf/intersect popularity was classified as popular.
We found that @turf/intersect demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 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 found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.