【问题标题】:Building geojson coordinate grid in JS在JS中构建geojson坐标网格
【发布时间】:2022-01-25 22:15:24
【问题描述】:

我正在尝试使用 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 轴,以便构建网格而不仅仅是坐标线?

【问题讨论】:

    标签: javascript coordinates geojson


    【解决方案1】:

    您正在做的事情归结为这样一个事实:将您的坐标值括在括号中 () 与作为 GeoJSON 的一部分的预期或预期的实质上不同。举下面的例子——在这个例子中,你认为的 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);
    

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

    【讨论】:

      猜你喜欢
      • 2013-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-28
      • 1970-01-01
      相关资源
      最近更新 更多