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/points-within-polygon
Advanced tools
@turf/points-within-polygon is a module from the Turf.js library that allows you to determine which points from a set of points fall within a given polygon. This is particularly useful for geospatial analysis, such as finding all locations within a specific area.
Filter Points Within a Polygon
This feature allows you to filter a collection of points to find those that fall within a specified polygon. The code sample demonstrates creating a set of points and a polygon, then using the `pointsWithinPolygon` function to find which points are inside the polygon.
const turf = require('@turf/turf');
const points = turf.featureCollection([
turf.point([0, 0]),
turf.point([1, 1]),
turf.point([2, 2]),
turf.point([3, 3])
]);
const polygon = turf.polygon([[
[0, 0], [0, 2], [2, 2], [2, 0], [0, 0]
]]);
const pointsWithin = turf.pointsWithinPolygon(points, polygon);
console.log(pointsWithin);
Leaflet is a popular open-source JavaScript library for mobile-friendly interactive maps. It provides similar functionality for geospatial analysis, including the ability to check if points fall within a polygon. However, Leaflet is more focused on rendering maps and providing interactive features, whereas @turf/points-within-polygon is more focused on geospatial calculations.
Geolib is a library for geospatial calculations in JavaScript. It offers a variety of functions for distance calculations, bounding boxes, and point-in-polygon checks. While it provides similar functionality to @turf/points-within-polygon, Geolib is a more general-purpose library for geospatial calculations, whereas @turf/points-within-polygon is specifically designed for working with points and polygons.
Finds Points that fall within (Multi)Polygon(s).
Parameters
points
(Feature | FeatureCollection<Point>) Points as input searchpolygons
(FeatureCollection | Geometry | Feature<(Polygon | MultiPolygon)>) Points must be within these (Multi)Polygon(s)Examples
var points = turf.points([
[-46.6318, -23.5523],
[-46.6246, -23.5325],
[-46.6062, -23.5513],
[-46.663, -23.554],
[-46.643, -23.557]
]);
var searchWithin = turf.polygon([[
[-46.653,-23.543],
[-46.634,-23.5346],
[-46.613,-23.543],
[-46.614,-23.559],
[-46.631,-23.567],
[-46.653,-23.560],
[-46.653,-23.543]
]]);
var ptsWithin = turf.pointsWithinPolygon(points, searchWithin);
//addToMap
var addToMap = [points, searchWithin, ptsWithin]
turf.featureEach(ptsWithin, function (currentFeature) {
currentFeature.properties['marker-size'] = 'large';
currentFeature.properties['marker-color'] = '#000';
});
Returns FeatureCollection<Point> points that land within at least one polygon
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/points-within-polygon
Or install the Turf module that includes it as a function:
$ npm install @turf/turf
6.5.0
@turf/points-with-polygon
Add MultiPoint support
(PR https://github.com/Turfjs/turf/pull/2137 - Author @twelch)@turf/dissolve
Complete rewrite of the dissolve module to resolve many bugs
(PR https://github.com/Turfjs/turf/pull/2110 - Author @rowanwins)
@turf/mask
Complete rewrite of the mask module to resolve many bugs
(PR https://github.com/Turfjs/turf/pull/2130 - Author @rowanwins)
@turf/boolean-valid
Add missing dependency to
(PR https://github.com/Turfjs/turf/pull/2094 - Author @rycgar)
@turf/boolean-overlap
Improve clarity
(PR https://github.com/Turfjs/turf/pull/2133 - Author @patrickbrett)FAQs
turf points-within-polygon module
The npm package @turf/points-within-polygon receives a total of 679,020 weekly downloads. As such, @turf/points-within-polygon popularity was classified as popular.
We found that @turf/points-within-polygon 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.