A Web Coverage Service (WCS) defines a standard interface and operations that enable interoperable access to geospatial coverages consisting of intact, raw data. The term "gridded coverages" typically refers to content such as satellite images, digital aerial photos, digital elevation data, and other phenomena represented by values at each measurement point.
Unlike the Web Map Service (WMS) which returns static maps, the Web Coverage Service (WCS) and the Web Coverage Processing Service (WCPS) provide access to raw data. Typically client applications will model, analyze and render the data returned.
WCS defines a simple access protocol (subsetting, scaling, reprojection). The WCPS complements this by defining a protocol-independent language for the extraction, processing, and analysis of multi-dimensional gridded coverages representing sensor, image, or statistical data. Services implementing this WCPS language provide access to original or derived sets of geospatial coverage information in forms that are useful for client-side rendering, input into scientific models, and other client applications.
The Web Coverage Service and the Web Coverage Processing Service standards have been developed by the Open Geospatial Consortium (OGC).
Additional Information: Web Coverage Service (WCS)
Description of a WCS
Web Coverage Service (WCS) defines an interface that allows a client to retrieve unrendered geospatial “coverages” from a server. A coverage contains digital geospatial information representing space-varying phenomena that are returned as grid values (e.g. as a GeoTIFF file). A WCS provides access to potentially detailed and rich sets of geospatial information in forms that are useful as multi-valued coverages, for client-side rendering and input into scientific models and other applications.
A WCS can deliver multi-dimensional coverage data over the Internet by describing and requesting grid coverages. WCS is limited to describing and requesting grid coverages with homogeneous range sets. Grid coverages have a domain comprised of regularly spaced locations along 0, 1, 2, or 3 axes of a spatial coordinate reference system. Their domain may also have a time dimension, which may be regularly or irregularly spaced. A coverage defines, at each location in the domain, a set of fields that may be single-valued (such as elevation), or array-valued (such as brightness values in different parts of the electromagnetic spectrum). These fields (and their values) are known as the range of the coverage.
The WCS may be compared to the Web Map Service (WMS) and the Web Feature Service (WFS); like them the WCS allows clients to choose portions of a server's information holdings based on spatial constraints and other criteria.
Unlike the 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 the WFS (which returns discrete geospatial features), the Web Coverage Service returns coverages representing space-varying phenomena that relate a spatial-temporal domain to a range of properties (possibly multi-dimensional).
WCS Operations: Requests
The WCS provides three operations to retrieve geospatial coverage data – that is, digital geospatial information representing space/time-varying phenomena. To this end, the WCS interface specifies the following operations that may be invoked by a WCS client and performed by a WCS server:
- GetCapabilities: This operation allows a client to request information about the server’s capabilities and coverages offered. GetCapabilities returns an XML document describing the service, with brief descriptions of the coverages available on the server. (This operation is common to all web services, and is discussed in detail in the OpenGIS® Web Service Common Implementation Specification.)
- DescribeCoverage: This operation allows a client to request detailed metadata (full descriptions) of one or more selected coverages offered by a particular server.The DescribeCoverage operation returns an XML document describing the identified coverages. It provides sufficient information for a client to assess the data’s suitability for use, and to formulate fine-grained GetCoverage requests.
- GetCoverage: Normally run after GetCapabilities and DescribeCoverage responses have shown what requests are allowed and what data are available, this operation allows a client to request a coverage comprised of selected range properties at a selected set of spatial-temporal locations, expedited in a well-known coverage encoding format. Its syntax and semantics bear some resemblance to the WMS GetMap and WFS GetFeature requests, but several extensions support the retrieval of coverages rather than static maps or discrete features.
NOTE: WCS extension standards add further functionality to these WCS Core operations; some of these are required in addition to the Core to obtain a complete WCS implementation.
WCS requests and responses frequently include references to a defined Coordinate Reference System (CRS), and sometimes include a CRS definition. A defined CRS is required for spatial referencing by coordinates, and is a coordinate system which is related to an object by a datum. In many cases, WCS requests and responses transfer only references to defined CRSs, not the actual CRS definitions. Each referenced CRS must be defined somewhere, but that definition may not be electronically accessible or encoded in XML.
Sequence of WCS Requests
To initiate a sequence of WCS requests, a client should first issue a GetCapabilities request to the server to obtain an up-to-date listing of available data.
Then a client may issue a DescribeCoverage request to obtain more details about the particular coverages offered. In response to a DescribeCoverage request, a WCS returns an XML document whose top-level element is a CoverageDescriptioncontaining CoverageOffering elements for all coverages requested. The CoverageOffering element extends the CoverageOfferingBrief to provide additional details on the domain and range of each coverage offering. The information obtained from a DescribeCoverage request can then be used in GetCoverage requests to retrieve spatial subsets of the coverage offerings, by requesting intervals along the parameter axis.
To retrieve a coverage, or a part thereof, a client issues a GetCoverage request. A GetCoverage request returns values or properties at regularly spaced locations, bundled in the requested format. Its syntax and semantics are similar to the returns from a WMS GetMap request. The response to a valid GetCoverage request is a coverage extract, with the spatial reference system, bounding box, size, value sets, and format specified in the request. An invalid GetCoverage request generates an error output in the requested Exceptions format.
Enhanced Coverage Selection Options
A GetCoverage request can leverage Filter Encoding and Symbology Encoding, to obtain and visually enhance selected coverages.
To select certain coverages, Filter Encoding (FE) provides XML-based filtering capabilities to select or exclude particular coverages. Filter encoding can include both spatial and non-spatial aspects for filtering a GetCoverage request.
Symbology Encoding (SE), and specifically CoverageStyle, can be applied to a selected subset of coverage data to specify the format of a map-styling language that will effectively portray the geographic data and produce a geo-referenced map with user-defined styling.