Skip to main content

Streaming Imagery - WFS

Overview

Use the Web Feature Service (WFS) to find Maxar online imagery features available to stream. This service provides the geometry and metadata associated with features that are part of one of the following imagery layers:

  • Global Production Standing Order (The Daily Take)
  • FirstLook™ Imagery (Crisis Events)

For Maxar online imagery, use the Feature type "FinishedFeature."

Authentication

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

Bearer tokens

Maxar 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 Maxar 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

NameDescriptionRequest URL
Get CapabilitiesDescribes the capabilities available for WFS.https://api.maxar.com/streaming/v1/ogc/wfs?service=WFS&request=GetCapabilities
Describe Feature TypeReturns the properties available for each supported feature type.https://api.maxar.com/streaming/v1/ogc/wfs?service=WFS&request=DescribeFeatureType
GetFeatureReturns image features and their attributes.https://api.maxar.com/streaming/v1/ogc/wfs?service=WFS&request=GetFeature

WFS Get Capabilities

Returns a list of services and operations supported by the WFS.

Request URL

https://api.maxar.com/streaming/v1/ogc/wfs?service=WFS&request=GetCapabilities&version=2.0.0

Query parameters

NameRequired/OptionalDescriptionValue
servicerequiredThe requested OGC serviceWFS
requestrequiredThe name of the WFS request typeGetCapabilities
versionrequiredWFS version, defaults to 2.0.0Accepts 1.0.0, 1.1.0, 2.0.0

Response

Response output format: XML

Successful status code: 200 OK

Exceptions may also return a 200 OK, with an error in the response body.

WFS Describe Feature Type

Returns a description of feature types supported by the WFS service. To get the description of online imagery features, use the typeName "Maxar:FinishedFeature".

This example shows the "Maxar:FinishedFeature" description from the "DescribeFeatureType" response. Each line is an attribute of the feature type.

Feature Type: FinishedFeature
<xsd:complexType name="FinishedFeatureType">
<xsd:complexContent>
<xsd:extension base="gml:AbstractFeatureType">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="featureId" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="cloudCover" nillable="true" type="xsd:double"/>
<xsd:element maxOccurs="1" minOccurs="0" name="sunAzimuth" nillable="true" type="xsd:double"/>
<xsd:element maxOccurs="1" minOccurs="0" name="sunElevation" nillable="true" type="xsd:double"/>
<xsd:element maxOccurs="1" minOccurs="0" name="offNadirAngle" nillable="true" type="xsd:double"/>
<xsd:element maxOccurs="1" minOccurs="0" name="groundSampleDistance" nillable="true" type="xsd:double"/>
<xsd:element maxOccurs="1" minOccurs="0" name="groundSampleDistanceUnit" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="source" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="bandDescription" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="featureGeometry" nillable="true" type="gml:GeometryPropertyType"/>
<xsd:element maxOccurs="1" minOccurs="0" name="isEnvelopeGeometry" nillable="true" type="xsd:boolean"/>
<xsd:element maxOccurs="1" minOccurs="0" name="featureCentroid" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="dataLayer" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="legacyDescription" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="bandConfiguration" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="fullResolutionInitiatedOrder" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="legacyIdentifier" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="crs" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="acquisitionDate" nillable="true" type="xsd:dateTime"/>
<xsd:element maxOccurs="1" minOccurs="0" name="resolutionX" nillable="true" type="xsd:double"/>
<xsd:element maxOccurs="1" minOccurs="0" name="resolutionY" nillable="true" type="xsd:double"/>
<xsd:element maxOccurs="1" minOccurs="0" name="createdDate" nillable="true" type="xsd:dateTime"/>
<xsd:element maxOccurs="1" minOccurs="0" name="processingLevel" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="earliestAcquisitionTime" nillable="true" type="xsd:dateTime"/>
<xsd:element maxOccurs="1" minOccurs="0" name="latestAcquisitionTime" nillable="true" type="xsd:dateTime"/>
<xsd:element maxOccurs="1" minOccurs="0" name="companyName" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="orbitDirection" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="beamMode" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="polarisationMode" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="polarisationChannel" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="antennaLookDirection" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="minimumIncidenceAngle" nillable="true" type="xsd:double"/>
<xsd:element maxOccurs="1" minOccurs="0" name="maximumIncidenceAngle" nillable="true" type="xsd:double"/>
<xsd:element maxOccurs="1" minOccurs="0" name="incidenceAngleVariation" nillable="true" type="xsd:double"/>
<xsd:element maxOccurs="1" minOccurs="0" name="md5Hash" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="licenseType" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="isMultiPart" nillable="true" type="xsd:boolean"/>
<xsd:element maxOccurs="1" minOccurs="0" name="ceCategory" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="niirs" nillable="true" type="xsd:double"/>
<xsd:element maxOccurs="1" minOccurs="0" name="lastModifiedDate" nillable="true" type="xsd:dateTime"/>
<xsd:element maxOccurs="1" minOccurs="0" name="hasCloudlessGeometry" nillable="true" type="xsd:boolean"/>
<xsd:element maxOccurs="1" minOccurs="0" name="deletedDate" nillable="true" type="xsd:dateTime"/>
<xsd:element maxOccurs="1" minOccurs="0" name="deletedReason" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="productName" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="usageProductId" nillable="true" type="xsd:int"/>
<xsd:element maxOccurs="1" minOccurs="0" name="ce90Accuracy" nillable="true" type="xsd:double"/>
<xsd:element maxOccurs="1" minOccurs="0" name="bucketName" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="path" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="sensorType" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="classification" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="isPrivate" nillable="true" type="xsd:boolean"/>

