Product
Socket Now Supports uv.lock Files
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
@turf/hex-grid
Advanced tools
@turf/hex-grid is a module from the Turf.js library that allows you to create a hexagonal grid within a bounding box. This can be useful for spatial analysis, data visualization, and geographic information system (GIS) applications.
Create a Hexagonal Grid
This feature allows you to create a hexagonal grid within a specified bounding box. The `bbox` parameter defines the bounding box, `cellSide` specifies the length of each hexagon's side, and `options` can include units of measurement.
const turf = require('@turf/turf');
const bbox = [-96, 31, -84, 40];
const cellSide = 50;
const options = { units: 'miles' };
const hexgrid = turf.hexGrid(bbox, cellSide, options);
console.log(JSON.stringify(hexgrid));
d3-hexbin is a module from the D3.js library that provides tools for creating hexagonal binning layouts. It is particularly useful for data visualization in web applications. Compared to @turf/hex-grid, d3-hexbin is more focused on visual representation and less on spatial analysis.
h3-js is a JavaScript library for working with Uber's H3 hexagonal hierarchical geospatial indexing system. It offers more advanced features for spatial indexing and analysis compared to @turf/hex-grid, which is more focused on simple hexagonal grid creation.
Takes a bounding box and the diameter of the cell and returns a FeatureCollection of flat-topped hexagons or triangles (Polygon features) aligned in an "odd-q" vertical grid as described in Hexagonal Grids.
Parameters
bbox
Array<number> extent in [minX, minY, maxX, maxY] ordercellSide
number length of the side of the the hexagons or triangles, in units. It will also coincide with the
radius of the circumcircle of the hexagons.options
Object Optional parameters (optional, default {}
)
options.units
string used in calculating cell size, can be degrees, radians, miles, or kilometers (optional, default 'kilometers'
)options.properties
Object passed to each hexagon or triangle of the grid (optional, default {}
)options.mask
Feature<(Polygon | MultiPolygon)>? if passed a Polygon or MultiPolygon, the grid Points will be created only inside itoptions.triangles
boolean whether to return as triangles instead of hexagons (optional, default false
)Examples
var bbox = [-96,31,-84,40];
var cellSide = 50;
var options = {units: 'miles'};
var hexgrid = turf.hexGrid(bbox, cellSide, options);
//addToMap
var addToMap = [hexgrid];
Returns FeatureCollection<Polygon> a hexagonal grid
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/hex-grid
Or install the Turf module that includes it as a function:
$ npm install @turf/turf
5.0.0 🎉
Object
.@turf/voronoi
][voronoi]Takes a FeatureCollection of points, and a bounding box, and returns a FeatureCollection of Voronoi polygons. (PR https://github.com/Turfjs/turf/pull/1043 - Author @stevage)
@turf/shortest-path
][shortest-path]Returns the shortest path from start to end without colliding with any feature in obstacles (PR https://github.com/Turfjs/turf/pull/956 - Author @stebogit)
@turf/boolean-parallel
][boolean-parallel]Boolean-Parallel returns True if each segment of line1
is parallel to the correspondent segment of line2
(PR https://github.com/Turfjs/turf/pull/941 - Author @stebogit)
@turf/nearest-point-on-line
][nearest-point-on-line]Takes a {@link Point} and a {@link LineString} and calculates the closest Point on the (Multi)LineString. (PR https://github.com/Turfjs/turf/pull/939 - Author @stebogit)
Updates [@turf/unkink-polygon
][unkink-polygon] testing & added flattenEach
instead of using flatten
.
(PR https://github.com/Turfjs/turf/pull/889)
Add multi-geomtry support to @turf/line-split
(PR https://github.com/Turfjs/turf/pull/1078)
Improve @turf/meta
lineEach
method to provide properties, id and bbox
(PR https://github.com/Turfjs/turf/pull/1010)
Fixes @turf/helpers
earth radius variable
(PR https://github.com/Turfjs/turf/pull/1012)
Fixes @turf/polygon-tangents
bug
(PR https://github.com/Turfjs/turf/pull/1058)
Fixes @turf/line-chunk
bug when the number of segments is integer
(PR https://github.com/Turfjs/turf/pull/1046)
Fixes segmentEach
and segmentReduce
methods in @turf/meta
to ensure something is returned
(PR https://github.com/Turfjs/turf/pull/968)
Object
:Before
var from = [-75.343, 39.984];
var to = [-75.534, 39.123];
var units = 'miles';
var distance = turf.distance(from, to, units);
After
var from = [-75.343, 39.984];
var to = [-75.534, 39.123];
var options = {units: 'miles'};
var distance = turf.distance(from, to, options);
@turf/random
PR https://github.com/Turfjs/turf/issues/994@turf/idw
Issue https://github.com/Turfjs/turf/issues/887@turf/point-grid/hex/square/triangle
PR https://github.com/Turfjs/turf/pull/1029@turf/inside
=> @turf/boolean-point-in-polygon
https://github.com/Turfjs/turf/issues/860#issuecomment-317216235@turf/within
=> @turf/points-within-polygon
https://github.com/Turfjs/turf/issues/860#issuecomment-317216235@turf/bezier
=> @turf/bezier-spline
Issue https://github.com/Turfjs/turf/issues/661@turf/nearest
=> @turf/nearest-point
https://github.com/Turfjs/turf/pull/858#issuecomment-317197295@turf/point-on-line
=> @turf/nearest-point-on-line
https://github.com/Turfjs/turf/pull/858#issuecomment-317197295@turf/lineDistance
=> @turf/length
https://github.com/Turfjs/turf/issues/860#issuecomment-317229869@turf/helpers
radians2degrees
=> radiansToDegrees
degrees2radians
=> degreesToRadians
distanceToDegrees
=> lengthToDegrees
distanceToRadians
=> lengthToRadians
radiansToDistance
=> radiansToLength
bearingToAngle
=> bearingToAzimuth
convertDistance
=> convertLength
FAQs
turf hex-grid module
The npm package @turf/hex-grid receives a total of 318,605 weekly downloads. As such, @turf/hex-grid popularity was classified as popular.
We found that @turf/hex-grid 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.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.