Status

Draft

Description

This API provides the following capabilities for clients.

  • Request the AxelGlobe constellation to capture an AOI (tasking)
  • Retrieve the entities related to the tasking

This API is designed on top of the following specifications.

AxelGlobe

The AxelGlobe is an Earth Observation Platform.

OGCAPIFeatures

OGC API Features (WFS 3) specification is standardized by OGC. OGC API Features specifies the fundamental API building blocks for interacting with features. See also https://ogcapi.ogc.org/features/

References

Features

Spatial Data on the Web Best Practices defines that

Abstraction of real world phenomena. A digital representation of a real world entity or an abstraction of the real world. Examples of features include almost anything that can be placed in time and space, including desks, buildings, cities, trees, forest stands, ecosystems, delivery vehicles, snow removal routes, oil wells, oil pipelines, oil spill, and so on. The terms feature and object are often used synonymously [ISO-19101]. > Ref: https://www.w3.org/TR/sdw-bp/#dfn-feature

LandingPage

API landing page

Follows OGC API - Features (WFS 3) Part-1 Core: 7.2.

Authorizations:
api_key

Responses

Response samples

Content type
application/json
{}

Conformance

conformance

Declaration of conformance classes. Follows OGC API - Features (WFS 3) Part-1 Core: 7.4.

Authorizations:
api_key

Responses

FeatureCollectionsMetadata

collections

Feature collections metadata. Follows OGC API - Features (WFS 3) Part-1 Core: 7.11.

Authorizations:
api_key

Responses

Response samples

Content type
application/json
{}

Satellites

A satellite is one of features on this API. If a client get a feature of the satellite, the client can know what kind of instruments the satellite is equipped with.

describe the satellites feature collection

Follows OGC API - Features (WFS 3) Part-1 Core: 7.12.

Authorizations:
main_authapi_key

Responses

Response samples

Content type
application/json
{}

retrieve features of satellites collection

Retrieve a set of satellite features to see a satellite's information.

Authorizations:
main_authapi_key
query Parameters
limit
integer [ 1 .. 10000 ]
Default: 10

The optional limit parameter limits the number of items that are presented in the response document.

Only items are counted that are on the first level of the collection in the response document. Nested objects contained within the explicitly requested items shall not be counted.

Minimum = 1. Maximum = 10000. Default = 10.

offset
integer [ 0 .. 10000 ]
Default: 0

The optional offset parameter for requesting a set of items. Used along with the limit parameter to request a single page of results.

Responses

Response samples

Content type
application/geo+json
{}

retrieve a satellite feature

Authorizations:
main_authapi_key
path Parameters
featureId
required
string

local identifier of a feature

Responses

Response samples

Content type
application/geo+json
{
  • "type": "Feature",
  • "geometry": {
    },
  • "properties": {
    },
  • "id": "GRUS-1A",
  • "links": []
}

Tasks

A task is one of features on this API. With exchanging the task feature data between clients and servers, the client can create a task feature definition and know the definitions. Based on the requested task definitions, the satellites will plan how to realize them.

describe the tasks feature collection

Follows OGC API - Features (WFS 3) Part-1 Core: 7.12.

Authorizations:
main_authapi_key

Responses

Response samples

Content type
application/json
{}

retrieve features of task feature collection

Retrieve a set of task features to see requested tasks.

Authorizations:
main_authapi_key
query Parameters
limit
integer [ 1 .. 20 ]
Default: 10

The optional limit parameter limits the number of items that are presented in the response document.

offset
integer [ 0 .. 10000 ]
Default: 0

The optional offset parameter for requesting a set of items. Used along with the limit parameter to request a single page of results.

Array of numbers or Array of numbers

The syntax must be minX,minY,maxX,maxY.
The bbox's width must not exceed 1000km.
The bbox's height must not exceed 1000km.
If the value consists of four numbers, the coordinate reference system is WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) .