Request URL

List all typeNames:

https://api.maxar.com/streaming/v1/ogc/wfs?service=WFS&request=DescribeFeatureType

Describe a specific typeName:

https://api.maxar.com/streaming/v1/ogc/wfs?service=WFS&request=DescribeFeatureType&typenames=Maxar:FinishedFeature

Query parameters

NameRequired/OptionalDescriptionValue
servicerequiredThe requested OGC service.WFS
requestrequiredThe name of the WFS request typeDescribeFeatureType
typeNamesoptionalThe typeName to describe. If not provided, a list of available typeNames will be returnedMaxar:FinishedFeature
versionoptionalWFS version, default is 2.0.02.0.0

Response

Response output format: XML

Successful status code: 200 OK

Exceptions may also return a 200 OK, with an error in the response body.

WFS Get Feature

Search for imagery features in the Maxar online catalog by making a Get Feature request with the following query parameters. Use CQL filters to further refine results by feature attributes.

The feature type Maxar:FinishedFeature includes all imagery layers, including the Daily Take imagery layer and the Vivid basemap layers. To restrict WFS results to the Daily Take, use the cql filter clause productName='DAILY_TAKE'

Request URL

URL path with minimum required parameters:

https://api.maxar.com/streaming/v1/ogc/wfs?service=WFS&request=GetFeature&typeNames=Maxar:FinishedFeature

Query parameters

NameRequired/OptionalDescriptionValue
servicerequiredThe requested OGC service.WFS
requestrequiredThe service request type.GetFeature
versionrequiredWFS version, defaults to 2.0.0Accepts 1.0.0, 1.1.0, 2.0.0
bboxoptionalThe geographic extents of the features to return. The bbox and cql_filter parameters cannot be used together in a request.Example: 39.7530,-104.9962,39.7580,-104.9912
srsNameoptionalThis parameter is used to specify the spatial reference system to encode output feature geometries in.An EPSG code, like EPSG:32610
typeNamesrequiredTo obtain the detailed metadata for one or more Features contained in a tile, use the WFS getFeature request, with a typeName of FinishedFeature.Maxar:FinishedFeature
outputFormatoptionalResponse output format. Default is text/xml; subtype=gml/3.1.1.See Supported Output Formats.
countoptionalThe number of features to return in the response. The default is to show all features that match the request, with a maximum of 1000.1 - 1000.
sortByoptionalSpecify the attribute to sort by and whether to sort in ascending (A) or descending (D) order.Example: sortBy=acquisitionDate A
cql_filteroptionalFilter by additional metadata attributes. Cannot be used with the BBox parameter; however, bbox can be queried as a cql filter.See Using CQL filters.

The bbox and cql filter parameters cannot be used together in the same request.

Axis Order

The source data are in EPSG:4326 which uses (y,x) axis order. In WFS 1.1.0 and 2.0.0 axis order is enforced so this means the bbox parameter needs to also follow, i.e. latitude before longitude. For more information, see the Geoserver axis order documentation.

To send a bbox in a different coordinate system, append a coordinate reference system to the bounding box. This syntax looks like bbox=-11683553, 4832655,-11683247, 4832960, EPSG:3857.

Example WFS Get Feature request URL

https://api.maxar.com/streaming/v1/ogc/wfs?service=wfs&request=GetFeature&version=2.0.0&typeNames=Maxar:FinishedFeature&cql_filter=BBox(featureGeometry, 39.7530,-104.9962,39.7580,-104.9912) AND (cloudCover>.20) AND (source like 'LG%') AND (productName = 'DAILY_TAKE')&count=10&sortBy=acquisitionDate A

Supported output formats

The response to a WFS Get Feature query can be returned in a variety of formats. The default format is text/xml; subtype=gml/3.1.1.

text/xml; subtype=gml/3.1.1
GML2
KML
SHAPE-ZIP
application/vnd.google-earth.kml xml
application/vnd.google-earth.kml+xml
csv
gml3
gml32
json
text/csv
text/xml; subtype=gml/2.1.2
text/xml; subtype=gml/3.2

The list of supported output formats for a WFS Get Feature request can also be found in the WFS Get Capabilities response.

Using CQL Filters

OGC Streaming services support searching for features using Common Query Language (CQL) filters.

The query format is:

cql_filter=keyname='value'

CQL operators

OperatorDefinitionExample
=Equalssource='WV02'
>Greater ThansunElevation>15
<Less ThancloudCover<.20
>=Greater than or equal tosunElevation>=15
<=Less than or equal tocloudCover<=.20
<>Not equal todataLayer<>'daily_take'
%Wildcardsource LIKE 'LG%'

