Skip to main content

Streaming Imagery - WCS

Overview

The WCS endpoint provides download access to the "raw" images that are displayed by the WMS endpoint. While these images are also 8-bit RGB, they are not rendered with the goal of screen display. Instead they can be downloaded in file formats like GeoTIFF for use in other processes. The specification supports subsetting and resampling of the image if needed.

Authentication

All OGC services accept an API key or a bearer token for authentication.

Bearer tokens

Oauth bearer tokens can also be used to authenticate API requests. Bearer tokens have a brief duration and must be refreshed frequently.

To authenticate with a bearer token, use the Authorization header:

Authorization: Bearer <Oauth2 token>

Learn about OAuth2 bearer tokens

API keys

API keys can be passed using query parameters or in a custom header. No Authorization header is needed when using API keys.

To use the query parameter method, include this query parameter in your request:

maxar_api_key=<your API key>

The custom header takes the form of:

maxar-api-key: <your API key>

API keys expire 180 days from creation by default. A custom expiration date can be set but cannot exceed 180 days.

Learn about API keys

Services

NameDescriptionBasic Request URL
Get CapabilitiesDescribes the capabilities and operations supported for WCS.https://api.maxar.com/streaming/v1/ogc/wcs?service=wcs&request=GetCapabilities
Describe Coverage TypeReturns the properties of the image coverage .https://api.maxar.com/streaming/v1/ogc/wcs?service=WCS&version=2.0.1&request=DescribeCoverage&coverageid=Maxar:Imagery
GetCoverageReturns downloadable file in requested format.https://api.maxar.com/streaming/v1/ogc/wcs?service=wcs&request=GetCoverage

Note: For the service parameter in WCS requests, "WCS" must be all upper case.

WFS Get Capabilities

Returns a list of services and operations supported by WCS.

Request URL

https://api.maxar.com/streaming/v1/ogc/wcs?service=WCS&request=GetCapabilities

Query parameters

NameRequired/OptionalDescriptionValue
servicerequiredThe requested OGC service.WCS
requestrequiredThe name of the WFS request typeGetCapabilities
versionoptionalWCS version, defaults to 2.0.12.0.1

Response

Success: 200 OK

WCS Describe Coverage Type

Request URL

https://api.maxar.com/streaming/v1/ogc/wcs?service=WCS&version=2.0.1&request=DescribeCoverage&coverageid=Maxar:Imagery

Query parameters

NameRequired/OptionalDescriptionValue
servicerequiredThe requested OGC service.WCS
requestrequiredThe request typeDescribeCoverage
versionoptionalWCS version, defaults to 2.0.12.0.1
coverageidrequiredCoverage IDUse Maxar:Imagery

Response

Describe Coverage Response
<?xml version="1.0" encoding="UTF-8"?><wcs:CoverageDescriptions xmlns:wcs="http://www.opengis.net/wcs/2.0" xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmlcov="http://www.opengis.net/gmlcov/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:wcsgs="http://www.geoserver.org/wcsgs/2.0" xsi:schemaLocation=" http://www.opengis.net/wcs/2.0 http://schemas.opengis.net/wcs/2.0/wcsDescribeCoverage.xsd http://www.geoserver.org/wcsgs/2.0 https://api.maxar.com/streaming/v1/ogc/schemas/wcs/2.0/wcsgs.xsd">
<wcs:CoverageDescription gml:id="Maxar__Imagery">
<gml:description>A raster layer that includes all imagery available in the Maxar Geospatial Platform available, depending on user permissions. CQL filters and other URL parameters can be used to target specific imagery.</gml:description>
<gml:name>Imagery</gml:name>
<gml:boundedBy>
<gml:Envelope srsName="http://www.opengis.net/def/crs/EPSG/0/4326" axisLabels="Lat Long" uomLabels="Deg Deg" srsDimension="2">
<gml:lowerCorner>-90.0 -180.0</gml:lowerCorner>
<gml:upperCorner>90.0 180.0</gml:upperCorner>
</gml:Envelope>
</gml:boundedBy>
<wcs:CoverageId>Maxar__Imagery</wcs:CoverageId>
<gml:coverageFunction>
<gml:GridFunction>
<gml:sequenceRule axisOrder="+2 +1">Linear</gml:sequenceRule>
<gml:startPoint>0 0</gml:startPoint>
</gml:GridFunction>
</gml:coverageFunction>
<gmlcov:metadata>
<gmlcov:Extension>
<ows:Keywords>
<ows:Keyword>geotools_coverage</ows:Keyword>
<ows:Keyword>WCS</ows:Keyword>
<ows:Keyword>Maxar_Raster_Coverage</ows:Keyword>
</ows:Keywords>
</gmlcov:Extension>
</gmlcov:metadata>
<gml:domainSet>
<gml:RectifiedGrid gml:id="grid00__Maxar__Imagery" dimension="2">
<gml:limits>
<gml:GridEnvelope>
<gml:low>0 0</gml:low>
<gml:high>511 511</gml:high>
</gml:GridEnvelope>
</gml:limits>
<gml:axisLabels>i j</gml:axisLabels>
<gml:origin>
<gml:Point gml:id="p00_Maxar__Imagery" srsName="http://www.opengis.net/def/crs/EPSG/0/4326">
<gml:pos>89.82421875 -179.6484375</gml:pos>
</gml:Point>
</gml:origin>
<gml:offsetVector srsName="http://www.opengis.net/def/crs/EPSG/0/4326">0.0 0.703125</gml:offsetVector>
<gml:offsetVector srsName="http://www.opengis.net/def/crs/EPSG/0/4326">-0.3515625 0.0</gml:offsetVector>
</gml:RectifiedGrid>
</gml:domainSet>
<gmlcov:rangeType>
<swe:DataRecord>
<swe:field name="ByteArray grid coverage wrapper">
<swe:Quantity>
<swe:description>ByteArray grid coverage wrapper</swe:description>
<swe:uom code="W.m-2.Sr-1"/>
<swe:constraint>
<swe:AllowedValues>
<swe:interval>0.0 255.0</swe:interval>
</swe:AllowedValues>
</swe:constraint>
</swe:Quantity>
</swe:field>
<swe:field name="ByteArray grid coverage wrapper">
<swe:Quantity>
<swe:description>ByteArray grid coverage wrapper</swe:description>
<swe:uom code="W.m-2.Sr-1"/>
<swe:constraint>
<swe:AllowedValues>
<swe:interval>0.0 255.0</swe:interval>
</swe:AllowedValues>
</swe:constraint>
</swe:Quantity>
</swe:field>
<swe:field name="ByteArray grid coverage wrapper">
<swe:Quantity>
<swe:description>ByteArray grid coverage wrapper</swe:description>
<swe:uom code="W.m-2.Sr-1"/>
<swe:constraint>
<swe:AllowedValues>
<swe:interval>0.0 255.0</swe:interval>
</swe:AllowedValues>
</swe:constraint>
</swe:Quantity>
</swe:field>
</swe:DataRecord>
</gmlcov:rangeType>
<wcs:ServiceParameters>
<wcs:CoverageSubtype>RectifiedGridCoverage</wcs:CoverageSubtype>
<wcs:nativeFormat>image/tiff</wcs:nativeFormat>
</wcs:ServiceParameters>
</wcs:CoverageDescription>
</wcs:CoverageDescriptions>

