Security News
NVD Backlog Tops 20,000 CVEs Awaiting Analysis as NIST Prepares System Updates
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
@turf/boolean-within
Advanced tools
@turf/boolean-within is a module from the Turf.js library that provides geospatial analysis tools. This specific module is used to determine if a given geometry (point, line, polygon) is within another geometry. It is useful for spatial queries and geographic information system (GIS) applications.
Point within Polygon
This feature checks if a point is within a polygon. The code sample creates a point and a polygon, then uses the booleanWithin function to determine if the point is inside the polygon.
const turf = require('@turf/turf');
const point = turf.point([2, 2]);
const polygon = turf.polygon([[
[0, 0], [0, 5], [5, 5], [5, 0], [0, 0]
]]);
const isWithin = turf.booleanWithin(point, polygon);
console.log(isWithin); // true
LineString within Polygon
This feature checks if a LineString is within a polygon. The code sample creates a LineString and a polygon, then uses the booleanWithin function to determine if the LineString is inside the polygon.
const turf = require('@turf/turf');
const line = turf.lineString([[1, 1], [2, 2], [3, 3]]);
const polygon = turf.polygon([[
[0, 0], [0, 5], [5, 5], [5, 0], [0, 0]
]]);
const isWithin = turf.booleanWithin(line, polygon);
console.log(isWithin); // true
Polygon within Polygon
This feature checks if a polygon is within another polygon. The code sample creates an inner polygon and an outer polygon, then uses the booleanWithin function to determine if the inner polygon is inside the outer polygon.
const turf = require('@turf/turf');
const innerPolygon = turf.polygon([[
[1, 1], [1, 4], [4, 4], [4, 1], [1, 1]
]]);
const outerPolygon = turf.polygon([[
[0, 0], [0, 5], [5, 5], [5, 0], [0, 0]
]]);
const isWithin = turf.booleanWithin(innerPolygon, outerPolygon);
console.log(isWithin); // true
Geolib is a library for geospatial calculations. It provides functions to check if a point is inside a polygon, similar to @turf/boolean-within. However, it does not support more complex geometries like LineStrings or Polygons within Polygons.
JSTS (JavaScript Topology Suite) is a library for performing various geometric operations. It includes functions to check if geometries are within other geometries, similar to @turf/boolean-within. JSTS is more comprehensive and supports a wider range of geometric operations.
Leaflet is a popular library for interactive maps. It includes basic geospatial analysis functions, such as checking if a point is within a polygon. However, its primary focus is on map rendering and interaction, not on complex geospatial analysis.
Boolean-within returns true if the first geometry is completely within the second geometry.
The interiors of both geometries must intersect and, the interior and boundary of the primary (geometry a)
must not intersect the exterior of the secondary (geometry b).
Boolean-within returns the exact opposite result of the @turf/boolean-contains
.
Parameters
feature1
(Geometry | Feature<any>) GeoJSON Feature or Geometryfeature2
(Geometry | Feature<any>) GeoJSON Feature or GeometryExamples
var line = turf.lineString([[1, 1], [1, 2], [1, 3], [1, 4]]);
var point = turf.point([1, 2]);
turf.booleanWithin(point, line);
//=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-within
Or install the Turf module that includes it as a function:
$ npm install @turf/turf
FAQs
turf boolean-within module
The npm package @turf/boolean-within receives a total of 645,545 weekly downloads. As such, @turf/boolean-within popularity was classified as popular.
We found that @turf/boolean-within 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.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.
Security News
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.