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.

Overview
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 with 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.

WCS Core


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 formats, such as GML, GeoTIFF, HDF-EOS, CF-netCDF or NITF.

WCS Range Subsetting
Range subsetting (not to be mixed up with the (domain) subsetting of the WCS Core) allows extracting 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 Extension
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 retrieving 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.

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.

WCS Implementations
Implementations where OGC officially acknowledges compliance can be found on the authoritative OGC page. See also the discussion "compliant vs implementing".

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:
 * Rasdaman - server and client (read/write); adopted OGC Reference Implementation for WCS 2.0.1 Core, Reference Implementation for Web Coverage Processing Service
 * MapServer - server
 * EOxServer
 * GeoServer
 * PYXIS Studio - Free client integrates multiple sources of data on a hexagonal discrete global grid
 * IBL "Moving Weather" and "Visual Weather" - also implements WCS MetOcean Application Profile draft
 * RSI OPS GIS
 * ESRI ArcGIS 10.3
 * OPenDAP
 * Pyxis
 * OpenLayers - client
 * TerraPixel Streamap Engine
 * WCS 1.x:
 * GeoServer - reference implementation server for WCS 1.x (serve WCS)
 * PIXIA Corp'sHiPER LOOK
 * 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
 * Luciad - LuciadLightspeed and LuciadFusion server and client
 * PYXIS Studio - 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
 * QGIS - client (supports both version 1.0 and 1.1)
 * TerraPixel Streamap Engine