CQL search keywords

Use CQL keywords to create a complex query that joins two clauses together. MGP Streaming services support the following keywords:

KeywordDescriptionExample
ANDThe search results will match all clauses in the query.(acquisitionDate>='2019-01-01')AND(cloudCover<.20)
ORThe search results will match at least one of the clauses in the query.(source='WV02') OR (source='WV03_VNIR')
BETWEENThe search results will fall between the dates provide.groundSampleDistance BETWEEN .30 AND .50
NOTThe search results will not contain the value listed in the clause or clauses.NOT (source='WV02')
LIKEUse with a % wildcard character in the value to filter for results that match part of a value.source LIKE 'LG%'

Query by date range

To filter for items within a date range, use one of the following query formats:

cql_filter=(acquisitionDate>='2020-01-01')AND(acquisitionDate<='2020-03-31')
cql_filter=acquisitionDate between '2019-12-15' AND '2020-01-01'

Query for imagery that does not match the value

Use the NOT keyword to filter for items that do not match a specified value.

NOT (source='WV02')
NOT (source='WV02') AND NOT(source='WV03_VNIR')

Query for WorldView Legion data

To query for Legion data, use the "source" field.

cql_filter=source='LGO1'

To query for all Legion data, use the LIKE operator with a wildcard character.

cql_filter=source LIKE 'LG%'

This will return all WorldView Legion imagery that matches the filter criteria.

Imagery metadata

This table describes the metadata associated with feature type Maxar:FinishedFeature. A Feature can be produced from a single image or multiple images. To programmatically get a list of feature metadata, make a WFS "Describe Feature Type" request. Use CQL filters to query by specific attributes.

FieldDescriptionAllowed Values
acquisitionDateThe date and time the satellite acquired the image in Zulu time.YYYY-MM-DDTHH:MM:SSSZ
bandConfigurationNull for panchromatic data; otherwise the order in which the spectral bands occur in the product described by the Feature.RGB, RGBA, RGBU, GUUU, 631_245_788
bandDescriptionDescribes the band combination for the feature. In the MGP Pro UI this is referred to as ProductType.MS1, Pan Sharpened Natural Color, Pan Sharpened Color Infrared, Panchromatic, SWIR 8-Band
ce90AccuracyCE90 standard for geolocation accuracy. CE90 is the circular error at the 90th percentile. This means that a minimum of 90 percent of the points measured has a horizontal error less than the stated CE90 value.Example: 8.4
cloudCoverThe percentage of the image that is covered by clouds.0-90
createdDateThe date and time the feature was created, in Zulu time.YYYY-MM-DDTHH:MM:SSSZ
crsThe EPSG code for the coordinate reference system.Examples: EPSG:4326, EPSG:32638
dataLayerThe data layer the feature is part of.daily_take, sw_sites_eo, crisis_event
earliestAcquisitionTimeThe earliest date and time of acquisition for an image associated with the feature, in Zulu time.YYYY-MM-DDTHH:MM:SSSZ
featureCentroidThe center of the feature geometry.bounding box
featureGeometryThe geometry for the feature in GeoJSON feature format.Polygon
featureIdThe unique identifier assigned to the feature.alphanumeric string
groundSampleDistanceThe spatial resolution of the sensor that acquired the image, stated in meters.number
groundSampleDistanceUnitThe unit used to measure ground sample distance.Meter
isEnvelopeGeometryAn envelope is a bounding box enclosing other geometry or set of geometries.true/false
latestAcquisitionTimeThe latest date and time of acquisition for an image associated with the feature, in Zulu time.YYYY-MM-DDTHH:MM:SSSZ
legacyDescriptionLegacy description retained for backwards compatibility.string
legacyIdentifierThe unique identifier for the image in the archive catalog.alphanumeric string
niirsNational Imagery Interpretability Rating Scale value0 (worst quality) to 9 (best quality).
offNadirAngleThe angle from the sensor between nadir (straight down) and the scene center. Measured in degrees0-90
processingLevelThe processing level for the image.For image features: standard, Ortho - 1:12,000
productNameThe product name assigned to the feature.DAILY_TAKE, SW_SITES_EO, CRISIS_EVENT
resolutionXThe pixel size in the X direction.Example: 4.5E-6
resolutionYThe pixel size in the Y direction.Example: -4.5E-6
sourceThe satellite that acquired the image. If the feature is comprised of more than one image, the source value will be "multiple".WV01 WV02 WV03 WV03_VNIR WV03_SWIR GE01 QB02 LG01 LG02 LGO3 LG04
sunAzimuthFrom the scene center point on the ground, this is the angle between truth north and the sun. Measured clockwise in degrees.0-360
sunElevationThe angle from the tangent of the scene center point to the sun. Measured from the horizon in degrees.0-90
usageProductIDThe usage ID assigned to the product.number

Some feature metadata fields will only have a null value. These fields are not included in the table.

The srsName parameter only supports the value of EPSG:4326. To request a bounding box in a different projection, add the SRS code to the end of the bounding box (in the CQL filter), like this:

BBOX(featureGeometry,-11683553, 4832655,-11683247, 4832960, 'EPSG:3857')