- 1 Datacube Modelling in W3C
- 2 MELODIES Project
- 3 NetCDF
- 4 Linked Open Earth Observation Data for Precision Farming
- 5 Linked Brazilian Rainforest
- 6 Coverages: Spatio-Temporal Datacube Modelling in OGC
- 7 Coverage Services
Datacube Modelling in W3C
- R Cyganiak, D Reynolds. The RDF Data Cube Vocabulary, W3C Recommendation 2014 
Linked Open Earth Observation Data for Precision Farming
Linked Brazilian Rainforest
Coverages: Spatio-Temporal Datacube Modelling in OGC
Loosely speaking, the term "coverage" encompasses regular and irregular grids, point clouds, and meshes; specifically for grid coverages, we can find 1-D sensor data, 2-D satellite imagery, 3-D x/y/t image timeseries and x/y/z geophysical voxel models, as well as 4-D x/y/z/t atmospheric and ocean models.
A high-level abstract definition of coverage is given by ISO 19123 (aka OGC Abstract Topic 6) defining a coverage as a function from some n-dimensional set of points (the domain) to some value set (the range). While some models and implementations claim they rely on this abstract specification this does not achieve interoperability - many divergent implementations are conceivable, and have been done actually.
Therefore, OGC has established the Coverage Implementation Model (CIM, formerly known as "GML 3.2.1 Application Schema - Coverages", GMLCOV) which defines a concise, conformance testable, and hence interoperable coverage model. Still, CIM is agnostic of the data format encoding and defines a versatile
- encoding in some well-known data format. Depending on the format, it may be lossless in data and metadata (such as GML), lossy in data (such as JPEG), or lossy in metadata (such as GeoTIFF).
- encoding in a 2-part multipart MIME document where the first part is identical to the coverage description (i.e., its metadata expressed in GML) and the second part contains a (possibly binary) encoding of the pixel/voxel "payload".
The first variant is particularly suitable for visualization, such as sending PNGs directly to the browser. The second variant is suitable for large-scale lossless data retrieval and transfer, such as in some processing data fabric: the GML header establishes canonical metadata, the binary format allows efficient representation for storage and transfer.
Grid coverages can be grouped into three categories of increasing complexity, based on CIM which in turn is based on GML 3.2.1 and GML 3.3):
- GridCoverage: not georeferenced, pixels are addressed through natural numbers
- RectifiedGridCoverage: georeferenced, with equal spacing along all axes (in space and possibly time); example; orthorectified images
- ReferenceableGridCoverage: georeferenced, with non-equidistant spacing. Several sub-cases can be distinguished (which may well occur mixed):
- irregular spacing: grid lines are straight, but the lines have individual distances along each axis
- warped grids: grid lines are curved, each point essentially has its own coordinate; this may even mean embedding in some higher-dimensional space, such as 2-D elevation data curved in 3-D space
- transformed grids: one or more known transformations have to be applied on the grid to obtain the real-life positions of cells.
Access flexibility. The CIM model is a genuine datacube where no axis is preferred. Implementations have sufficient freedom to find efficient data structures, such as partitioning an n-D cube into n-D sub-cubes (often called tiles or chunks), such as in Array Databases like rasdaman. This differentiates CIM from other (incompatible) approaches like WaterML and TimeSeriesML which essentially model timeslices. Allowing a generic partitioning can dramatically speed up access, such as through WCS (see below).
Maturity and Uptake
The OGC coverage model has been elaborated in collaboration with experts from all relevant domains, such as remote sensing, atmospheric and ocean modelling, and geology. The standard has proven stable and is a building block for further specifications within OGC (such as GMLJP2) and outside (INSPIRE, ISO).
In INSPIRE, the OGC coverage model is used (with slight variation). ISO is currently establishing OGC CIM as forthcoming ISO 19123-2 standard, plus revising ISO 19123 accordingly to become ISO 19123-1. This way, ISO will have the following coverage standards set:
- ISO 19123-1: abstract coverage model, establishing high-level concepts
- ISO 19123-2: coverage implementation model, establishing interoperability
Based on the OGC Coverage Implementation Model, a comprehensive suite of services has been established. On principle, coverages can be served by any WxS which supports features, as a coverage is a feature subtype. However, in practice services typically deliver complete, unmodified coverages which is not sufficient. The Web Coverage Service (WCS) suite of standards offers a modular set functionality which allows interoperable implementations ranging from simple subsetting services up to complex ad-hoc analytics.
WCS Core allows download of a coverage or a subset thereof, for example (reducing the extent in Lat/Long, slicing at a particular timestamp):
http://www.acme.com/wcs ? SERVICE=WCS & VERSION=2.0 & REQUEST=GetCoverage & SUBSET=Lat(10:20) & SUBSET=Long(20:30) & SUBSET=(“2015-04-04”)
Without any further specification, coverages are downloaded in the original ("native") format as stored. Further, it is guaranteed that each cell is not modified (eg, rounded) in any way. This way, WCS is a reliable way for obtaining data within automated workflows.
Format encoding is supported by the core by indicating the MIME type of the output format requested, for example:
http://www.acme.com/wcs ? SERVICE=WCS & VERSION=2.0 & REQUEST=GetCoverage & FORMAT=image/tiff
Service extensions add various functionality facets, such as range subsetting ("band", "channel", "variable") extraction; scaling; CRS transformation; interpolation; analytics; and upload / modification of coverages stored on a server. In particular the latter extension, WCS-T, makes WCS-based services particularly amenable to self-orchestrating mashups.
Example 1: "from a hyperspectral image HypImg, the near-infrared, red, and green band, in PNG":
http://www.acme.com/wcs ? SERVICE=WCS & VERSION=2.0 & REQUEST=GetCoverage & RANGESUBSET=nir,red,green & FORMAT=image/png
Example 2: "add coverage NewCov to the service offering by fetching it from the URI location given; generate a new unique identifier and return it":
http://www.acme.com/wcs ? SERVICE=WCS & VERSION=2.0 & REQUEST=InsertCoverage & COVERAGEREF=http://bcme.com/archive/hurricane.nc & USEID=new
Requests can be expressed in a variety of functionally equivalent protocol bindings, including GET, POST, SOAP, REST (under discussion) and JSON ( in future). Again, protocol bindings are given as extensions to the WCS Core.
The Web Coverage Processing Service (WCPS) standard establishes a high-level, declarative query language on regular and irregular spatio-temporal grids. WCPS is streamlined for integrated data / metadata queries, thereby closing an age-old gap which has forced users in the past to work with heterogeneous paradigms. In this respect, WCPS is aligned with the vision of the W3C Spatial Web activity, providing a logically integrated, homogeneous information space.
Example: "From MODIS scenes M1, M2, M3: difference between red & nir, as TIFF - but only those where nir exceeds 127 somewhere":
for $c in ( M1, M2, M3 ) where some( $c.nir > 127 ) return encode( $c.red - $c.nir, “image/tiff“ )
Maturity and Uptake
From an implementation perspective, WCS and WCPS are mature - WCPS installations exceed 130 TB space/time datacubes on satellite image and atmospheric data. WCPS queries have been successfully distributed over 1,000+ Amazon cloud nodes. In the EarthServer-2 project, ad-hoc fusion on 1+ PB 3D and 4D datacubes will be established based on WCPS. WCS is implemented by major open-source and commercial tools, including rasdaman, GDAL, MapServer, GeoServer, EOxServer, OPeNDAP, ArcGIS, Pyxis
Re standardization, INSPIRE is currently working on establishing WCS as Download Service for coverages. ISO has announced that it is about to adopt WCS as ISO standard.
- WCS: standard, Wikipedia explanation, OGC Coverage discussion page
- WCPS: standard, Wikipedia explanation
- P. Baumann, P. Mazzetti, J. Ungar, R. Barbera, D. Barboni, A. Beccati, L. Bigagli, E. Boldrini, R. Bruno, A. Calanducci, P. Campalani, O. Clement, A. Dumitru, M. Grant, P. Herzig, G. Kakaletris, J. Laxton, P. Koltsida, K. Lipskoch, A.R. Mahdiraji, S. Mantovani, V. Merticariu, A. Messina, D. Misev, S. Natali, S. Nativi, J. Oosthoek, J. Passmore, M. Pappalardo, A.P. Rossi, F. Rundo, M. Sen, V. Sorbera, D. Sullivan, M. Torrisi, L. Trovato, M.G. Veratelli, S. Wagner: Big Data Analytics for Earth Sciences: the EarthServer Approach. International Journal of Digital Earth, 0(0)2015, pp 1 - 27. This is an Accepted Manuscript of an article published by Taylor & Francis Group in International Journal on Digital Earth on 27/02/2015, available online: http://www.tandfonline.com/10.1080/17538947.2014.1003106
- A. Dumitru, V. Merticariu, P. Baumann: Exploring Cloud Opportunities from an Array Database Perspective. Proc ACM SIGMOD Workshop on Data analytics in the Cloud (DanaC'2014), June 22 - 27, 2014, Snowbird, USA, pp. 1 - 4
- P. Campalani, A. Beccati, S. Mantovani, P. Baumann: Temporal Analysis of Atmospheric Data Using Open Standards. Proc. ISPRS Technical Commission IV Symposium, 14-16 May 2014, Suzhou, China, ISPRS Annals II(4)2014, pp. 21 - 27
- P. Campalani, S. Mantovani, P. Baumann: Spatiotemporal Interactions for Daily Mapping of PM10 with MODIS and Meteorological Data. Proc. 15th Annual Conf. of the Intl. Assoc. for Mathematical Geosciences (IAMG)