Examples:

  • 139.7340,35.6089,139.8395,35.6400
datetime
string

Either a date-time or an interval. Date and time expressions adhere to RFC 3339. Intervals may be bounded or half-bounded (double-dots at start or end).

Examples:

  • A date-time: "2018-02-12T23:20:50Z"
    • If the client specify only one datetime, the server will deal with that as a start time.
    • properties.valid_start <= (14 days after start time AND start time < properties.valid_end
  • A bounded interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z"
    • properties.valid_start <= end time AND start time < properties.valid_end .
  • Half-bounded intervals:
    • "2018-02-12T00:00:00Z/.."
      • properties.valid_start <= (14 days after start time AND start time < properties.valid_end
    • "../2018-03-18T12:31:12Z"
      • properties.valid_start <= end time AND (14 days before end time < properties.valid_end

Only features that have a temporal property that intersects the value of datetime are selected.

Responses

Response samples

Content type
application/geo+json
{}

create a task feature

Authorizations:
main_authapi_key
Request Body schema: application/geo+json
required

A feature GeoJSON to represent your task definition.

type
required
string
Value: "Feature"
required
object

The width of the smallest rectangle which can contain the geometry must not exceed 30km.
The height must not exceed 30km.

type
required
string
Value: "Polygon"
coordinates
required
Array of numbers[ items >= 4 items [ items >= 2 items ] ]
required
object
valid_start
required
string <date-time> (timeStamp)

Desired start time of the task execution.
The value must be after the current time.
The value must be earlier than 14 days after the current time.

valid_end
required
string <date-time> (timeStamp)

Desired end time of the task execution.
The value must be after the valid_start time.
The time interval between valid_start and valid_end must not exceed 14 days.

title
required
string [ 1 .. 64 ] characters ^(?=.*[ -~])(?!.*[.~|\/${}%\\]).*$
off_nadir_angle
Array of numbers <double> = 2 items [ items <double > [ 0 .. 15 ] ]
Default: [0,15]
interval_days
required
integer [ 1 .. 28 ]
required
Array of objects non-empty
Default: null
Array (non-empty)
id
required
string (satelliteGrus)
Enum: "GRUS-1A" "GRUS-1B" "GRUS-1C" "GRUS-1D" "GRUS-1E"

The satellite name (satname) which is defined for NORAD to track it.

priority
required
integer [ 0 .. 50 ]

Responses

Request samples

Content type
application/geo+json
{
  • "type": "Feature",
  • "geometry": {
    },
  • "properties": {
    }
}

Response samples

Content type
application/geo+json
{
  • "type": "Feature",
  • "geometry": {
    },
  • "properties": {
    },
  • "id": "d830bcc8-d06d-47a0-b18e-6fbecd6a2728",
  • "links": []
}

retrieve a task feature

Authorizations:
main_authapi_key
path Parameters
featureId
required
string

local identifier of a feature

Responses

Response samples

Content type
application/geo+json
{
  • "type": "Feature",
  • "geometry": {
    },
  • "properties": {
    },
  • "id": "d830bcc8-d06d-47a0-b18e-6fbecd6a2728",
  • "links": []
}

CaptureOpportunities

A capture opportunity is one of features on this API. The satellite operation system will calculate when you have opportunities related to the requested tasks. Through putting operation, a client can request/unrequest the system to consider the opportunity during the scheduling. You can choose which opportunity will be better to your use case.

There is a caveat. Requesting a capture opportunity doesn't guarantee that the system will always schedule for the capture opportunity. Whether the system can schedule for the capture opportunity or not depends on the relationship to the definition of other tasks adjacent to the requested task.
e.g. If one adjacent task is defined with higher priority and high capture frequency, then your requested opportunity might not be scheduled.

describe the capture opportunities feature collection

Follows OGC API - Features (WFS 3) Part-1 Core: 7.12.

Authorizations:
main_authapi_key

Responses

Response samples

Content type
application/json
{}

get queryables response of capture_opportunities collection

Get queryable response of capture opportunities collection to understand what kind of queryables are supported.

Authorizations:
main_authapi_key

Responses

Response samples

Content type
application/json
{
  • "$id": "${server.url}/collections/capture_opportunities/queryables",
  • "type": "object",
  • "title": "The queryables resource for the capture opportunities",
  • "additionalProperties": false,
  • "properties": {
    }
}

retrieve features of capture opportunities collection

Retrieve a set of capture opportunity features to see opportunities related to the requested task.

Authorizations:
main_authapi_key
query Parameters
limit
integer [ 1 .. 10000 ]
Default: 10

The optional limit parameter limits the number of items that are presented in the response document.

Only items are counted that are on the first level of the collection in the response document. Nested objects contained within the explicitly requested items shall not be counted.

Minimum = 1. Maximum = 10000. Default = 10.

offset
integer [ 0 .. 10000 ]
Default: 0

The optional offset parameter for requesting a set of items. Used along with the limit parameter to request a single page of results.

datetime
string

Either a date-time or an interval. Date and time expressions adhere to RFC 3339. Intervals may be bounded or half-bounded (double-dots at start or end).

Examples:

  • A date-time: "2018-02-12T23:20:50Z"
  • A bounded interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z"
  • Half-bounded intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z"

Only features that have a temporal property that intersects the value of datetime are selected.

If a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties.

filter-lang
string
Value: "cql2-text"

Any predicate language that can be suitably expressed as the value of an HTTP query parameter may be specified as the value of the filter parameter. In order to specify that specific language that is being used, this clause defines the filter-lang parameter.

filter-crs
string <uri-reference>

For reasons discussed in the W3C/OGC Spatial Data on the Web Best Practices document, spatial coordinates by default are in the coordinate reference system WGS 84 longitude and latitude for 2D coordinates and WGS 84 longitude, latitude and ellipsoidal height in meters for 3D coordinates. For server that support geometries in other coordinate reference systems, the filter-crs parameter defined in this clause allows clients to assert which CRS is being used to encode geometric values in a filter expression. Otherwiese, the filter-crs parameter has no use.

filter
string

The Filter requirements class defines a general parameter, filter, whose value is a filter expression to be applied when retrieving resources. This is necessary to determine which resources should be included in a result set.

Responses

Response samples

Content type
application/geo+json
{}

retrieve a feature

Authorizations:
main_authapi_key
path Parameters
featureId
required
string

local identifier of a feature

Responses

Response samples

Content type
{
  • "type": "Feature",
  • "geometry": {
    },
  • "properties": {
    },
  • "id": "d830bcc8-d06d-47a0-b18e-6fbecd6a2728",
}

replace a capture opportunities feature

Reserve or cancel a capture opportunity. Follows OGC API - Features - Part 4: Create, Replace, Update and Delete 6.3.

Authorizations:
main_authapi_key
path Parameters
featureId
required
string

local identifier of a feature

Request Body schema: application/geo+json
required

Put an capture opportunity GeoJSON to reserve or cancel it.

type
required
string
Value: "Feature"
required
object (emptyGeometry)
type
required
string
Value: "Polygon"
coordinates
required
Array of numbers or null (an empty array to represent null geometry) >= 0 items
required
object
status
required
string (putCaptureOpportunityStatus)
Enum: "AVAILABLE" "REQUESTED"

If you specify a REQUESTED, the put operation is for requesting the system to consider the opportunity during scheduling. The status state must be AVAILABLE when you request it. If you specify a AVAILABLE, the put operation is for requesting the system not to consider the opportunity during scheduling. The status state must be REQUESTED when you request it. Caution Even if the request is accepted, it doesn't mean the system always consider the opportunity during scheduling. If the requested time is very close to the opportunity time, it may not be possible to schedule for the opportunity to be performed well in advance of the opportunity time.

id
required
string (The capture opportunity unique id which is generated randomly as an unguessable format.)

Responses

Request samples

Content type
application/geo+json
{
  • "type": "Feature",
  • "geometry": {
    },
  • "properties": {
    },
  • "id": "d830bcc8-d06d-47a0-b18e-6fbecd6a2728"
}

Response samples

Content type
application/geo+json
{
  • "type": "Feature",
  • "geometry": {
    },
  • "properties": {
    },
  • "id": "d830bcc8-d06d-47a0-b18e-6fbecd6a2728",
}

ScheduledCaptures

A scheduled capture is one of features on this API.
The status of the scheduled capture transitions from calculating to downlink completed.
Once the downlink is complete, the data is processed.
Once the data is published, it can be searched and downloaded via another API such as STAC API.

describe the scheduled_captures feature collection

Follows OGC API - Features (WFS 3) Part-1 Core: 7.12.

Authorizations:
main_authapi_key

Responses

Response samples

Content type
application/json
{}

get queryables response of scheduled_captures collection

Get queryable response of scheduled captures collection to understand what kind of queryables are supported.

Authorizations:
main_authapi_key

Responses

Response samples

Content type
application/json
{
  • "$id": "${server.url}/collections/scheduled_captures/queryables",
  • "type": "object",
  • "title": "The queryables resource for the scheduled captures",
  • "additionalProperties": false,
  • "properties": {
    }
}

retrieve features of scheduled_captures collection

Retrieve a set of scheduled capture features to observe the output related to the requested task.

Authorizations:
main_authapi_key
query Parameters
limit
integer [ 1 .. 10000 ]
Default: 10

The optional limit parameter limits the number of items that are presented in the response document.

Only items are counted that are on the first level of the collection in the response document. Nested objects contained within the explicitly requested items shall not be counted.

Minimum = 1. Maximum = 10000. Default = 10.

offset
integer [ 0 .. 10000 ]
Default: 0

The optional offset parameter for requesting a set of items. Used along with the limit parameter to request a single page of results.

datetime
string

Either a date-time or an interval. Date and time expressions adhere to RFC 3339. Intervals may be bounded or half-bounded (double-dots at start or end).

Examples:

  • A date-time: "2018-02-12T23:20:50Z"
  • A bounded interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z"
  • Half-bounded intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z"

Only features that have a temporal property that intersects the value of datetime are selected.

If a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties.

filter-lang
string
Value: "cql2-text"

Any predicate language that can be suitably expressed as the value of an HTTP query parameter may be specified as the value of the filter parameter. In order to specify that specific language that is being used, this clause defines the filter-lang parameter.

filter-crs
string <uri-reference>

For reasons discussed in the W3C/OGC Spatial Data on the Web Best Practices document, spatial coordinates by default are in the coordinate reference system WGS 84 longitude and latitude for 2D coordinates and WGS 84 longitude, latitude and ellipsoidal height in meters for 3D coordinates. For server that support geometries in other coordinate reference systems, the filter-crs parameter defined in this clause allows clients to assert which CRS is being used to encode geometric values in a filter expression. Otherwiese, the filter-crs parameter has no use.

filter
string

The Filter requirements class defines a general parameter, filter, whose value is a filter expression to be applied when retrieving resources. This is necessary to determine which resources should be included in a result set.

Responses

Response samples

Content type
application/geo+json
{
  • "type": "FeatureCollection",
  • "features": [
    ],
  • "links": [],
  • "timeStamp": "2019-08-24T14:15:22Z",
  • "numberMatched": 2,
  • "numberReturned": 1
}

retrieve a feature

Authorizations:
main_authapi_key
path Parameters
featureId
required
string

local identifier of a feature

Responses

Response samples

Content type
{
  • "type": "Feature",
  • "geometry": {
    },
  • "properties": {
    },
  • "id": "42531a73-88bb-443b-8852-d7b01dbf27ca",
}