gridBoxes = {
let { lon, lat } = forecastData;
return {
type: "FeatureCollection",
features: gridInBuffer.features.map(el => ({
id: el.properties.id,
index: [lon.indexOf(el.geometry.coordinates[0]), lat.indexOf(el.geometry.coordinates[1])]
})).map(el => ({
id: el.id,
boxCoords: [
[(lon[el.index[0]]+lon[el.index[0]-1])/2, (lon[el.index[0]]+lon[el.index[0]+1])/2],
[(lat[el.index[1]]+lat[el.index[1]-1])/2, (lat[el.index[1]]+lat[el.index[1]+1])/2]
]
})).map(el => ({
type: "Feature",
geometry: {
type: "Polygon",
coordinates: [[
[el.boxCoords[0][0], el.boxCoords[1][0]],
[el.boxCoords[0][0], el.boxCoords[1][1]],
[el.boxCoords[0][1], el.boxCoords[1][1]],
[el.boxCoords[0][1], el.boxCoords[1][0]],
[el.boxCoords[0][0], el.boxCoords[1][0]]
]]
},
properties: { id: el.id }
}))
};
}