Skip to main content

Basemaps WFS

Overview

The Streaming - Basemaps WFS service requests data from the Maxar Imagery geoserver and returns metadata for basemaps imagery that matches the request criteria.

Basemap imagery is served from the Maxar Imagery geoserver and is described in the "FinishedFeature" type. To request Vivid Basemap products, you will add a CQL filter for product name. The following Vivid Basemap products are available to stream.

Vivid basemap productproductName
Vivid Advanced 15 cmVIVID_ADVANCED_15
Vivid Standard 30 cmVIVID_STANDARD_30

This example shows a CQL query for Vivid Standard 30 cm basemap imagery.

cql_filter=productName='Vivid_Standard_30'

See Using CQL Filters for instructions.

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

The Basemaps WFS service supports the following request types:

NameDescriptionRequest URL
Get CapabilitiesDescribes the capabilities and allowed values for WFS.https://api.maxar.com/basemaps/v1/ogc/wfs?service=WFS&request=GetCapabilities&version=2.0.0
Describe Feature TypeReturns information about available feature types. For basemap imagery, use the feature type "FinishedFeature."https://api.maxar.com/basemaps/v1/ogc/ows?service=WFS&request=DescribeFeatureType&version=2.0.0
GetFeatureReturns metadata for basemap imagery that matches the search criteria.https://api.maxar.com/basemaps/v1/ogc/wfs?service=WFS&request=GetFeature&version=2.0.0&typeNames=Maxar:FinishedFeature

WFS Get Capabilities

Returns a list of services, operations, and allowed values for WFS.

Request URL

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

Request parameters

NameRequired/OptionalDescriptionValue
servicerequiredThe requested OGC servicewfs
requestrequiredThe name of the WFS request typeGetCapabilities
versionrequiredThe version number of the service. We recommend using 2.0.0 which is the latest version.Accepts 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.

Make a Get Capabilities request to see the full response.

WFS Describe Feature Type

Returns a description of feature types supported by the WFS service for imagery. For basemap imagery, use the feature type "FinishedFeature."

Request URL

https://api.maxar.com/basemaps/v1/ogc/ows?service=WFS&request=DescribeFeatureType&version=2.0.0

Request parameters

NameRequired/OptionalDescriptionValue
servicerequiredThe requested OGC service.wfs
requestrequiredThe name of the WFS request typeDescribeFeatureType
versionrequiredThe version number of the service. We recommend using 2.0.0 which is the latest version.Accepts 1.0.0, 1.1.0, 2.0.0

The "FinishedFeature" type description includes metadata for image strips and Vivid basemap imagery. When you make a WFS "Get Feature" request, it will return the metadata fields that apply to the feature. The metadata returned for an image strip is a different subset than the metadata returned for a Vivid basemap.

The "Describe Feature Type" response describes three feature types: FinishedFeature, RasterFeature, and VectorFeature. You should use FinishedFeature for basemap imagery. Raster Feature is nearly identical to FinishedFeature and can also be used. VectorFeature has been deprecated and will be removed from the streaming services in the future. It should not be used for any MGP Streaming service requests.

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

Returns Vivid basemaps imagery that matches the query criteria. The results can be further refined by applying CQL filters to search by metadata.

The bbox and cql_filter parameters cannot be used together in a WFS Get Feature request. If you're using cql filters, you can add the bbox as a cql clause instead of in the bbox field. This is shown in the cql filter example in this request.

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 Vivid basemaps, use the cql filter clause productName LIKE 'VIVID%'. To restrict to a specific Vivid product type, use a cql clause to call that product type. For example, productName='VIVID_ADVANCED_15'

Request URL

This example uses a CQL filter to query for Vivid Standard 30 cm basemap imagery.

https://api.maxar.com/basemaps/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(productName='VIVID_STANDARD_30')

Request parameters

NameRequired/OptionalDescriptionValue
servicerequiredThe requested OGC service.wfs
requestrequiredThe service request type.GetFeature
versionrequiredThe OGC version to use for the request.2.0.0
bboxrequiredThe geographic extents of the features to return.Example: 39.7530,-104.9962,39.7580,-104.9912
srsNameoptionalThis parameter is used to specify the spatial reference system to encode feature geometries in.Accepts EPSG:4326.
typeNamesUse the type name "FinishedFeature" for Vivid basemaps.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.

Axis Order

The source data are in EPSG:4326 which uses (y,x) coordinate order. This means the bbox parameter needs to also follow, i.e. latitude before longitude.

The WFS specification also allows you to include a coordinate reference system with the bounding box when the coordinate systems differ. This syntax looks like bbox=-11683553, 4832655,-11683247, 4832960, EPSG:3857.

However, if you include EPSG:4326 with your bounding box, you will actually be using a compatibility override in Geoserver that assumes you are providing a bbox in (x,y) coordinate order. To use EPSG:4326 as defined with (y,x) coordinate order you must use the strict definition urn:ogc:def:crs:EPSG::4326. Furthermore, this exception only applies to the bbox parameter in WFS and not WMS. It also does not apply to the srsName parameter

To avoid this confusion, you can omit specifying EPSG:4326 since this is the coordinate system already in use. As shown in the table above, passing the parameter as bbox= 39.7530,-104.9962,39.7580,-104.9912 is sufficient.

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.

Supported output formats
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
=EqualsproductName='VIVID_ADVANCED_15'
>Greater ThansunElevation>15
<Less ThancloudCover<.20
>=Greater than or equal tosunElevation>=15
<=Less than or equal tocloudCover<=.20
<>Not equal toproductName<>'VIVID_BASIC'
%WildcardproductName LIKE 'VIVID%'

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 >2023-12-07) AND BBOX(featureGeometry,39.906477,-105.010843,39.918031,-104.99193)
ORThe search results will match at least one of the clauses in the query.(productName='VIVID_STANDARD_30') OR (productName='VIVID_ADVANCED_15')
BETWEENThe search results will fall between the values provided.groundSampleDistance BETWEEN .15 AND .39
NOTThe search results will not contain the value listed in the clause or clauses.NOT (productName='VIVID_STANDARD_30')
LIKEUse with a % wildcard character in the value to filter for results that match part of a value.productName LIKE 'VIVID%'

Query for a bounding box

The WFS specification does not allow BBOX and cql_filter parameters in the same request. In WFS, BBOX is a shorthand parameter for a spatial filter. With a CQL filter you can add the bounding box filter to the CQL filter string.

This does not apply to the WMS parameter BBOX which is not a filter. Using BBOX filter in the CQL query will filter which images or features are drawn within the map area described by the WMS BBOX parameter.

CQL filter BBOX syntax is similar in structure to the BBOX parameter but adds a first value for the name of the column that stores the feature geometry. Use the name featureGeometry.

Example:

BBOX(featureGeometry,39.7530,-104.9962,39.7580,-104.9912)

To set a projection other than EPSG:4326, you can append the project to the end of the bbox geometry, surrounded by single quotes.

Example:

BBOX(featureGeometry,-11712956.404248431,4851060.1776836105,-11693388.525007427,4870628.056924616,'EPSG:3857')

To add BBOX to a CQL filter you would AND the bbox to the other clauses.

Example:

BBOX(featureGeometry,39.7530,-104.9962,39.7580,-104.9912)AND(product_name='VIVID_STANDARD_30')