
Security News
Open Source Maintainers Feeling the Weight of the EU’s Cyber Resilience Act
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
@turf/bbox
Advanced tools
@turf/bbox is a module from the Turf.js library that calculates the bounding box (bbox) for a given GeoJSON object. A bounding box is an array that defines the minimum and maximum coordinates in the form [minX, minY, maxX, maxY]. This is useful for spatial analysis, mapping, and geographic data processing.
Calculate Bounding Box
This feature calculates the bounding box for a single point. The output is an array representing the bounding box.
const turf = require('@turf/turf');
const point = turf.point([102.0, 0.5]);
const bbox = turf.bbox(point);
console.log(bbox); // Output: [102, 0.5, 102, 0.5]
Bounding Box for a Polygon
This feature calculates the bounding box for a polygon. The output is an array representing the bounding box.
const turf = require('@turf/turf');
const polygon = turf.polygon([[
[100.0, 0.0],
[101.0, 0.0],
[101.0, 1.0],
[100.0, 1.0],
[100.0, 0.0]
]]);
const bbox = turf.bbox(polygon);
console.log(bbox); // Output: [100, 0, 101, 1]
Bounding Box for a Feature Collection
This feature calculates the bounding box for a feature collection containing multiple points. The output is an array representing the bounding box.
const turf = require('@turf/turf');
const point1 = turf.point([102.0, 0.5]);
const point2 = turf.point([103.0, 1.0]);
const featureCollection = turf.featureCollection([point1, point2]);
const bbox = turf.bbox(featureCollection);
console.log(bbox); // Output: [102, 0.5, 103, 1]
The geojson-bbox package provides similar functionality to @turf/bbox by calculating the bounding box for GeoJSON objects. It is a lightweight alternative but does not offer the extensive suite of geospatial tools available in the Turf.js library.
The bbox package is another alternative that focuses on calculating bounding boxes for various types of GeoJSON objects. It is simpler and more focused compared to @turf/bbox, which is part of a larger geospatial analysis library.
Calculates the bounding box for any GeoJSON object, including FeatureCollection. Uses geojson.bbox if available and options.recompute is not set.
geojson
GeoJSON any GeoJSON object
options
Object Optional parameters (optional, default {}
)
options.recompute
boolean? Whether to ignore an existing bbox property on geojsonvar line = turf.lineString([[-74, 40], [-78, 42], [-82, 35]]);
var bbox = turf.bbox(line);
var bboxPolygon = turf.bboxPolygon(bbox);
//addToMap
var addToMap = [line, bboxPolygon]
Returns BBox bbox extent in [minX, minY, maxX, maxY] order
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/bbox
Or install the all-encompassing @turf/turf module that includes all modules as functions:
$ npm install @turf/turf
FAQs
turf bbox module
The npm package @turf/bbox receives a total of 1,449,120 weekly downloads. As such, @turf/bbox popularity was classified as popular.
We found that @turf/bbox 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
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.