grids
hexGrid
npm install @turf/hex-grid
接收一个边界框和要生成的单元格的直径,计算并返回平顶六边形或三角形要素集
入参 options 的 triangles 为 true 的这个方法和 triangleGrid 方法的区别:这个方法是基于基于六边形内部切分三角形,另一个是矩形内部切分三角形
参数
入参 | 类型 | 描述 |
---|---|---|
bbox | BBox | 以 minX、minY、maxX、maxY 的顺序排列 |
cellSide | Number | 三角形或六边形的边长,与六边形的外接圆半径重合 |
options | Object | 可配置项 |
options
属性 | 类型 | 默认值 | 描述 | |
---|---|---|---|---|
units | String | “kilometers” | 单位,可选的有 degrees、radians、miles、kilometers | |
properties | Object | {} | 出参 type 为 Polygon 的 GeoJSON 的 properties 属性 | |
mask | Feature<Polygon\ | MultiPolygon> | 如果传递了 Polygon 或 MultiPollygon,则仅在传入的 mask 面要素内创建,如果范围大于 bbox,则相当于不传 | |
triangles | Boolean | false | 是否返回三角形而不是六边形 |
返回
范例
var bbox = [-96, 31, -84, 40];
var cellSide = 50;
var options = { units: "miles" };
var hexgrid = turf.hexGrid(bbox, cellSide, options); // 正六边形的要素集
var hexgrid2 = turf.hexGrid(bbox, cellSide, {
...options,
triangles: true,
mask: turf.polygon([
[
[-91.63, 37.48],
[-87.75, 37.52],
[-87.77, 34.29],
[-92.04, 34.15],
[-91.63, 37.48]
]
])
}); // 仅在mask的坐标范围内生成三角形要素集
pointGrid
npm install @turf/point-grid
接收边界框,返回指定距离排列的点要素集
参数
入参 | 类型 | 描述 |
---|---|---|
bbox | BBox | 以 minX、minY、maxX、maxY 的顺序排列 |
cellSide | Number | 点要素之间的距离 |
options | Object | 可配置项 |
options
属性 | 类型 | 默认值 | 描述 | |
---|---|---|---|---|
units | String | “kilometers” | 单位,可选的有 degrees、radians、miles、kilometers | |
mask | Feature<Polygon\ | MultiPolygon> | 如果传递了 Polygon 或 MultiPollygon,则仅在传入的 mask 面要素内创建,如果范围大于 bbox,则相当于不传 | |
properties | Object | {} | 出参 type 为 Point 的 GeoJSON 的 properties 属性 |
返回
范例
var extent = [-70.823364, -33.553984, -70.473175, -33.302986];
var cellSide = 3;
var options = { units: "miles" };
var grid = turf.pointGrid(extent, cellSide, options); // 返回点要素集,点与点之间距离三英里
squareGrid
npm install @turf/square-grid
接收边界框,返回指定边长长度的相邻排列的面要素集
参数
入参 | 类型 | 描述 |
---|---|---|
bbox | BBox | 以 minX、minY、maxX、maxY 的顺序排列 |
cellSide | Number | 面要素的边长 |
options | Object | 可配置项 |
options
属性 | 类型 | 默认值 | 描述 | |
---|---|---|---|---|
units | String | “kilometers” | 单位,可选的有 degrees、radians、miles、kilometers | |
mask | Feature<Polygon\ | MultiPolygon> | 如果传递了 Polygon 或 MultiPollygon,则仅在传入的 mask 面要素内创建,如果范围大于 bbox,则相当于不传 | |
properties | Object | {} | 出参 type 为 Point 的 GeoJSON 的 properties 属性 |
返回
范例
var bbox = [-95, 30, -85, 40];
var cellSide = 50;
var options = { units: "miles" };
var squareGrid = turf.squareGrid(bbox, cellSide, options);
triangleGrid
npm install @turf/triangle-grid
接收边界框,返回指定长度(直角边)的相邻排列的三角形面要素集
这个方法和 triangles 为 true 的 hexGrid 方法的区别:这个方法是基于矩形内部切分三角形,另一个是基于六边形内部切分
参数
入参 | 类型 | 描述 |
---|---|---|
bbox | BBox | 以 minX、minY、maxX、maxY 的顺序排列 |
cellSide | Number | 三角形面要素的直角边边长 |
options | Object | 可配置项 |
options
属性 | 类型 | 默认值 | 描述 | |
---|---|---|---|---|
units | String | “kilometers” | 单位,可选的有 degrees、radians、miles、kilometers | |
mask | Feature<Polygon\ | MultiPolygon> | 如果传递了 Polygon 或 MultiPollygon,则仅在传入的 mask 面要素内创建,如果范围大于 bbox,则相当于不传 | |
properties | Object | {} | 出参 type 为 Point 的 GeoJSON 的 properties 属性 |
返回
范例
var bbox = [-95, 30, -85, 40];
var cellSide = 50;
var options = { units: "miles" };
var triangleGrid = turf.triangleGrid(bbox, cellSide, options);