-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #284 from opengeospatial/Multi-dimension-extent
New Requirements Class for uniform multi-dimensional data.
- Loading branch information
Showing
12 changed files
with
324 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
description: |- | ||
The extent (envelope) of the coverage. In Common, currently only spatial and temporal | ||
extents are specified. Coverages proposes to standardize how additional properties are defined, by specifying intervals and crs properties. `extent-additional-dimensions` or `extent-uniform-additional-dimensions` conformance class | ||
allOf: | ||
- $ref: '../common-geodata/extent.yaml' | ||
- type: object | ||
properties: | ||
- orderedAxes: | ||
type: array | ||
minItems: 1 | ||
items: | ||
type: string | ||
description: axis labels of all dimensions listed in CRS order. Spatial dimensions should be listed separately here. | ||
additionalProperties: | ||
description: |- | ||
The domain intervals for any additional dimensions of the extent (envelope) beyond those described in temporal and spatial. | ||
type: object | ||
properties: | ||
allOf: | ||
- interval: | ||
description: |- | ||
One or more intervals that describe the extent for this dimension of the dataset. | ||
The value `null` is supported and indicates an open interval. | ||
In the Core only a single interval is supported. Extensions may support | ||
multiple intervals. If multiple intervals are provided, the union of the | ||
intervals describes the overall extent for the dimension. | ||
type: array | ||
minItems: 1 | ||
items: | ||
description: |- | ||
Lower and upper bound values of the interval. The values | ||
are in the coordinate reference system specified in `crs`, `trs` or `vrs`. | ||
type: array | ||
minItems: 2 | ||
maxItems: 2 | ||
items: | ||
type: string | ||
nullable: true | ||
example: | ||
- '2011-11-11T12:22:11Z' | ||
- 32.5 | ||
- null | ||
- oneOf: | ||
- crs: | ||
type: string | ||
description: generic coordinate reference system suitable for any type of dimensions | ||
- trs: | ||
type: string | ||
description: temporal coordinate reference system (e.g. as defined by Features for 'temporal') | ||
- vrs: | ||
type: string | ||
description: vertical coordinate reference system (e.g. as defined in EDR for 'vertical') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"title": "Extent with Uniform Additional Dimensions Schema", | ||
"description": "Extends the Extent object to support domain-specific uniform geometries.", | ||
"type": "object", | ||
"properties": { | ||
"spatial": { | ||
"description": "The spatial extend of the resources in the collection.", | ||
"type": "object", | ||
"properties": { | ||
"bbox": { | ||
"description": "One or more bounding boxes or cubes which describe the spatial extent of the collection. If multiple areas are provided, the union of the bounding boxes describes the spatial extent.", | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"type": "array", | ||
"oneOf": [ | ||
{ | ||
"minItems": 4, | ||
"maxItems": 4 | ||
}, | ||
{ | ||
"minItems": 6, | ||
"maxItems": 6 | ||
} | ||
], | ||
"items": { | ||
"type": "number" | ||
} | ||
} | ||
} | ||
}, | ||
"crs": { | ||
"description": "Coordinate reference system of the coordinates in the spatial extent (property `spatial`).", | ||
"type": "string", | ||
"enum": [ | ||
"http://www.opengis.net/def/crs/OGC/1.3/CRS84", | ||
"http://www.opengis.net/def/crs/OGC/0/CRS84h" | ||
], | ||
"default": "http://www.opengis.net/def/crs/OGC/1.3/CRS84" | ||
} | ||
}, | ||
"temporal": { | ||
"description": "Begin and end times of the temporal extent.", | ||
"type": "object", | ||
"properties": { | ||
"interval": { | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"type": "array", | ||
"minItems": 2, | ||
"maxItems": 2, | ||
"items": { | ||
"type": "string", | ||
"format": "date-time", | ||
"nullable": "true" | ||
}, | ||
"example": [ | ||
"2011-11-11T12:22:11Z", | ||
"2012-11-24T12:32:43Z" | ||
] | ||
} | ||
}, | ||
"trs": { | ||
"description": "Temporal reference system of the coordinates in the temporal extent (property `temporal`). Only the Gregorian calendar is supported by API-Collections. Extensions may support additional temporal reference systems.", | ||
"type": "string", | ||
"enum": [ | ||
"http://www.opengis.net/def/uom/ISO-8601/0/Gregorian" | ||
], | ||
"default": "http://www.opengis.net/def/uom/ISO-8601/0/Gregorian" | ||
} | ||
} | ||
}, | ||
"uniform-md": { | ||
"description": " extends the Extent object to support domain-specific geometries defined by axis names and the occupied interval alone each access.", | ||
"type": "object", | ||
"properties": { | ||
"orderedAxes": { | ||
"description": "axis labels of all dimensions listed in CRS order. Spatial dimensions should be listed separately here.", | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"type": "string" | ||
} | ||
}, | ||
"intervals": { | ||
"description": "One interval for each axis. An interval describes the extent of the dataset along that axis.", | ||
"type": "array", | ||
"minItems": 1, | ||
"items": { | ||
"description": "Lower and upper bound values of the interval.", | ||
"type": "array", | ||
"minItems": 2, | ||
"maxItems": 2, | ||
"items": { | ||
"type": "string", | ||
"nullable": "true" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
title: Extent with Uniform Additional Dimensions Schema | ||
description: Extends the Extent object to support domain-specific uniform geometries. | ||
type: object | ||
required: | ||
- spatial | ||
- temporal | ||
properties: | ||
spatial: | ||
description: The spatial extend of the resources in the collection. | ||
type: object | ||
properties: | ||
bbox: | ||
description: One or more bounding boxes or cubes which describe the spatial | ||
extent of the collection. If multiple areas are provided, the union of the | ||
bounding boxes describes the spatial extent. | ||
type: array | ||
minItems: 1 | ||
items: | ||
type: array | ||
oneOf: | ||
- minItems: 4 | ||
maxItems: 4 | ||
- minItems: 6 | ||
maxItems: 6 | ||
items: | ||
type: number | ||
crs: | ||
description: Coordinate reference system of the coordinates in the spatial extent | ||
(property `spatial`). | ||
type: string | ||
enum: | ||
- http://www.opengis.net/def/crs/OGC/1.3/CRS84 | ||
- http://www.opengis.net/def/crs/OGC/0/CRS84h | ||
default: http://www.opengis.net/def/crs/OGC/1.3/CRS84 | ||
temporal: | ||
description: Begin and end times of the temporal extent. | ||
type: object | ||
properties: | ||
interval: | ||
type: array | ||
minItems: 1 | ||
items: | ||
type: array | ||
minItems: 2 | ||
maxItems: 2 | ||
items: | ||
type: string | ||
format: date-time | ||
nullable: 'true' | ||
example: | ||
- '2011-11-11T12:22:11Z' | ||
- '2012-11-24T12:32:43Z' | ||
trs: | ||
description: Temporal reference system of the coordinates in the temporal | ||
extent (property `temporal`). Only the Gregorian calendar is supported by | ||
API-Collections. Extensions may support additional temporal reference systems. | ||
type: string | ||
enum: | ||
- http://www.opengis.net/def/uom/ISO-8601/0/Gregorian | ||
default: http://www.opengis.net/def/uom/ISO-8601/0/Gregorian | ||
uniform-md: | ||
description: " extends the Extent object to support domain-specific geometries | ||
defined by axis names and the occupied interval alone each access." | ||
type: object | ||
properties: | ||
orderedAxes: | ||
description: axis labels of all dimensions listed in CRS order. Spatial dimensions | ||
should be listed separately here. | ||
type: array | ||
minItems: 1 | ||
items: | ||
type: string | ||
intervals: | ||
description: One interval for each axis. An interval describes the extent | ||
of the dataset along that axis. | ||
type: array | ||
minItems: 1 | ||
items: | ||
description: Lower and upper bound values of the interval. | ||
type: array | ||
minItems: 2 | ||
maxItems: 2 | ||
items: | ||
type: string | ||
nullable: 'true' |
6 changes: 6 additions & 0 deletions
6
api_modules/extent-uad/requirements/REQ_extent-uad-definition.adoc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
[[req_extent-uad-definition]] | ||
[width="90%",cols="2,6a"] | ||
|=== | ||
^|*Requirement {counter:req-id}* |*/req/common/extent-uad-definition* | ||
^|A |The content of an `Extent with Uniform Additional Dimensions` (Extent-uad) resource SHALL be based upon the OpenAPI segment link:https://github.com/opengeospatial/ogcapi-common/tree/master/api_modules/extent-uad/extent-uad.json[extent-uad.oas]. | ||
|=== |
47 changes: 47 additions & 0 deletions
47
api_modules/extent-uad/requirements_module_extent-uad.adoc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
[[rm_extent-uniform-additional-dimensions]] | ||
[cols="1,4",width="90%"] | ||
|=== | ||
2+|*Requirements Module* | ||
2+|http://www.opengis.net/spec/ogcapi-common-2/1.0/rm/extent-uad | ||
|Target type |Web API Resource | ||
|Dependencies |<<rc_collections-section,Collections>> Requirements Class | ||
|=== | ||
|
||
The `Extent with Uniform Additional Dimensions` (Extent-uad) element extends the <<collection-extent-section,Extent>> element defined in the <<rc-collections-section,http://www.opengis.net/spec/ogcapi-common-2/1.0/req/collections>> Requirements Class to support domain-specific geometries. | ||
|
||
The `Extent-uad` parameter is defined as follows: | ||
|
||
include::requirements/REQ_extent-uad-definition.adoc[] | ||
|
||
`Extent-uad` extends the `Extent` element with a new <<uniform-uad-schema,`uniform-md`>> property. | ||
|
||
Since the `Extent-uad` element extends the `Extent` element, all operations applied against the `Extent` element will have identical behavior when applied against `Extend-uad`. | ||
|
||
[[uniform-uad-schema]] | ||
.Uniform-uad Property | ||
[source, YAML] | ||
---- | ||
uniform-md: | ||
description: "extends the Extent object to support domain-specific geometries defined by axis names and the occupied interval alone each access." | ||
type: object | ||
properties: | ||
orderedAxes: | ||
description: axis labels of all dimensions listed in CRS order. Spatial dimensions should be listed separately here. | ||
type: array | ||
minItems: 1 | ||
items: | ||
type: string | ||
intervals: | ||
description: One interval for each axis. An interval describes the extent of the dataset along that axis. | ||
type: array | ||
minItems: 1 | ||
items: | ||
description: Lower and upper bound values of the interval. | ||
type: array | ||
minItems: 2 | ||
maxItems: 2 | ||
items: | ||
type: string | ||
nullable: 'true' | ||
---- | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
...bset/requirements/REQ_subset-success.adoc → ...set/requirements/REQ_subset-response.adoc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.