Ticket #3595 (closed enhancement: fixed)
Support of WCS 2.0 Protocol
|Reported by:||Schpidi||Owned by:||sdlime|
Some days ago the new Web Coverage Service (WCS) 2.0 Interface Standard was published on the public OGC webpages. This specification adopts the new OGC Core and Extension model and at the moment the following documents are available:
- WCS 2.0 Core
- WCS 2.0 KVP Protocol Binding Extension
- WCS 2.0 XML/POST Protocol Binding Extension
- WCS 2.0 XML/SOAP Protocol Binding Extension
Technical changes from WCS version 1.1.2 include entirely building on the GML 3.2 encoding of coverages.
WCS 2.0 is based on OWS Common 2.0 and as the WCS 1.1 implementation takes advantage of the OWS metadata services in mapowscommon.c. However, because of main technical changes like the adoption of GML 3.2.1 or the introduction of trim and slice concepts the implementation is largely separated in mapwcs20.c.
At the top of msWCSDispatch() in mapwcs.c we added a junction to WCS 2.0 using msWCSDispatch20() in mapwcs20.c which parses the request independently because of the heavily changed request structure. These changes are mainly due to the new trim and slice concepts and the adoption of OWS 2.0.
Please find below some sample request to show the new functionality and usage of KVP parameters:
# GetCapabilities http://www.yourserver.com/wcs?SERVICE=wcs&VERSION=2.0.0&REQUEST=GetCapabilities # DescribeCoverage 2.0 http://www.yourserver.com/wcs?SERVICE=wcs&VERSION=2.0.0&REQUEST=DescribeCoverage&COVERAGEID=grey # GetCoverage 2.0 image/tiff full http://www.yourserver.com/wcs?SERVICE=wcs&VERSION=2.0.0&REQUEST=GetCoverage&COVERAGEID=grey&FORMAT=image/tiff # GetCoverage 2.0 multipart/mixed (GML header & image/tiff) full http://www.yourserver.com/wcs?SERVICE=wcs&VERSION=2.0.0&REQUEST=GetCoverage&COVERAGEID=grey&FORMAT=image/tiff&MEDIATYPE=multipart/mixed # GetCoverage 2.0 image/tiff trim x y both http://www.yourserver.com/wcs?SERVICE=wcs&VERSION=2.0.0&REQUEST=GetCoverage&COVERAGEID=grey&FORMAT=image/tiff&SUBSET=x(10,200)&SUBSET=y(10,200) # GetCoverage 2.0 reproject to EPSG 4326 http://www.yourserver.com/wcs?SERVICE=wcs&VERSION=2.0.0&REQUEST=GetCoverage&COVERAGEID=grey&FORMAT=image/tiff&SUBSET=x,http://www.opengis.net/def/crs/EPSG/0/4326(-121.488744,-121.485169)
Unfortunately the schemas are not yet available at http://schemas.opengis.net/wcs/ but I've attached the latest draft version here. (Btw. if you want to use libxml2 for validation be aware that there is a bug that breaks the validation of GML 3.2.1.)
Attached are patches both for the latest stable release 5.6.5 and the current (as of writing) trunk (r10696). I'll also provide patches for msautotest hopefully soon.
Have fun and many thanks for any feedback,