Security News
cURL Project and Go Security Teams Reject CVSS as Broken
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
@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 or MultiPoint coordinate positions that fall within (Multi)Polygon(s).
points
(Feature | FeatureCollection<(Point | MultiPoint)>) Point(s) or MultiPoint(s) as input searchpolygons
(FeatureCollection | Geometry | Feature<(Polygon | MultiPolygon)>) (Multi)Polygon(s) to check if points are withinvar 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 | MultiPoint)> Point(s) or MultiPoint(s) with positions that land within at least one polygon. The geometry type will match what was passsed in
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/points-within-polygon
Or install the all-encompassing @turf/turf module that includes all modules as functions:
$ npm install @turf/turf
FAQs
turf points-within-polygon module
The npm package @turf/points-within-polygon receives a total of 628,437 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 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.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.