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.
-
bbox
BBox extent in [minX, minY, maxX, maxY] order -
cellSide
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>? if passed a Polygon or MultiPolygon, the grid Points will be created only inside it -
options.triangles
boolean whether to return as triangles instead of hexagons (optional, defaultfalse
)
-
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 single module individually:
$ npm install @turf/hex-grid
Or install the all-encompassing @turf/turf module that includes all modules as functions:
$ npm install @turf/turf