首页 / Turf.js / 使用示例
网格生成
把一块研究范围切成六边形单元,是密度统计、热区聚合的常用前置步骤。 单元尺寸以公里给定,不受地图投影影响。
源码与运行效果
说明
输入是一个包围盒,不是面。函数按给定尺寸铺满整个矩形,
超出范围的单元不会自动裁剪。要对齐到某条行政边界时,
用返回结果与面求交集,或者用 polygon 作为 mask 参数。
var grid = turf.hexGrid(bbox, 2, { units: 'kilometers' });
console.log(grid.features.length); // 单元数量
console.log(turf.area(grid.features[0]) / 1e6); // 单格面积,km²
| 函数 | 单元形状 | 适用 |
|---|---|---|
hexGrid | 六边形 | 密度统计,邻接关系比方形更均匀 |
squareGrid | 正方形 | 与栅格数据对齐 |
pointGrid | 点阵 | 规则采样点 |
单元尺寸从 1 公里调到 5 公里,数量按面积比例下降。 统计口径变化时,单格面积也会变化,展示密度必须说明所用尺寸, 否则两份结果无法比较。
六边形顶点在球面上按目标尺寸扩展,高纬度地区实际边长会轻微偏离设定值。 更大范围或更严格的等面积要求,应在投影坐标里生成网格再转回经纬度。