-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Definition of a GeoDataCube #12
Comments
In the following you can read the current write-up from the OGC GitLab. GeoDataCubesDatacubes are multi-dimensional arrays with additional information about their dimensionality. Datacubes can provide a nice and tidy interface for spatiotemporal data as well as for the operations you may want to execute on them. Although arrays are close to raster data, datacubes can also hold vector data as well. GeoDataCubes (GDC) are a special case of datacubes in that they have one or multiple spatial dimension, e.g. The following additional information are usually available for datacubes:
These additional information could be provided upfront via metadata. DimensionsA dimension refers to a certain axis of a datacube. This includes all variables (e.g. bands), which are represented as dimensions. An exemplary raster datacube could have the spatial dimensions The following properties are usually available for dimensions:
Specific implementations of datacubes may prescribe details such as sorting orders or representations of labels. For example, some implementations may always sort temporal labels in their inherent order and encode them in an ISO8601 compliant way. Datacubes contain scalar values (e.g. strings, numbers or boolean values), with all other associated attributes stored in dimensions (e.g. coordinates or timestamps). Attributes such as the CRS or the sensor can also be turned into dimensions. Be advised that in such a case, the uniqueness of pixel coordinates may be affected. When usually, Common OperationsA couple of operations are commonly applied to datacubes:
Every operation that returns a subset of the datacube or the complete datacube is considered to be datacube access. Every operation that is computing new values is considered to be datacube processing. ComparisonCoverages
Further information: Open-EO/openeo-api#502 openEO
xarrayA datacube as described here is closely related to the concept of a single xarray DataArray. netCDFA datacube is comparable to a netCDF variable with its dimensions. Raster file formats
|
Based on what is discussed here and previously in https://gitlab.ogc.org/ogc/T20-GDC/-/issues/14 and #502, I started wondering whether the attempt to find a single definition for all these different incarnations of (geo)datacubes is at all possible. Maybe the only commonality is that a ‘(geospatial) Datacube’ stands for the desire to render a multitude of (geospatial) data interoperable and organise them such that working with them as an ensemble is more efficient than individually. This is of course too undetermined to build a good definition on it which could help to distinguish what is considered in and what out. Settling with that type of loose agreement would mean to renegotiate the term each time a concrete project is started (as seems here the case). This does not sound very efficient either. A possible way out could be to understand ‘(geo)datacubing’ as a process with several stages which render (geospatial) data increasingly more organised and interoperable, such enhancing the efficiency to deal with them. Below is what that could look like (6 stages only because the analogy to cube faces). I would hope agreeing on certain ‘datacube stages’ might be easier than reserving the name just for one or from a specific stage. Curious to hear other opinions, maybe it's just too hot an August afternoon here.
Applicable definitions: Dimension Domain Standardised dimension Layer Value |
Building on recent discussion in Testbed-20 (https://gitlab.ogc.org/ogc/T20-GDC/-/issues/14), setting up a thread to discuss what the definition of what a "geodatacube" is. Goal is for the SWG to come up with a definition that can be referenced by OGC.
The text was updated successfully, but these errors were encountered: