Mapserver, Rasdaman, and Eoxserver) Enabling the Online Data Access to Heterogeneous Multi-Dimensional Satellite Data
Total Page:16
File Type:pdf, Size:1020Kb
786 Introducing WCS 2.0, EO-WCS, and Open Source Implementations (MapServer, rasdaman, and EOxServer) Enabling the Online Data Access to Heterogeneous Multi-dimensional Satellite Data Christian SCHILLER, Stephan MEISSL, Peter BAUMANN, Stephan KRAUSE, Gerhard TRIEBNIG, Fabian SCHINDLER-STRAUSS, Andrei AIORDACHIOIAE, Jinsongdi YU und Dimitar MISEV Abstract While the Open Geospatial Consortium (OGC) Web Map Service (WMS) is widely known and deployed as View Service to serve portrayals of data (e.g. maps as images), the access to true data (Download Service) via the OGC Web Coverage Service (WCS) has, so far, rarely been implemented. Special needs exist for Earth Observation (EO) satellite Datasets. The recently published Version 2.0 of WCS, if combined with the new WCS Earth Observation Application Profile (EO-WCS), provides the required functionalities for subsetting in area and time of interest, reprojecting, accessing selectable (spectral) bands, extracting of Time-Series and Stitched Mosaics, and the integration into service chains. Furthermore, standardized EO metadata are exchanged with each EO-WCS service request. This paper informs about the new features of WCS 2.0 (OGC 09-110r3) and the new EO-WCS (OGC 10-140). Furthermore, the Open Source reference implementations of WCS 2.0 (within MapServer 6.0, and rasdaman) and of EO-WCS (EOxServer) are presented. Introduction The European Space Agency (ESA) is coordinating the Heterogeneous Mission Accessibility (HMA) initiative (HMA WIKI, 2011) to foster international standardization relating to the information infrastructure for Earth Observation (EO). In this context ESA actively cooperates with the Open Geospatial Consortium (OGC) like through the Online Data Access project (HMA-FO Task-3, ESA contract No. 22507/09/I-LG, industrial team EOX, Jacobs University Bremen, Spot Image, GIM), which has supported the specification of WCS 2.0 (OGC 09-110r3) and the EO–WCS (OGC 10-140) and some implementations. OGC Web Coverage Service 2.0 The OGC Web Coverage Service (WCS) supports electronic retrieval of geospatial data as “coverages” (information representing space/time-varying phenomena) for client-side exploitation. WCS provides detailed descriptions, defines a rich syntax for requests, and returns data in its original semantics (as opposed to the pictures provided by WMS). Strobl, J., Blaschke, T. & Griesebner, G. (Hrsg.) (2011): Angewandte Geoinformatik 2011. © Herbert Wichmann Verlag, VDE VERLAG GMBH, Berlin/Offenbach. ISBN 978-3-87907-508-9. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/). Introducing WCS 2.0, EO-WCS, and Open Source Implementations 787 The definition of WCS 2.0 (OGC 09-110r3) is based on OGC's Core/Extension Model, the GML Application Schema for Coverages (OGC 09-146r1), OWS Common (OGC 06- 121r9), and OGC Abstract Topic 6 (OGC 07-011). It supports coverage types given in OGC 09-146r1. Following OGC 09-110r3 the operations required by a WCS implementation are: (a) GetCapabilities – service metadata and information on offered coverages. Example: http://wcs-server/ows?service=WCS&version=2.0.0&request=GetCapabilities (b) DescribeCoverage – detailed metadata on selected coverages metadata, Example: http://wcs-server/ows?service=wcs&version=2.0.0&request=DescribeCoverage& coverageid=Test_Scene_1 (c) GetCoverage – request for processing and returning of a selected coverage including domain subsetting operation which is subdivided into trimming and slicing. A trim is performed on a dimension and a lower and upper bound. A slice is performed on a dimension and a position. Examples: http://wcs-server/ows?service=wcs&version=2.0.0&request=GetCoverage& CoverageId=Test_Scene_1&FORMAT=image/tiff&mediatype=multipart/mixed &subset=x(2100,2300)&subset=y(3870,4070) http://wcs-server/ows?service=wcs&version=2.0.0&request=GetCoverage& CoverageId=Test_Scene_1&FORMAT=image/tiff& SUBSET=x,http://www.opengis.net/def/crs/EPSG/0/4326(17,17.4)& SUBSET=y,http://www.opengis.net/def/crs/EPSG/0/4326(48,48.3)& OutputCRS=http://www.opengis.net/def/crs/EPSG/0/3035& &SIZE=x(200)&SIZE=y(200) OGC's Core/Extension Model foresees that the Core of new standards shall only stipulate basic functionalities and definitions. For WCS 2.0 this means that upcoming Extensions to the WCS Core, or Application Profiles, may add additional operation types (see EO-WCS). For a WCS implementation the Core plus at least one protocol binding (e.g. GET-KVP, POST-XML, or SOAP), and one Coverage encoding format Extension (e.g. GeoTIFF, NetCDF, or JPEG2000) are required. Extensions may reference existing definitions of earlier versions (e.g. WCS 1.1, OGC 07-067r5). WCS 2.0 Earth Observation Application Profile (EO-WCS) The EO-WCS specializes the generic WCS 2.0 by bundling several specifications and adding requirements on an implementation. Commonly used EO domain terminology is mapped into the EO-WCS terminology as given in Table 1. 788 C. Schiller, S. Meißl, P. Baumann et al. Tab. 1: Vocabulary as used in the EO-WCS (not comprehensive) EO terminology EO-WCS terminology scene / image / product / raster data Dataset (image) / raw data (image) /orthoimage mosaic / seamless mosaic Dataset google-like mosaic / composite Stitched Mosaic mosaic (not radiometrically adjusted) series / Time-Series Dataset Series collection Dataset Series rectified grid grid having regular spacing in a projected or geographic CRS referenceable grid not rectified, but associated with (one or more) coordi- nate transformations which relate the image or engi- neering CRS to a projected or geographic CRS To efficiently handle and manage Time-Series, Stitched Mosaic Datasets, and related EO metadata additional concepts (Figs. 2, 3, and 4) are introduced in EO-WCS. It defines EO coverages which have a latitude/longitude or projected x/y spatial extend and a temporal validity extend. They are derived from rectified and referencable coverage (Fig. 1a and 1b) as defined in OGC 09-146r1. Further, a Dataset Series (Fig. 1c) is defined as a collection (virtual container) of Stitched Mosaics and/or Datasets where the Dataset Series itself is not a coverage. Since the DescribeCoverage request targets only coverages, the need for the specification of the new operation request DescribeEOCoverageSet, to gather information about a Dataset Series and its content, becomes evident. This DescribeEOCoverageSet request allows to limit the query by applying trimming and slicing in space and time. dataset series a) b) c) Fig. 1: EO-WCS concepts: rectified / referencable grid coverage and Dataset Series The coverageIDs provided in the DescribeEOCoverageSet result enables the user (client) to issue repeated GetCoverage requests to access the actual data of the Dataset Series. Using this approach of repeated single requests fosters interoperability, reduces the burden on the supplier side (better load balancing) and does not require the definition and use of 3D- CRSs. The second new concept introduced in EO-WCS is that of Stitched Mosaics (Fig. 2). These are homogeneous collections of spatially non-overlapping subsets of Datasets, accessible as coverages. Introducing WCS 2.0, EO-WCS, and Open Source Implementations 789 Fig. 2: EO-WCS concept of a Stitched Mosaic This means Datasets are patched together (google like), while sharing a common grid. One example might be “Provide a mosaic of all available data for the current growing season, with the newest Dataset on top”. A Stitched Mosaic can be interpreted (i.e., requested) as a single coverage where the Datasets have to keep their respective EO metadata over the full lifetime. This implies that when new images arrive they will replace older parts and that the existing EO metadata for these pixels have to be adjusted accordingly, as has the footprint of the underlying image part. The Dataset Series concept introduced in EO-WCS permits that Datasets are members in multiple Dataset Series. This enables satellite data providers, which often have huge archives organized in collections (e.g. based on sensors), to make those collections available via an EO-WCS interface without the need for data duplication (Fig. 3). Every EO Coverage contains EO Metadata, consisting of an EarthObservation record as defined in the OGC Earth Observation Metadata Profile of Observations and Measurements (OGC 10-157r2) and a lineage describing the history of operations leading to the coverage on hand. More details can be found in OGC 10-140. Fig. 3: Various Datasets (e.g. a collection) may again form together a Dataset Series Finally, the GetCoverage request provides the access mechanism to the data. The GetCoverage request is unchanged over WCS Core (OGC 09-110r3), except that for EO coverages slicing is disallowed, as it would leave the EO Metadata undefined. 790 C. Schiller, S. Meißl, P. Baumann et al. Open Source Implementations MapServer “MapServer”1 is probably the most famous Open Source web mapping project. Its strength lies in the fast and efficient serving of raster data, which was one of the main reasons why it has been chosen for the first implementation of the new WCS 2.0. This included the support of XML/POST protocol binding, which is now also available to WCS 1.1. These and many other improvements are included in the upcoming release of MapServer 6.0. The implementation is limited to grid coverages (Fig. 1a,b). and can be seen as the first Reference Implementation which proves the overall concepts. rasdaman “rasdaman”2is the second Open Source implementation which provides access via a WCS 2.0 interface. It is a middleware which extends standard relational database systems with the ability to store and retrieve multi-dimensional raster data (arrays) of unlimited size through an SQL-style query language (rasql) allowing to phrase select/insert/update/delete statements against a raster database. Queries are optimized on server side. The petascope component (a servlet package) of rasdaman provides service interfaces based on the OGC WCS and also Web Coverage Processing Service WCPS (Fig.