Skip to content

Commit

Permalink
openapi: Added paths for Coverage scenes
Browse files Browse the repository at this point in the history
  • Loading branch information
jerstlouis committed Jun 12, 2024
1 parent 8e10c6e commit 6eabd9e
Show file tree
Hide file tree
Showing 15 changed files with 932 additions and 234 deletions.
877 changes: 644 additions & 233 deletions standard/openapi/ogcapi-coverages-1.bundled.json

Large diffs are not rendered by default.

31 changes: 31 additions & 0 deletions standard/openapi/ogcapi-coverages-1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,14 @@ paths:
/collections/{collectionId}/schema:
$ref: 'paths/coverages-core/pSchema.yaml'

# Scenes
/collections/{collectionId}/scenes:
$ref: 'paths/coverages-core/pScenesList.yaml'
/collections/{collectionId}/scenes/{sceneId}:
$ref: 'paths/coverages-core/pScene.yaml'
/collections/{collectionId}/scenes/{sceneId}/coverage:
$ref: 'paths/coverages-core/pSceneCoverage.yaml'

# Coverage Tiles
/collections/{collectionId}/tiles:
$ref: 'paths/tiles-core/collection-tiles/coverage-tiles/pCollectionCoverageTileSetsList.yaml'
Expand All @@ -51,6 +59,13 @@ paths:
/collections/{collectionId}/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}:
$ref: 'paths/tiles-core/collection-tiles/coverage-tiles/pCollectionCoverageTile.yaml'

/collections/{collectionId}/scenes/{sceneId}/tiles:
$ref: 'paths/coverages-core/pSceneCoverageTileSetsList.yaml'
/collections/{collectionId}/scenes/{sceneId}/tiles/{tileMatrixSetId}:
$ref: 'paths/coverages-core/pSceneCoverageTileSet.yaml'
/collections/{collectionId}/scenes/{sceneId}/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}:
$ref: 'paths/coverages-core/pSceneCoverageTile.yaml'

components:
schemas:
# $ref: './schemas/index.yaml' # Not supported?
Expand Down Expand Up @@ -88,6 +103,8 @@ components:
$ref: 'schemas/common-geodata/numberReturned.yaml'
numberMatched:
$ref: 'schemas/common-geodata/numberMatched.yaml'
schema:
$ref: 'schemas/tms/propertiesSchema.yaml'

# Coverages - Core (this adds `orderedAxes`, which could possibly be defined in Common as well?)
coverages:
Expand Down Expand Up @@ -148,6 +165,8 @@ components:
$ref: 'parameters/common-crs/bbox-crs.yaml'

# Coverages - Core
sceneId:
$ref: 'parameters/coverages-core/sceneId.yaml'
scale-factor:
$ref: 'parameters/coverages-core/scale-factor.yaml'
scale-axes:
Expand All @@ -156,6 +175,10 @@ components:
$ref: 'parameters/coverages-core/scale-size.yaml'
properties:
$ref: 'parameters/coverages-core/properties.yaml'
width:
$ref: 'parameters/coverages-core/width.yaml'
height:
$ref: 'parameters/coverages-core/height.yaml'

# Coverages - Core (unspecified)
f-coverage:
Expand Down Expand Up @@ -196,6 +219,14 @@ components:
API:
$ref: 'responses/common-core/rAPI.yaml'

# Coverages - Core
Coverage:
$ref: 'responses/coverages-core/rCoverage.yaml'
Scene:
$ref: 'responses/coverages-core/rScene.yaml'
ScenesList:
$ref: 'responses/coverages-core/rScenesList.yaml'

