.. _wcs20_eo: Web Coverage Service 2.0 Earth Observation extensions ===================================================== The WCS 2.0 Earth Observation application profile (EO-WCS, OGC 10-140r1) extends the base WCS 2.0 protocol by adding temporal support and complex coverage structural description to the base WCS 2.0 protocol, in addition to requiring that a number of other extensions are supported - the base GeoServer WCS 2.0 module already supports all of those, such as subsetting and reprojection for example). The full specification can be downloaded from the `OGC web site `_. In the WCS 2.0 EO data model we not only have coverages, but also stitched mosaics (sets of coverages making up a mosaic of images, all granules having the same time and elevation) and dataset series, groups of coverages having different times and/or other attributes (elevation, custom dimensions). A dataset series is exposed in the capabilities document (inside the extension section) and its internal structure can be retrieved calling the new DescribeEOCoverageSet call. At the time of writing the EO extension adds support for dataset series, but does not provide direct support for stitched mosaic description. Each grid layer exposing its inner structure will then expose a flag to enable its exposure as a dataset series. At the time of writing, the only grid readers capable of exposing their internal structure are image mosaic and netCDF. Installing the WCS 2.0 EO extension ----------------------------------- The steps to install the EO extension as the same as most other extensions: * Go to the download page and look among the extensions * Download the WCS 2.0 EO extension package (it's a zip file) * Stop GeoServer (or the web container hosting it) * Unpack the contents of the zip file in the geoserver/WEB-INF/lib folder * Restart GeoServer Exposing dataset series ----------------------- The first step to work with EO is to go into the WCS service panel and enable the EO extensions: .. figure:: images/serviceConfig.png :align: center *Enabling the WCS 2.0 EO extensions* The second step is finding and activating the EO extensions for a suitable grid layer, which needs to be one with time dimension support and ability to describe its inner structure. At the time of writing, this means a image mosaic with time support or a netCDF data layer with time dimension. Once the layer is located, the EO extensions for it can be enabled by ticking a checkbox in the publishing tab: .. figure:: images/layerConfig.png :align: center *Exposing a layer as a dataset* Once that is done the capabilities document (e.g. ``http://localhost:8080/geoserver/ows?service=WCS&version=2.0.1&request=GetCapabilities`` for WCS 2.0 will contain an indication that a coverage set is present: .. code-block:: xml 0.2372206885127698 40.562080748421806 14.592757149389236 44.55808294568743 nurc__watertemp_dss 2008-10-31T00:00:00.000Z 2008-11-01T00:00:00.000Z And issuing a DescribeEOCoverageSet (e.g. ``http://localhost:8080/geoserver/ows?service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoId=nurc__watertemp_dss``) on it will return the following: .. code-block:: xml 40.562080748421806 0.23722068851276978 44.55808294568743 14.592757149389236 2008-11-01T00:00:00.000Z 2008-11-01T00:00:00.000Z nurc__watertemp_granule_watertemp.1 Linear 0 0 2008-11-01T00:00:00.000Z 2008-11-01T00:00:00.000Z 2008-11-01T00:00:00.000Z 2008-11-01T00:00:00.000Z 40.562080748421806 0.23722068851276978 40.562080748421806 14.592757149389236 44.55808294568743 14.592757149389236 44.55808294568743 0.23722068851276978 40.562080748421806 0.23722068851276978 42.56008184705462 7.4149889189510025 nurc__watertemp NOMINAL ARCHIVED 0 0 24 24 i j 44.47816290174212 0.5243314177302991 0.0 0.5742214584350587 -0.159840087890625 0.0 GRAY_INDEX -1.7976931348623157E308 1.7976931348623157E308 RectifiedGridCoverage image/tiff 40.562080748421806 0.23722068851276978 44.55808294568743 14.592757149389236 2008-11-01T00:00:00.000Z 2008-11-01T00:00:00.000Z nurc__watertemp_granule_watertemp.2 Linear 0 0 2008-11-01T00:00:00.000Z 2008-11-01T00:00:00.000Z 2008-11-01T00:00:00.000Z 2008-11-01T00:00:00.000Z 40.562080748421806 0.23722068851276978 40.562080748421806 14.592757149389236 44.55808294568743 14.592757149389236 44.55808294568743 0.23722068851276978 40.562080748421806 0.23722068851276978 42.56008184705462 7.4149889189510025 nurc__watertemp NOMINAL ARCHIVED 0 0 24 24 i j 44.47816290174212 0.5243314177302991 0.0 0.5742214584350587 -0.159840087890625 0.0 GRAY_INDEX -1.7976931348623157E308 1.7976931348623157E308 RectifiedGridCoverage image/tiff 40.562080748421806 0.23722068851276978 44.55808294568743 14.592757149389236 2008-10-31T00:00:00.000Z 2008-10-31T00:00:00.000Z nurc__watertemp_granule_watertemp.3 Linear 0 0 2008-10-31T00:00:00.000Z 2008-10-31T00:00:00.000Z 2008-10-31T00:00:00.000Z 2008-10-31T00:00:00.000Z 40.562080748421806 0.23722068851276978 40.562080748421806 14.592757149389236 44.55808294568743 14.592757149389236 44.55808294568743 0.23722068851276978 40.562080748421806 0.23722068851276978 42.56008184705462 7.4149889189510025 nurc__watertemp NOMINAL ARCHIVED 0 0 24 24 i j 44.47816290174212 0.5243314177302991 0.0 0.5742214584350587 -0.159840087890625 0.0 GRAY_INDEX -1.7976931348623157E308 1.7976931348623157E308 RectifiedGridCoverage image/tiff 40.562080748421806 0.23722068851276978 44.55808294568743 14.592757149389236 2008-10-31T00:00:00.000Z 2008-10-31T00:00:00.000Z nurc__watertemp_granule_watertemp.4 Linear 0 0 2008-10-31T00:00:00.000Z 2008-10-31T00:00:00.000Z 2008-10-31T00:00:00.000Z 2008-10-31T00:00:00.000Z 40.562080748421806 0.23722068851276978 40.562080748421806 14.592757149389236 44.55808294568743 14.592757149389236 44.55808294568743 0.23722068851276978 40.562080748421806 0.23722068851276978 42.56008184705462 7.4149889189510025 nurc__watertemp NOMINAL ARCHIVED 0 0 24 24 i j 44.47816290174212 0.5243314177302991 0.0 0.5742214584350587 -0.159840087890625 0.0 GRAY_INDEX -1.7976931348623157E308 1.7976931348623157E308 RectifiedGridCoverage image/tiff 40.562080748421806 0.23722068851276978 44.55808294568743 14.592757149389236 nurc__watertemp_dss 2008-10-31T00:00:00.000Z 2008-11-01T00:00:00.000Z Any of the inner coverages can be then retrieved via a standard GetCoverage, even if it's not directly part of the capabilities document, for example, to retrieve the first granule in the watertemp layer the request would be:: http://localhost:8080/geoserver/ows?service=WCS&version=2.0.1&request=GetCoverage&coverageId=nurc__watertemp_granule_watertemp.1