Web Coverage Service
The Open Geospatial Consortium Web Coverage Service Interface Standard (WCS) defines Web-based retrieval of coverages – that is, digital geospatial information representing space/time-varying phenomena.
- 1 Overview
- 2 WCS Core, Extensions, and Application Profiles
- 3 Software support for WCS
- 4 See also
- 5 References
A WCS provides access to coverage data in forms that are useful for client-side rendering, as input into scientific models, and for other clients. The WCS may be compared to the OGC Web Feature Service (WFS)  and the Web Map Service (WMS) . As WMS and WFS service instances, a WCS allows clients to choose portions of a server's information holdings based on spatial constraints and other query criteria.
Unlike OGC Web Map Service (WMS), which portrays spatial data to return static maps (rendered as pictures by the server), the Web Coverage Service provides available data together with their detailed descriptions; defines a rich syntax for requests against these data; and returns data with its original semantics (instead of pictures) which may be interpreted, extrapolated, etc., and not just portrayed.
Unlike OGC Web Feature Service (WFS), which returns discrete geospatial features, the Web Coverage Service returns coverages representing space/time-varying phenomena that relate a spatio-temporal domain to a (possibly multidimensional) range of properties. As such, WCS focuses on coverages as a specialized class of features and, correspondingly, defines streamlined functionality.
WCS uses the coverage model of the OGC GML Application Schema for Coverages. Thus, WCS supports all coverage types supported by said Application Schema; it is not constrained to quadrilateral grid coverages like previous WCS versions.
WCS Core, Extensions, and Application Profiles
The WCS suite is organized as a Core, which every WCS implementation must support, and a set of extensions defining additional functionality. Implementers can choose which extension to support, but there are some basic rules to be obeyed - for example, every WCS implementation must support at least one communication protocol and at least one data encoding format. To ease overview, extensions have been grouped along five categories: data model, encodings, service model, protocols, and usability. Application Profiles, finally, establish domain-oriented "bundles" of the WCS Suite. Some of these specifications are briefly presented below.
Adopted WCS standards are available from the OGC WCS page.
The WCS Core establishes basic spatial and temporal extraction. There are two types of subsetting, which can be combined: Trimming extracts a sub-area of a coverage indicated by a bounding box; the result has the same dimension (i.e., number of axes) as the original coverage. Slicing performs a cut at the position indicated, thereby reducing the dimension of the result coverage.
Technically, WCS Core establishes three request types, inline with the OGC Web Service definition:
- GetCapabilities: delivers an XML-encoded description of service properties and the data holdings offered by the server inquired;
- DescribeCoverage: delivers XML-encoded descriptions of coverages (such as their location in space and time);
- GetCoverage: delivers a coverage (or part thereof), either as original data or processed, in some suitable data format.
WCS Protocol Extensions
WCS requests and responses can make use of one of the following protocols:
- GET/KVP: using the HTTP GET protocol for sending key-value-pair (KVP) encoded requests and receiving XML metadata and binary coverage data
- POST/XML: using the HTTP POST protocol for transferring XML data and binary coverage data
- SOAP/XML: using the SOAP protocol for transferring XML data and binary coverage data
WCS Format Extensions
WCS format encodings allow to deliver coverages in various data format, such as GML, GeoTIFF, HDF-EOS, or NITF. As of July 2012, not all specifications are already adopted standards, but under development in OWS-9 with an expected publication for comment in January 2013.
WCS Range Subsetting
Range subsetting (not to be mixed up with the (domain) subsetting of the WCS Core) allows to extract components from structured cells ("pixels", "voxels") of a coverage. Cells are structured if they contain several components, such as the three components red, green, and blue in color images.
For example, from a 7-band Landsat satellite image a range subsetting request may extract the near-infrared, red, and green range components ("bands", "channels"). The geospatial extent is unchanged, that is: "pixels" from all the coverage's locations get delivered.
WCS-T (T standing for transactional) establishes how to upload complete coverages to a server or modify existing coverages on a server.
WCS Processing Extension
Web Coverage Processing Service (WCPS) defines flexible ad-hoc processing and filtering on coverage sets. This is an abstract query language (like SQL and XQuery) that is independent from any other OGC service standard. The WCS Processing Extension establishes linkage of WCPS into the WCS suite, introducing an additional request type, ProcessCoverages, which accepts a WCPS query string and returns a list of response items resulting from server-side WCPS evaluation.
WCS CRS Extension
The forthcoming WCS Coordinate System Extension allows to retrieve coverages in Coordinate Reference Systems (CRSs) different from the Native CRS in which the coverage is stored on the server - in other words, it allows reprojection.
Software support for WCS
OGC Compliance Testing
OGC provides the free, open-source Compliance and Interoperability Test Engine (CITE)  to determine compliance of a particular implementation with a given OGC specification. A list of all specification tests made available by OGC can be found on the OGC compliance page. As of August 2013, the WCS Core CITE test has been implemented and passed by rasdaman and is currently under adoption vote within OGC.
This below is an unofficial, not checked, and not OGC endorsed list of software that supports WCS as a client and/or server:
- WCS 2.0:
- WCS 1.x:
- GeoServer - reference implementation server for WCS 1.x (serve WCS)
- APOLLO - server and client
- GDAL - client (read)
- Geomatica Web Server Suite - client and server
- GeoMedia - client (read WCS) and server (GeoMedia WebMap)
- gvSIG - client (read WCS)
- ArcGIS Server - server and client
- PYXIS WorldView - Free client integrates multiple sources of data on a hexagonal discrete global grid 
- CARIS Spatial Fusion Enterprise - server and client
- Unidata TDS (THREDDS OPeNDAP data server) - server
- Open Geospatial Consortium
- Web Coverage Processing Service (WCPS)
- Web Map Service (WMS)
- Web Feature Service (WFS)
- https://portal.opengeospatial.org/files/?artifact_id=48553 OGC GML Application Schema for Coverages, OGC 09-146r1
- OGC Web Coverage Service standard document download
- OGC Web Services, Phase 9
- Compliance and Interoperability Test Engine (CITE)
- OGC Compliance Testing
- http://www.opengeospatial.org/resource/products/compliant OGC list of compliant products
- FAQ: compliant vs implementing
- rasdaman - Big Array Data Analytics server, including Web client toolkit (raswct)
- OGC Network: Web Coverage Service
- "MapServer WCS Server".
- "PYXIS WorldView GeoWeb Browser".
- "ERDAS APOLLO".
- "GDAL Web Coverage Service".
- "PCI Geomatics’ Web Coverage Server successfully passes compliancy testing".
- "ESRI ArcGIS Server".
- "PYXIS WorldView GeoWeb Browser".
- "CARIS Spatial Fusion Enterprise".