https://github.com/Turfjs/turf/tree/master/packages/turf-point-grid, with additional features. I will attemp to make a PR soon.
This is a copy of@turf/point-grid
pointGrid
Creates a Point grid from a bounding box, FeatureCollection or Feature.
Parameters
bbox
Array<number> extent in [minX, minY, maxX, maxY] ordercellSide
number the distance between points, in unitsoptions
Object Optional parameters (optional, default{}
)options.units
string used in calculating cellSide, can be degrees, radians, miles, or kilometers (optional, default'kilometers'
)options.mask
Feature<(Polygon | MultiPolygon)>? if passed a Polygon or MultiPolygon, the grid Points will be created only inside itoptions.properties
Object passed to each point of the grid (optional, default{}
)options.spacings
Object Object of {latSpacing, lngSpacing} indicating width and height between cells (optional, default{}
)options.rotation
Object The Decimal Degree Value to rotate the resulting features in counter-clockwise. (optional, default0
)
Examples
var extent = -70823364 -33553984 -70473175 -33302986;var cellSide = 3;var options = units: 'miles'; var grid = turf; //addToMapvar addToMap = grid;
Returns FeatureCollection<Point> grid of points
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.
Installation
Install this module individually:
$ npm install turf-pointgriddensity
Testing:
npm install --dev jest npm install babel-preset-env npm test
What I changed:
Set custom lat-lng spacing between cells. Originally, we passed 1 value for both lat and lng.
Set rotation, so that we can rotate points.
note: the example is passing a polygon mask.