Estoy tratando de construir una cuadrícula de coordenadas usando el formato geojson. Mi conocimiento de JS es un poco básico, así que estoy luchando sobre cómo construir la cuadrícula no solo en la dirección x sino también en la dirección y, así que termino con una cuadrícula cuadrada, no solo una línea del eje x.
Este es mi código:
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);¿Cómo cambio esto de un ciclo de incremento del eje x a ambos ejes x e y para que construya una cuadrícula, no solo una línea de coordenadas?
Lo que está haciendo se reduce al hecho de que encerrar sus valores de coordenadas entre paréntesis () es materialmente diferente de lo que se pretende o espera como parte de GeoJSON. Tome el siguiente ejemplo: en este caso, lo que cree que es el punto x, y 1, 2 se evalúa simplemente como 2 en JavaScript:
console.log((1, 2))Está claro a partir de la documentación sobre GeoJSON FeatureCollection que los valores de las "coordenadas" de un polígono se expresan como una matriz de matrices (ambos entre corchetes):
var newFeature = { "type": "Feature", "properties": {}, "geometry": { "type": "Polygon", "coordinates": [[i, i]] } } geojson['features'].push(newFeature);No está claro de dónde obtuvo la guía de lo contrario para usar paréntesis para encerrar sus valores de coordenadas. Tampoco está claro cómo se pretende que un solo punto cree un polígono en este caso, pero no puedo eliminarlo si cumple con sus requisitos.