MEASUREMENT
COORDINATE MUTATION
TRANSFORMATION
FEATURE_CONVERSION
MISC
HELPER
RANDOM
GRIDS
AGGREGATION
META
ASSERTIONS
BOOLEANS
UNIT CONVERSION
DATA
JOINS
CLASSIFICATION

squareGrid

使用Turf的squareGrid函数可以在指定的范围内创建一个网格。网格可以按照一定的间隔和单位进行创建。

参数

  • bbox:表示创建网格的范围。可以是一个由4个数字组成的数组[minX, minY, maxX, maxY],或者是一个包含这4个数字的GeoJSON对象。

  • cellSize:表示网格单元格的大小。可以是一个数字代表单元格的边长,也可以是一个字符串(如"2 miles"或"10 kilometers")代表单元格的长度单位。

  • units:表示cellSize的长度单位。可选值包括degreesradiansmileskilometersyardsfeet,默认为kilometers

  • mask:一个GeoJSON对象,表示网格中不允许出现的部分,这些部分会被删除。

返回值

该函数返回一个表示网格的GeoJSON对象,其中包含一个FeatureCollection,每个特征都代表网格中的一个单元格。

每个单元格具有以下属性:

  • bbox:单元格所在矩形区域的范围

  • id:单元格的唯一标识

  • properties:一个空的属性对象

  • geometry:一个表示单元格几何形状的GeoJSON对象

示例

var bbox = [-90, 30, -85, 40];
var cellSize = 10;

var squareGrid = turf.squareGrid(bbox, cellSize, {units: 'miles'});

console.log(squareGrid);

输出:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {},
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [-90, 30], 
            [-90, 32.851339183141316],
            [-88.4178480736721, 32.851339183141316], 
            [-88.4178480736721, 30], 
            [-90, 30]
          ]
        ]
      },
      "id": "1"
    },
    // 其他单元格特征
  ]
}

上述例子将在bbox指定的范围内创建一个网格,每个单元格的大小为10英里。返回结果为一个GeoJSON对象,其中包含一个FeatureCollection,每个特征都代表网格中的一个单元格。每个单元格都是一个表示多边形的GeoJSON对象。

异常

如果指定的范围太小或单元格大小太大,则该函数可能会引发错误。如果发生此类情况,请调整范围或单元格大小,并再次尝试。