# Dynamic enumeration of resources specific to this implementation
Enumeration:
$ref: 'responses/dynamic/rEnumeration.yaml'
Expand Down
6 changes: 6 additions & 0 deletions standard/openapi/parameters/coverages-core/sceneId.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: sceneId
in: path
description: Local identifier of a scene
required: true
schema:
type: string
17 changes: 17 additions & 0 deletions standard/openapi/paths/coverages-core/pScene.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Scene
get:
tags:
- Scenes
summary: Retrieve metadata for a particular scene
description: |-
Retrieve metadata for a particular scene
operationId: getScene
parameters:
- $ref: '../../parameters/common-geodata/collectionId-coverage.yaml'
- $ref: '../../parameters/coverages-core/sceneId.yaml'
- $ref: '../../parameters/unspecified/f-metadata.yaml'
responses:
'200':
$ref: '../../responses/coverages-core/rScene.yaml'
default:
$ref: '../../responses/common-core/rException.yaml'
30 changes: 30 additions & 0 deletions standard/openapi/paths/coverages-core/pSceneCoverage.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Scene Coverage
get:
tags:
- Scenes
summary: Retrieve the coverage for scene {sceneId} of {collectionId}
description: |-
Coverage for scene {sceneId} of collection identified by {collectionId}.
Use content negotiation to request required format.
operationId: getSceneCoverage
parameters:
- $ref: '../../parameters/common-geodata/collectionId-coverage.yaml'
- $ref: '../../parameters/coverages-core/sceneId.yaml'
- $ref: '../../parameters/common-geodata/subset.yaml'
- $ref: '../../parameters/common-geodata/bbox.yaml'
- $ref: '../../parameters/common-geodata/datetime.yaml'
- $ref: '../../parameters/coverages-core/properties.yaml'
- $ref: '../../parameters/coverages-core/scale-factor.yaml'
- $ref: '../../parameters/coverages-core/scale-axes.yaml'
- $ref: '../../parameters/coverages-core/scale-size.yaml'
- $ref: '../../parameters/coverages-core/width.yaml'
- $ref: '../../parameters/coverages-core/height.yaml'
- $ref: '../../parameters/common-crs/subset-crs.yaml'
- $ref: '../../parameters/common-crs/bbox-crs.yaml'
- $ref: '../../parameters/common-crs/crs.yaml'
- $ref: '../../parameters/unspecified/f-coverage.yaml'
responses:
'200':
$ref: '../../responses/coverages-core/rCoverage.yaml'
default:
$ref: '../../responses/common-core/rException.yaml'
28 changes: 28 additions & 0 deletions standard/openapi/paths/coverages-core/pSceneCoverageTile.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
get:
tags:
- Coverage Tiles
summary: Retrieve coverage scene tiles
operationId: .collection.scene.coverage.getTile
parameters:
- $ref: '../../parameters/tiles-core/tileMatrix.yaml'
- $ref: '../../parameters/tiles-core/tileRow.yaml'
- $ref: '../../parameters/tiles-core/tileCol.yaml'
- $ref: '../../parameters/common-geodata/datetime.yaml'
- $ref: '../../parameters/common-geodata/collectionId-coverage.yaml'
- $ref: '../../parameters/coverages-core/sceneId.yaml'
- $ref: '../../parameters/common-geodata/subset.yaml'
- $ref: '../../parameters/common-crs/crs.yaml'
- $ref: '../../parameters/common-crs/subset-crs.yaml'
- $ref: '../../parameters/unspecified/tileMatrixSetId.yaml'
- $ref: '../../parameters/unspecified/f-coverageTile.yaml'
responses:
'200':
$ref: '../../responses/tiles-core/rCoverageTile.yaml'
'204':
$ref: '../../responses/tiles-core/rEmptyTile.yaml'
'404':
$ref: '../../responses/common-core/rNotFound.yaml'
'406':
$ref: '../../responses/common-core/rNotAcceptable.yaml'
'500':
$ref: '../../responses/common-core/rServerError.yaml'
19 changes: 19 additions & 0 deletions standard/openapi/paths/coverages-core/pSceneCoverageTileSet.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
get:
tags:
- Coverage Tiles
summary: Retrieve the coverage scene tileset metadata for the specified collection, scene and tiling scheme (tile matrix set)
operationId: .collection.scene.coverage.getTileSet
parameters:
- $ref: '../../parameters/common-geodata/collectionId-coverage.yaml'
- $ref: '../../parameters/coverages-core/sceneId.yaml'
- $ref: '../../parameters/unspecified/tileMatrixSetId.yaml'
- $ref: '../../parameters/unspecified/f-metadata.yaml'
responses:
'200':
$ref: '../../responses/tiles-core/rTileSet.yaml'
'404':
$ref: '../../responses/common-core/rNotFound.yaml'
'406':
$ref: '../../responses/common-core/rNotAcceptable.yaml'
'500':
$ref: '../../responses/common-core/rServerError.yaml'
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
get:
tags:
- Coverage Tiles
summary: Retrieve the list of available coverage tilesets for the specified coverage scene.
operationId: .collection.scene.coverage.getTileSetsList
parameters:
- $ref: '../../parameters/common-geodata/collectionId-coverage.yaml'
- $ref: '../../parameters/coverages-core/sceneId.yaml'
- $ref: '../../parameters/unspecified/f-metadata.yaml'
responses:
'200':
$ref: '../../responses/tiles-core/rTileSetsList.yaml'
'404':
$ref: '../../responses/common-core/rNotFound.yaml'
'406':
$ref: '../../responses/common-core/rNotAcceptable.yaml'
'500':
$ref: '../../responses/common-core/rServerError.yaml'
16 changes: 16 additions & 0 deletions standard/openapi/paths/coverages-core/pScenesList.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Scenes List
get:
tags:
- Scenes
summary: Retrieve the list of scenes comprising this collection
description: |-
The list of scenes comprising this collection.
operationId: getCollectionScenes
parameters:
- $ref: '../../parameters/common-geodata/collectionId-coverage.yaml'
- $ref: '../../parameters/unspecified/f-metadata.yaml'
responses:
'200':
$ref: '../../responses/coverages-core/rScenesList.yaml'
default:
$ref: '../../responses/common-core/rException.yaml'
2 changes: 1 addition & 1 deletion standard/openapi/paths/coverages-core/pSchema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ get:
description: |-
Schema for coverage identified by {collectionId}.
Use content negotiation to request required format.
operationId: getCoverageSchema
operationId: getCollectionSchema
parameters:
- $ref: '../../parameters/common-geodata/collectionId-coverage.yaml'
- $ref: '../../parameters/unspecified/f-metadata.yaml'
Expand Down
50 changes: 50 additions & 0 deletions standard/openapi/responses/coverages-core/rScene.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
description: |-
Information about a particular collection of (mostly geospatial) data available from this API. The collection is accessible via one or more OGC API set of specifications, for which a link to relevant accessible resources, e.g. /collections/{collectionId}/(items, coverage, map, tiles...) is contained in the response, with the corresponding relation type, as well as key information about the collection. This information includes:
* a local identifier for the collection that is unique for the dataset;
* a list of coordinate reference systems (CRS) in which data may be returned by the server. The first CRS is the default coordinate reference system (the default is always WGS 84 with axis order longitude/latitude);
* an optional title and description for the collection;
* an optional extent that can be used to provide an indication of the spatial and temporal extent of the collection - typically derived from the data;
* for collections accessible via the Features or Records API, an optional indicator about the type of the items in the collection (the default value, if the indicator is not provided, is 'feature').
content:
application/json:
schema:
$ref: '../../schemas/coverages-core/coverageInfo.yaml'
example:
id: elevation
title: Elevation
description: Elevation in the city of Bonn.
extent:
spatial:
bbox:
- - 7.01
- 50.63
- 7.22
- 50.78
links:
- href: http://data.example.org/collections/elevation/coverage/domainset
rel: http://www.opengis.net/def/rel/ogc/1.0/coverage-domainset
type: application/json
title: Elevation
- href: http://data.example.org/collections/elevation/coverage/rangetype
rel: http://www.opengis.net/def/rel/ogc/1.0/coverage-rangetype
type: application/json
title: Elevation
- href: http://data.example.org/collections/elevation/coverage
rel: http://www.opengis.net/def/rel/ogc/1.0/coverage
type: application/json
title: Elevation
- href: http://data.example.org/collections/buildings/coverage.html
rel: http://www.opengis.net/def/rel/ogc/1.0/coverage
type: text/html
title: Elevation
- href: https://creativecommons.org/publicdomain/zero/1.0/
rel: license
type: text/html
title: CC0-1.0
- href: https://creativecommons.org/publicdomain/zero/1.0/rdf
rel: license
type: application/rdf+xml
title: CC0-1.0
text/html:
schema:
type: string
9 changes: 9 additions & 0 deletions standard/openapi/responses/coverages-core/rScenesList.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
description: |-
The individual scenes comprising the coverage
content:
application/json:
schema:
$ref: '../../schemas/coverages-core/scenesList.yaml'
text/html:
schema:
type: string
27 changes: 27 additions & 0 deletions standard/openapi/schemas/coverages-core/scene.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
type: object
required:
- id
- crs
- storageCrs
- links
properties:
id:
type:
oneOf:
- string
- integer
extent:
$ref: '../common-geodata/extent-uad.yaml'
crs:
type: array
items:
type: string
format: uri
minItems: 1
storageCrs:
type: string
format: uri
links:
type: array
items:
$ref: '../common-core/link.yaml'
12 changes: 12 additions & 0 deletions standard/openapi/schemas/coverages-core/sceneItem.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
type: object
required:
- id
properties:
id:
oneOf:
- type: string
- type: integer
links:
type: array
items:
$ref: '../common-core/link.yaml'
24 changes: 24 additions & 0 deletions standard/openapi/schemas/coverages-core/scenesList.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
type: object
required:
- links
- scenes
properties:
scenes:
type: array
items:
$ref: 'sceneItem.yaml'
links:
type: array
items:
$ref: '../common-core/link.yaml'
timeStamp:
type: string
format: date-time
numberMatched:
type: integer
minimum: 0
example: 1
numberReturned:
type: integer
minimum: 0
example: 1

0 comments on commit 6eabd9e

Please sign in to comment.