WCS Get Coverage

Returns image data of the requested coverage area.

Request URL

https://api.maxar.com/streaming/v1/ogc/wcs?service=WCS&version=2.0.1&request=GetCoverage&format=nitf&coverageid=Maxar:Imagery&subset=Long(-105.3100485,-105.2363205)&subset=Lat(40.1410980,40.2148260)&outputcrs=EPSG:4326&scalefactor=0.1&interpolation=http://www.opengis.net/def/interpolation/OGC/1/nearest-neighbor&feature_id=2f64af83-7594-4a05-bdf3-425e278a4aee

Query parameters

NameRequired/OptionalDescriptionValue
servicerequiredThe requested OGC service.WCS
requestrequiredThe service request type.GetCoverage
versionoptionalWCS version, defaults to 2.0.12.0.1
coverageidrequiredThe supported Coverage type.For Maxar imagery, use Maxar:Imagery.
feature_idrequiredThe feature ID for the coverage area.2f64af83-7594-4a05-bdf3-425e278a4aee
formatrequiredSupported coverage file formats.See Supported Output Formats below
subsetoptionalSubset (clip) the image - longitude rangeLong(-105.3100485,-105.2363205)
subsetoptionalSubset (clip) the image - latitude rangeLat(40.1410980,40.2148260)
outputcrsrecommendedOutput CRS definitionEPSG:4326, see Subsets below
subsettingcrsrecommendedSubset CRS definitionEPSG:4326, see Subsets below
scalefactoroptionalImage scaling1.0
interpolationoptionalInterpolation method OpenGIS URISee interpolation methods below

Supported output formats

  • image/png
  • image/jpeg
  • image/jp2
  • image/tiff (GeoTIFF)
  • nitf (NITF 2.1)

Interpolation Methods

Provide a URI of the OpenGIS interpolation method. Interpolation is used when scaling or reprojecting to a different output CRS. Supported methods are:

  • http://www.opengis.net/def/interpolation/OGC/1/nearest-neighbor (default)
  • http://www.opengis.net/def/interpolation/OGC/1/linear
  • http://www.opengis.net/def/interpolation/OGC/1/cubic

Feature ID

Feature ID is a required parameter in a Get Coverage request. This is the image's unique identifier to the server. To find a Feature ID, use the WFS service to filter for imagery. The featureID is displayed in the response.

Subsets

Images can be clipped by providing subset parameters to the request.

The maxar:imagery layer advertises its coordinate reference system as WGS84 (EPSG:4326) which reflects how the Imagery Service indexes the available images. However, it is capable of serving images that were generated in any coordinate system. The majority of images available were generated in EPSG:4326, but a small percentage of them were generated in UTM coordinate systems.

It is possible to both subset the image to bounds in any coordinate system, as well as reproject the output to any coordinate system. While a Subset parameter has unit labels like Long or E that hint to the unit, a subset alone is not enough information to accurately assume a coordinate system.

Therefore, it is best practice when using the WCS service to explicitly define both the input and output coordinate systems by including these parameters when passing lat/long subsets:

subsettingcrs=EPSG:4326 & outputcrs=EPSG:4326

This forces the behavior to be consistent with the advertised coordinate system across all images, regardless of which coordinate system they were generated in.

Response

Success response code: 200 OK

The response is an image of the coverage area in the requested format.