在 JS 中构建 geojson 坐标网格

Building geojson coordinate grid in JS

我正在尝试使用 geojson 格式构建坐标网格。我的 JS 知识有点基础,所以我正在努力研究如何不仅在 x 方向而且在 y 方向上构建网格,所以我最终得到了一个正方形网格,而不仅仅是 x 轴线。

这是我的代码:

var yStart = -90; // Start coodinatate on y-axis
var xEnd = 180; // End point on x-axis
var yEnd = 90; // End point on y-axis
var gridSize = 10; // Size of the grid increments

geojson['type'] = 'FeatureCollection';
geojson['features'] = [];

for (let i = xStart; i <= xEnd; i += gridSize) {
    var newFeature = {
        "type": "Feature",
    "properties": {
    },
        "geometry": {
            "type": "Polygon",
            "coordinates": (i, i)
        }
    }
    geojson['features'].push(newFeature);
}
console.log(geojson);

如何将其从 x 轴递增循环转换为 x 轴和 y 轴,以便构建网格而不仅仅是一行坐标?

您所做的归结为以下事实:将您的坐标值括在括号 ()与预期或预期的内容有很大不同地理JSON。以下面的例子为例——在这个例子中,你认为的 x, y 点 1, 2 的计算结果只是 JavaScript 中的 2:

console.log((1, 2))

documentation on GeoJSON FeatureCollection 中可以清楚地看出,多边形的“坐标”值表示为数组的数组(均包含在方括号中):

var newFeature = {
  "type": "Feature",
  "properties": {},
  "geometry": {
    "type": "Polygon",
    "coordinates": [[i, i]]
  }
}
geojson['features'].push(newFeature);

不清楚您从哪里得到相反的指导,使用括号括起您的坐标值。也不清楚这种情况下单点是如何创建多边形的,但如果符合你的要求,我不能敲它。