Web Coverage Service

The WCS allows the end user to directly download raster imagery data in either JPEG2000 or GeoTIFF format. The WCS supports the following operations:

  • GetCapabilities The GetCapabilities request is used to determine the supported Coverages; each FinishedCatalog product is listed and described as a Coverage.
  • DescribeCoverage The DescribeCoverage request is used to obtain the detailed description of a supported Coverage.
  • GetCoverage The GetCoverage request is used to obtain the actual product pixels (imagery) for download.

Typical Structure of a WCS Application

Service Details

The Maxar WCS supports KVP (Keyword Value Pair) request encoding only; SOAP (Simple Object Access Protocol) or other protocols are not supported.

The WCS does NOT support the following optional capabilities:

  • Range subsetting
  • Store capability; all Coverages are returned synchronously

Because full-resolution imagery is being retrieved, sometimes over limited bandwidth connections, the WCS determines the size of the requested product, and if it exceeds 1GB, an exception is returned. Since the limit is based on file size, larger areas can be downloaded if the compressed JPEG2000 format is requested rather than GeoTIFF.

Users can download Web Coverages based on the streaming GB limit associated with their account. Users accessing the service are limited to 1GB of downloaded data per request. Once this limit is exceeded, the streaming resolution will be reduced to 4.8m for the rest of the day. See Understanding Streaming Limits.

The WCS treats each available product as a separate Coverage, therefore the imagery returned depends on the layer being accessed.

The parameter used to request Coverage is the Feature Identifier. This makes it convenient to request metadata for the product via the Feature Service, and then request the actual imagery product via the WCS, using the same identifier.

Since additional Coverages become available as data is added to the Service, the response to a GetCapabilities request is updated each time a new product is made available. Therefore, take care when using client-side caching of results.

WCS Client-Server Architecture

The following architecture depicts a sample integration of WCS client and server applications. Client Viewer is a series of HTML pages running inside a web browser that can interact with the WCS server via client application through HTTP calls. The WCS client manages the interactions with WCS interfaces through HTTP requests and dynamically generates HTML that can run in a web browser.

The WCS server accepts requests from the WCS client and viewer client in the form of HTTP URL strings, and returns results encoded as XML, GIF, GML, and so on. The database stores geo-feature data that can be accessed and utilized by the WCS server to generate GML documents or draw Maps.

Sample WCS Client Server Application

WCS Service Details

The Maxar WCS provides vector metadata, including imagery footprints, in Geographic Markup Language (GML) format. The Maxar WCS supports the following OGC-defined operations:

GetCapabilities Operation

In response to the GetCapabilities request, the Service returns a description of the available Capabilities, including a list of all available Coverages. Since each Finished Product is defined as a Coverage, the GetCapabilities response can be quite large. In addition, as more data is added, the list of Coverages will grow and change over time, so clients must be careful if they are caching the results.

DescribeCoverage Operation

GetCoverage Operation

The GetCoverage request results in an image product being returned to the requesting client. Since the WCS protocol does not support mosaicked images across Coverages, separate GetCoverage requests are required for each Online FinishedCatalog product. Each Online FinishedCatalog product equates to a Coverage.

Integration Procedure

A WCS client application is a program that communicates with the WCS server using the three functions: GetCapabilities, DescribeCoverage, and GetCoverage. More specifically, in a typical WCS client-server interaction, the following steps can be followed:

Step 1

The client must first request GetCapabilities from the WCS server in order to determine what the WCS server can do and what Coverage the WCS server can provide.

https://services.digitalglobe.com/deliveryservice/wcsaccess?service=WCS&request=GetCapabilities&version=1.1.1&connectId=<CONNECTID>

Note: Replace <CONNECTID> with the connectId provided by Maxar. Parameters are not required to be in the same order as shown above.

Step 2

The client can request DescribeCoverage with the WCS server's capabilities information in order to get the Coverage information. Once a user has obtained a description of the supported Coverage, the GetCoverage request is used to access the metadata associated with one or more identifiers.

https://services.digitalglobe.com/deliveryservice/wcsaccess?service=WCS&version=1.1.1&request=DescribeCoverage&identifiers=<FEATUREID>&connectId=<CONNECTID>

Note: Replace <CONNECTID> with the connectId provided by Maxar. Replace <FEATUREID> with your desired featureID. Parameters are not required to be in the same order as shown above.

Step 3

To get the description of the supported GetCoverage, the user can use the following URL:

https://services.digitalglobe.com/deliveryservice/wcsaccess?SERVICE=WCS&REQUEST=GetCoverage&version=1.1.1&connectId=<CONNECTID>&identifier=<FeatureID>&FORMAT=image/jpeg&BoundingBox=32.56664276123047,36.03737258911133,32.68387985229492,36.175987243652344,urn:ogc:def:crs:EPSG::4326&GridBaseCRS=urn:ogc:def:crs:EPSG::4326&GridCS=urn:ogc:def:cs:OGC:0.0:Grid2dSquareCS&GridType=urn:ogc:def:method:WCS:1.1:2dGridIn2dCrs&GridOrigin=32.56664501123057,36.175989493652445&GridOffsets=0.0000045,0.0000045

Note: Replace <CONNECTID> with the connectId provided by Maxar. Replace <FEATUREID> with your desired featureID. Parameters are not required to be in the same order as shown above.

Service Exceptions

In the event that a Web Coverage Service encounters an error while processing a request or receives an unrecognized request, it will generate an XML document indicating that an error has occurred.

An <ExceptionReport> element will contain one or more WCS processing exceptions specified using the <Exception> element. The mandatory version attribute is used to indicate the version of the service exception report schema. For this version of the specification, this value is fixed at 1.1.0. Individual exception messages are contained within the <ExceptionText> element.

The following is an example of an exception report. This exception indicates that the first insert statement failed because of a missing closing XML tag in the request.

Copy
<?xml version="1.0" encoding="UTF-8" ?>
<ows:ExceptionReport version="1.1.0" 
xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://services.digitalglobe.com/deliveryservice/schemas/ows/1.1.0/owsAll.xsd" 
xmlns:ows="http://www.opengis.net/ows/1.1" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <ows:Exception exceptionCode="NoApplicableCode">
        <ows:ExceptionText>DescribeCoverage: Could not find coverage: 334034 null Translator error DescribeCoverage: Could not find coverage: 334034</ows:ExceptionText>
    </ows:Exception>
</ows:ExceptionReport>

WCS Layers

WCS Layers

OGC Layer

Description

Identifier <n>

Each Feature available to an account is returned in WCS as an identifier with a unique number and basic metadata.

API Reference

This section provides a list of all possible request parameters for every WCS operation as well as detailed information about corresponding response.

The client should provide the respective information in a Keyword Value Pair (KVP) format for every WCS request, where the "name" field is the key, and the "value" field is the value; the data is supplied in the format "key=value"; for example, "service=WCS".