# Grid
Most forecast data are distributed as gridded data, which is two-dimensional data representing a forecast element value along an evenly spaced matrix of geographical positions. Usually, the grid has a longitude (x-axis or width) and a latitude (y-axis or height) dimension and is computed using the Equirectangular projection (opens new window) with a constant spacing called the resolution of the grid.
The values of the element are assumed to be the one measured at the grid vertices.
You can use the Grid class to compute forecast element value at any location from input gridded data (a process called interpolation (opens new window)) like this:
let grid = new Grid({
bounds: [-180, -90, 180, 90],
origin: [-180, 90],
size: [2, 2],
resolution: [180, 90],
data
})
let value = grid.interpolate(longitude, latitude)
# Grid API
# Grid(options)
Constructor of a grid object, required properties of the options object are the following:
- bounds : the geographical bounds covered by the grid as an array of decimal values
[min longitude, min latitude, max longitude, max latitude]
, - origin : the geographical origin of the data grid as an array of decimal values
[longitude origin, latitude origin]
, - size : the size of the data grid as an array of integer values
[width, height]
, - resolution : the geographical resolution of the data grid as an array of decimal values
[longitude resolution, latitude resolution]
- data : the gridded data as a JavaScript array
# .interpolate(longitude, latitude)
Return the interpolated value at given longitude (in range [-180, 180]) and latitude (in range [-90, 90])
# .resample(origin, resolution, size)
Return the interpolated values for a new grid defined by:
- origin : the geographical origin of the data grid as an array of decimal values
[longitude origin, latitude origin]
, - size : the size of the data grid as an array of integer values
[width, height]
, - resolution : the geographical resolution of the data grid as an array of decimal values
[longitude resolution, latitude resolution]