openapi: 3.2.0 info: title: Ogc Instance data queries API license: name: OGC License url: https://www.ogc.org/legal version: '1.0' description: 'Operations tagged Instance data queries across 2 of this provider''s published API definitions: ogc-edr-1-0-openapi-ogcapi-environmental-data-retrieval-1-bundled.json, ogc-edr-1-1-openapi-ogcapi-environmental-data-retrieval-1-bundled.json. Each path carries the servers of the definition it was published in.' servers: - url: https://www.example.org/edr description: Example OGC API - Environmental Data Retrieval server - url: https://example.org/edr description: Example OGC API - Environmental Data Retrieval server tags: - name: Instance data queries description: Data queries available on instances of the collection. paths: /collections/{collectionId}/instances/{instanceId}/position: get: tags: - Instance data queries summary: Query end point for position queries of instance {instanceId} of collection {collectionId} description: Query end point for position queries operationId: getInstanceDataForPoint parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string - name: coords in: query description: "location(s) to return data for, the coordinates are defined by a Well Known Text\n(wkt) string. to retrieve a single location :\n\nPOINT(x y) i.e. POINT(0 51.48) for Greenwich, London\n\nAnd for a list of locations\n\nMULTIPOINT((x y),(x1 y1),(x2 y2),(x3 y3))\n\ni.e.\nMULTIPOINT((38.9 -77),(48.85 2.35),(39.92 116.38),(-35.29 149.1),(51.5 -0.1))\n\nsee http://portal.opengeospatial.org/files/?artifact_id=25355 and \nhttps://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry\n\nthe coordinate values will depend on the CRS parameter, if this is not defined\nthe values will be assumed to WGS84 values (i.e x=longitude and y=latitude)\n" required: true schema: type: string - name: z in: query description: "Define the vertical level to return data from \ni.e. z=level\n\nfor instance if the 850hPa pressure level is being queried\n\nz=850\n\nor a range to return data for all levels between and including 2 defined levels\ni.e. z=minimum value/maximum value\n\nfor instance if all values between and including 10m and 100m\n\nz=10/100\n\nfinally a list of height values can be specified\ni.e. z=value1,value2,value3\n\nfor instance if values at 2m, 10m and 80m are required\n\nz=2,10,80\n\nAn Arithmetic sequence using Recurring height intervals, the difference is the number of recurrences is defined at the start \nand the amount to increment the height by is defined at the end\n\ni.e. z=Rn/min height/height interval\n\nso if the request was for 20 height levels 50m apart starting at 100m:\n\nz=R20/100/50\n\nWhen not specified data from all available heights SHOULD be returned\n" required: false schema: type: string style: form explode: false - name: datetime in: query description: '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 resources 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.' required: false schema: type: string style: form explode: false - name: parameter-name in: query description: comma delimited list of parameters to retrieve data for. Valid parameters are listed in the collections metadata schema: type: string style: form explode: false required: false - name: crs in: query description: identifier (id) of the coordinate system to return data in list of valid crs identifiers for the chosen collection are defined in the metadata responses. If not supplied the coordinate reference system will default to WGS84. required: false example: native schema: type: string - name: f in: query description: format to return the data response in required: false schema: type: string responses: '200': description: Data ranges required to construct valid queries for the choosen data collection content: application/prs.coverage+json: schema: type: object title: CoverageJSON description: A geospatial coverage interchange format based on JavaScript Object Notation (JSON) required: - type properties: type: description: Coverage domain type enum: - Coverage - CoverageCollection - Domain domainType: type: string coverages: type: array items: type: object required: - type - domain - ranges properties: type: description: Coverage domain type enum: - Coverage domain: description: A Domain, which defines a set of positions and their extent in one or more referencing systems type: object properties: type: enum: - Domain domainType: type: string axes: type: object oneOf: - description: 'Grid domain: x and y are required, z and t optional' properties: x: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false y: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false t: description: Simple axis with string values (e.g. time strings) allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: string bounds: items: type: string additionalProperties: false required: - x - y - description: 'Trajectory domain: mandatory composite axis and optional z axis' properties: axes: properties: composite: description: Tuple-based axis allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: dataType: enum: - tuple values: items: description: A tuple of axis values (numbers or strings) type: array items: anyOf: - type: number - type: string minItems: 2 coordinates: {} required: - dataType - values - coordinates additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false required: - composite referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system required: - type - axes ranges: additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values parameters: additionalProperties: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, must be "Parameter" enum: - Parameter description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty ranges: type: object additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system minItems: 1 application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, must be "Parameter" enum: - Parameter description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/x-netcdf: schema: type: object text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string post: tags: - Instance data queries summary: Query end point for position queries of instance {instanceId} of collection {collectionId} description: Query end point for position queries operationId: PostInstanceDataForPoint parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string requestBody: content: application/json: schema: type: object required: - coords properties: coords: description: Well Known Text Point definition type: string z: type: string datetime: type: string parameter-name: type: array items: type: string crs: type: string f: type: string responses: '200': description: Data ranges required to construct valid queries for the choosen data collection content: application/prs.coverage+json: schema: type: object title: CoverageJSON description: A geospatial coverage interchange format based on JavaScript Object Notation (JSON) required: - type properties: type: description: Coverage domain type type: string enum: - Coverage - CoverageCollection - Domain domainType: type: string coverages: type: array items: type: object required: - type - domain - ranges properties: type: description: Coverage domain type type: string enum: - Coverage domain: description: A Domain, which defines a set of positions and their extent in one or more referencing systems type: object properties: type: type: string enum: - Domain domainType: type: string axes: type: object oneOf: - description: 'Grid domain: x and y are required, z and t optional' properties: x: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false y: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false t: description: Simple axis with string values (e.g. time strings) allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: string bounds: items: type: string additionalProperties: false required: - x - y - description: 'Trajectory domain: mandatory composite axis and optional z axis' properties: axes: properties: composite: description: Tuple-based axis allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: dataType: type: string enum: - tuple values: items: description: A tuple of axis values (numbers or strings) type: array items: anyOf: - type: number - type: string minItems: 2 coordinates: {} required: - dataType - values - coordinates additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false required: - composite referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system required: - type - axes ranges: additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values parameters: additionalProperties: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty ranges: type: object additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system minItems: 1 application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/x-netcdf: schema: type: object text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string servers: - url: https://www.example.org/edr description: Example OGC API - Environmental Data Retrieval server /collections/{collectionId}/instances/{instanceId}/radius: get: tags: - Instance data queries summary: Query end point to return data within defined radius of a point for an instance {instanceId} of collection {collectionId} description: Query end point to return all data within a defined radius of the defined point location queries operationId: getInstanceDataForRadius parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string - name: coords in: query description: "location(s) to return data for, the coordinates are defined by a Well Known Text\n(wkt) string. to retrieve a single location :\n\nPOINT(x y) i.e. POINT(0 51.48) for Greenwich, London\n\nsee http://portal.opengeospatial.org/files/?artifact_id=25355 and \nhttps://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry\n\nthe coordinate values will depend on the CRS parameter, if this is not defined\nthe values will be assumed to WGS84 values (i.e x=longitude and y=latitude)\n" required: true schema: type: string - name: z in: query description: "Define the vertical level to return data from \ni.e. z=level\n\nfor instance if the 850hPa pressure level is being queried\n\nz=850\n\nor a range to return data for all levels between and including 2 defined levels\ni.e. z=minimum value/maximum value\n\nfor instance if all values between and including 10m and 100m\n\nz=10/100\n\nfinally a list of height values can be specified\ni.e. z=value1,value2,value3\n\nfor instance if values at 2m, 10m and 80m are required\n\nz=2,10,80\n\nAn Arithmetic sequence using Recurring height intervals, the difference is the number of recurrences is defined at the start \nand the amount to increment the height by is defined at the end\n\ni.e. z=Rn/min height/height interval\n\nso if the request was for 20 height levels 50m apart starting at 100m:\n\nz=R20/100/50\n\nWhen not specified data from all available heights SHOULD be returned\n" required: false schema: type: string style: form explode: false - name: datetime in: query description: '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 resources 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.' required: false schema: type: string style: form explode: false - name: within in: query description: Defines radius of area around defined coordinates to include in the data selection required: true example: 10 schema: type: number - name: within-units in: query description: Distance units for the within parameter required: true example: KM schema: type: string - name: parameter-name in: query description: comma delimited list of parameters to retrieve data for. Valid parameters are listed in the collections metadata schema: type: string style: form explode: false required: false - name: crs in: query description: identifier (id) of the coordinate system to return data in list of valid crs identifiers for the chosen collection are defined in the metadata responses. If not supplied the coordinate reference system will default to WGS84. required: false example: native schema: type: string - name: f in: query description: format to return the data response in required: false schema: type: string responses: '200': description: Data ranges required to construct valid queries for the choosen data collection content: application/prs.coverage+json: schema: type: object title: CoverageJSON description: A geospatial coverage interchange format based on JavaScript Object Notation (JSON) required: - type properties: type: description: Coverage domain type enum: - Coverage - CoverageCollection - Domain domainType: type: string coverages: type: array items: type: object required: - type - domain - ranges properties: type: description: Coverage domain type enum: - Coverage domain: description: A Domain, which defines a set of positions and their extent in one or more referencing systems type: object properties: type: enum: - Domain domainType: type: string axes: type: object oneOf: - description: 'Grid domain: x and y are required, z and t optional' properties: x: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false y: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false t: description: Simple axis with string values (e.g. time strings) allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: string bounds: items: type: string additionalProperties: false required: - x - y - description: 'Trajectory domain: mandatory composite axis and optional z axis' properties: axes: properties: composite: description: Tuple-based axis allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: dataType: enum: - tuple values: items: description: A tuple of axis values (numbers or strings) type: array items: anyOf: - type: number - type: string minItems: 2 coordinates: {} required: - dataType - values - coordinates additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false required: - composite referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system required: - type - axes ranges: additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values parameters: additionalProperties: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, must be "Parameter" enum: - Parameter description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty ranges: type: object additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system minItems: 1 application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, must be "Parameter" enum: - Parameter description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/x-netcdf: schema: type: object text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string post: tags: - Instance data queries summary: Query end point to return data within defined radius of a point for an instance {instanceId} of collection {collectionId} description: Query end point to return all data within a defined radius of the defined point location queries operationId: PostInstanceDataForRadius parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string requestBody: content: application/json: schema: type: object required: - coords - within - within-units properties: coords: description: Well Known Text Point definition type: string within: type: number within-units: type: string z: type: string datetime: type: string parameter-name: type: array items: type: string crs: type: string f: type: string responses: '200': description: Data ranges required to construct valid queries for the choosen data collection content: application/prs.coverage+json: schema: type: object title: CoverageJSON description: A geospatial coverage interchange format based on JavaScript Object Notation (JSON) required: - type properties: type: description: Coverage domain type type: string enum: - Coverage - CoverageCollection - Domain domainType: type: string coverages: type: array items: type: object required: - type - domain - ranges properties: type: description: Coverage domain type type: string enum: - Coverage domain: description: A Domain, which defines a set of positions and their extent in one or more referencing systems type: object properties: type: type: string enum: - Domain domainType: type: string axes: type: object oneOf: - description: 'Grid domain: x and y are required, z and t optional' properties: x: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false y: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false t: description: Simple axis with string values (e.g. time strings) allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: string bounds: items: type: string additionalProperties: false required: - x - y - description: 'Trajectory domain: mandatory composite axis and optional z axis' properties: axes: properties: composite: description: Tuple-based axis allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: dataType: type: string enum: - tuple values: items: description: A tuple of axis values (numbers or strings) type: array items: anyOf: - type: number - type: string minItems: 2 coordinates: {} required: - dataType - values - coordinates additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false required: - composite referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system required: - type - axes ranges: additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values parameters: additionalProperties: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty ranges: type: object additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system minItems: 1 application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/x-netcdf: schema: type: object text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string servers: - url: https://www.example.org/edr description: Example OGC API - Environmental Data Retrieval server /collections/{collectionId}/instances/{instanceId}/area: get: tags: - Instance data queries summary: Query end point for area queries of instance {instanceId} of collection {collectionId} defined by a polygon description: Return the data values for the data area defined by the query parameters operationId: GetInstanceDataForArea parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string - name: coords in: query description: "Only data that has a geometry that intersects the area defined by the polygon\nare selected. \n\nThe polygon is defined using a Well Known Text string following \n\ncoords=POLYGON((x y,x1 y1,x2 y2,...,xn yn x y))\n\nwhich are values in the coordinate system defined by the crs query parameter \n(if crs is not defined the values will be assumed to be WGS84 longitude/latitude coordinates). \n\nFor instance a polygon that roughly describes an area that contains \nSouth West England in WGS84 would look like: \n\ncoords=POLYGON((-6.1 50.3,-4.35 51.4,-2.6 51.6,-2.8 50.6,-5.3 49.9,-6.1,50.3))\n\nsee http://portal.opengeospatial.org/files/?artifact_id=25355 and \nhttps://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry\n\nThe coords parameter will only support 2D POLYGON definitions" required: true schema: type: string - name: z in: query description: "Define the vertical level to return data from \ni.e. z=level\n\nfor instance if the 850hPa pressure level is being queried\n\nz=850\n\nor a range to return data for all levels between and including 2 defined levels\ni.e. z=minimum value/maximum value\n\nfor instance if all values between and including 10m and 100m\n\nz=10/100\n\nfinally a list of height values can be specified\ni.e. z=value1,value2,value3\n\nfor instance if values at 2m, 10m and 80m are required\n\nz=2,10,80\n\nAn Arithmetic sequence using Recurring height intervals, the difference is the number of recurrences is defined at the start \nand the amount to increment the height by is defined at the end\n\ni.e. z=Rn/min height/height interval\n\nso if the request was for 20 height levels 50m apart starting at 100m:\n\nz=R20/100/50\n\nWhen not specified data from all available heights SHOULD be returned\n" required: false schema: type: string style: form explode: false - name: datetime in: query description: '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 resources 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.' required: false schema: type: string style: form explode: false - name: parameter-name in: query description: comma delimited list of parameters to retrieve data for. Valid parameters are listed in the collections metadata schema: type: string style: form explode: false required: false - name: resolution-x in: query description: "Defined it the user requires data at a different resolution from the native resolution of the data along the x-axis\n\nIf this is a single value it denotes the number of intervals to retrieve data for along the x-axis\n \n i.e. resolution-x=10 \n \nwould retrieve 10 values along the x-axis from the minimum x coordinate to maximum x coordinate (i.e. a value at both the minimum x and maximum x coordinates and 8 values between).\n" required: false schema: items: type: string - name: resolution-y in: query description: "Defined it the user requires data at a different resolution from the native resolution of the data along the y-axis\n\nIf this is a single value it denotes the number of intervals to retrieve data for along the y-axis\n \n i.e. resolution-y=10 \n \nwould retrieve 10 values along the y-axis from the minimum y coordinate to maximum y coordinate (i.e. a value at both the minimum y and maximum y coordinates and 8 values between).\n" required: false schema: items: type: string - name: crs in: query description: identifier (id) of the coordinate system to return data in list of valid crs identifiers for the chosen collection are defined in the metadata responses. If not supplied the coordinate reference system will default to WGS84. required: false example: native schema: type: string - name: f in: query description: format to return the data response in required: false schema: type: string responses: '200': description: Data ranges required to construct valid queries for the choosen data collection content: application/prs.coverage+json: schema: type: object title: CoverageJSON description: A geospatial coverage interchange format based on JavaScript Object Notation (JSON) required: - type properties: type: description: Coverage domain type enum: - Coverage - CoverageCollection - Domain domainType: type: string coverages: type: array items: type: object required: - type - domain - ranges properties: type: description: Coverage domain type enum: - Coverage domain: description: A Domain, which defines a set of positions and their extent in one or more referencing systems type: object properties: type: enum: - Domain domainType: type: string axes: type: object oneOf: - description: 'Grid domain: x and y are required, z and t optional' properties: x: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false y: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false t: description: Simple axis with string values (e.g. time strings) allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: string bounds: items: type: string additionalProperties: false required: - x - y - description: 'Trajectory domain: mandatory composite axis and optional z axis' properties: axes: properties: composite: description: Tuple-based axis allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: dataType: enum: - tuple values: items: description: A tuple of axis values (numbers or strings) type: array items: anyOf: - type: number - type: string minItems: 2 coordinates: {} required: - dataType - values - coordinates additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false required: - composite referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system required: - type - axes ranges: additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values parameters: additionalProperties: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, must be "Parameter" enum: - Parameter description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty ranges: type: object additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system minItems: 1 application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, must be "Parameter" enum: - Parameter description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/x-netcdf: schema: type: object text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string post: tags: - Instance data queries summary: Query end point for area queries of instance {instanceId} of collection {collectionId} defined by a polygon description: Return the data values for the data area defined by the query parameters operationId: PostInstanceDataForArea parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string requestBody: content: application/json: schema: type: object required: - coords properties: coords: description: Well Known Text Polygon definition type: string z: type: string datetime: type: string parameter-name: type: array items: type: string crs: type: string resolution-x: type: string resolution-y: type: string f: type: string responses: '200': description: Data ranges required to construct valid queries for the choosen data collection content: application/prs.coverage+json: schema: type: object title: CoverageJSON description: A geospatial coverage interchange format based on JavaScript Object Notation (JSON) required: - type properties: type: description: Coverage domain type type: string enum: - Coverage - CoverageCollection - Domain domainType: type: string coverages: type: array items: type: object required: - type - domain - ranges properties: type: description: Coverage domain type type: string enum: - Coverage domain: description: A Domain, which defines a set of positions and their extent in one or more referencing systems type: object properties: type: type: string enum: - Domain domainType: type: string axes: type: object oneOf: - description: 'Grid domain: x and y are required, z and t optional' properties: x: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false y: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false t: description: Simple axis with string values (e.g. time strings) allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: string bounds: items: type: string additionalProperties: false required: - x - y - description: 'Trajectory domain: mandatory composite axis and optional z axis' properties: axes: properties: composite: description: Tuple-based axis allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: dataType: type: string enum: - tuple values: items: description: A tuple of axis values (numbers or strings) type: array items: anyOf: - type: number - type: string minItems: 2 coordinates: {} required: - dataType - values - coordinates additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false required: - composite referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system required: - type - axes ranges: additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values parameters: additionalProperties: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty ranges: type: object additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system minItems: 1 application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/x-netcdf: schema: type: object text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string servers: - url: https://www.example.org/edr description: Example OGC API - Environmental Data Retrieval server /collections/{collectionId}/instances/{instanceId}/cube: get: tags: - Instance data queries summary: Query end point for Cube queries of instance {instanceId} of collection {collectionId} defined by a cube description: Return the data values for the data Cube defined by the query parameters operationId: GetInstanceDataForCube parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string - name: bbox in: query description: 'Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (height or depth): * Lower left corner, coordinate axis 1 * Lower left corner, coordinate axis 2 * Minimum value, coordinate axis 3 (optional) * Upper right corner, coordinate axis 1 * Upper right corner, coordinate axis 2 * Maximum value, coordinate axis 3 (optional) The coordinate reference system of the values is WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate reference system is specified in the parameter `bbox-crs`. For WGS 84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge). If the vertical axis is included, the third and the sixth number are the bottom and the top of the 3-dimensional bounding box. If a feature has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the extent or all relevant geometries.' required: false schema: oneOf: - items: minItems: 4 maxItems: 4 type: number type: array - items: minItems: 6 maxItems: 6 type: number type: array style: form explode: false - name: z in: query description: "Define the vertical levels to return data from \n\nThe value will override any vertical values defined in the BBOX query parameter \n\nA range to return data for all levels between and including 2 defined levels\n\ni.e. z=minimum value/maximum value\n\nfor instance if all values between and including 10m and 100m\n\nz=10/100\n\nA list of height values can be specified\ni.e. z=value1,value2,value3\n\nfor instance if values at 2m, 10m and 80m are required\n\nz=2,10,80\n\nAn Arithmetic sequence using Recurring height intervals, the difference is the number of recurrences is defined at the start \nand the amount to increment the height by is defined at the end\n\ni.e. z=Rn/min height/height interval\n\nso if the request was for 20 height levels 50m apart starting at 100m:\n\nz=R20/100/50\n\nWhen not specified data from all available heights SHOULD be returned\n" required: false schema: type: string - name: datetime in: query description: '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 resources 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.' required: false schema: type: string style: form explode: false - name: parameter-name in: query description: comma delimited list of parameters to retrieve data for. Valid parameters are listed in the collections metadata schema: type: string style: form explode: false required: false - name: crs in: query description: identifier (id) of the coordinate system to return data in list of valid crs identifiers for the chosen collection are defined in the metadata responses. If not supplied the coordinate reference system will default to WGS84. required: false example: native schema: type: string - name: f in: query description: format to return the data response in required: false schema: type: string responses: '200': description: Data ranges required to construct valid queries for the choosen data collection content: application/prs.coverage+json: schema: type: object title: CoverageJSON description: A geospatial coverage interchange format based on JavaScript Object Notation (JSON) required: - type properties: type: description: Coverage domain type enum: - Coverage - CoverageCollection - Domain domainType: type: string coverages: type: array items: type: object required: - type - domain - ranges properties: type: description: Coverage domain type enum: - Coverage domain: description: A Domain, which defines a set of positions and their extent in one or more referencing systems type: object properties: type: enum: - Domain domainType: type: string axes: type: object oneOf: - description: 'Grid domain: x and y are required, z and t optional' properties: x: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false y: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false t: description: Simple axis with string values (e.g. time strings) allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: string bounds: items: type: string additionalProperties: false required: - x - y - description: 'Trajectory domain: mandatory composite axis and optional z axis' properties: axes: properties: composite: description: Tuple-based axis allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: dataType: enum: - tuple values: items: description: A tuple of axis values (numbers or strings) type: array items: anyOf: - type: number - type: string minItems: 2 coordinates: {} required: - dataType - values - coordinates additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false required: - composite referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system required: - type - axes ranges: additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values parameters: additionalProperties: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, must be "Parameter" enum: - Parameter description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty ranges: type: object additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system minItems: 1 application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, must be "Parameter" enum: - Parameter description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/x-netcdf: schema: type: object text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string post: tags: - Instance data queries summary: Query end point for Cube queries of instance {instanceId} of collection {collectionId} defined by a cube description: Return the data values for the data Cube defined by the query parameters operationId: PostInstanceDataForCube parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string requestBody: content: application/json: schema: type: object required: - bbox properties: bbox: type: string z: type: string datetime: type: string parameter-name: type: array items: type: string crs: type: string f: type: string responses: '200': description: Data ranges required to construct valid queries for the choosen data collection content: application/prs.coverage+json: schema: type: object title: CoverageJSON description: A geospatial coverage interchange format based on JavaScript Object Notation (JSON) required: - type properties: type: description: Coverage domain type type: string enum: - Coverage - CoverageCollection - Domain domainType: type: string coverages: type: array items: type: object required: - type - domain - ranges properties: type: description: Coverage domain type type: string enum: - Coverage domain: description: A Domain, which defines a set of positions and their extent in one or more referencing systems type: object properties: type: type: string enum: - Domain domainType: type: string axes: type: object oneOf: - description: 'Grid domain: x and y are required, z and t optional' properties: x: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false y: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false t: description: Simple axis with string values (e.g. time strings) allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: string bounds: items: type: string additionalProperties: false required: - x - y - description: 'Trajectory domain: mandatory composite axis and optional z axis' properties: axes: properties: composite: description: Tuple-based axis allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: dataType: type: string enum: - tuple values: items: description: A tuple of axis values (numbers or strings) type: array items: anyOf: - type: number - type: string minItems: 2 coordinates: {} required: - dataType - values - coordinates additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false required: - composite referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system required: - type - axes ranges: additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values parameters: additionalProperties: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty ranges: type: object additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system minItems: 1 application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/x-netcdf: schema: type: object text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string servers: - url: https://www.example.org/edr description: Example OGC API - Environmental Data Retrieval server /collections/{collectionId}/instances/{instanceId}/trajectory: get: tags: - Instance data queries summary: Query end point for trajectory queries of instance {instanceId} of collection {collectionId} defined by a wkt linestring and a iso8601 time period description: Return the data values for the data Polygon defined by the query parameters operationId: GetInstanceDataForTrajectory parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string - name: coords in: query description: "Only data that has a geometry that intersects the area defined by the linestring\nare selected. \n\nThe trajectory is defined using a Well Known Text string following \n\nA 2D trajectory, on the surface of earth with no time or height dimensions: \n coords=LINESTRING(-2.87 51.14 , -2.98 51.36,-3.15 51.03 ,-3.48 50.74 ,-3.36 50.9 )\n\nA 2D trajectory, on the surface of earth with all for the same time and no height dimension, time value defined in ISO8601 format by the `datetime` query parameter : \n coords=LINESTRING(-2.87 51.14 , -2.98 51.36 ,-3.15 51.03 ,-3.48 50.74 ,-3.36 50.9 )&time=2018-02-12T23:00:00Z \n \nA 2D trajectory, on the surface of earth with no time value but at a fixed height level, height defined in the collection height units by the `z` query parameter : \n coords=LINESTRING(-2.87 51.14 , -2.98 51.36 ,-3.15 51.03 ,-3.48 50.74 ,-3.36 50.9 )&z=850 \n\nA 2D trajectory, on the surface of earth with all for the same time and at a fixed height level, time value defined in ISO8601 format by the `datetime` query parameter and height defined in the collection height units by the `z` query parameter : \n coords=LINESTRING(-2.87 51.14 , -2.98 51.36 ,-3.15 51.03 ,-3.48 50.74 ,-3.36 50.9 )&time=2018-02-12T23:00:00Z&z=850 \n\nA 3D trajectory, on the surface of the earth but over a time range with no height values:\ncoords=LINESTRINGM(-2.87 51.14 1560507000,-2.98 51.36 1560507600,-3.15 51.03 1560508200,-3.48 50.74 1560508500,-3.36 50.9 1560510240)\n\nA 3D trajectory, on the surface of the earth but over a time range with a fixed height value, height defined in the collection height units by the `z` query parameter : \ncoords=LINESTRINGM(-2.87 51.14 1560507000,-2.98 51.36 1560507600,-3.15 51.03 1560508200,-3.48 50.74 1560508500,-3.36 50.9 1560510240)&z=200\n\n\nA 3D trajectory, through a 3D volume with height or depth, but no defined time:\ncoords=LINESTRINGZ(-2.87 51.14 0.1,-2.98 51.36 0.2,-3.15 51.03 0.3,-3.48 50.74 0.4,-3.36 50.9 0.5)\n\nA 3D trajectory, through a 3D volume with height or depth, but a fixed time time value defined in ISO8601 format by the `datetime` query parameter:\ncoords=LINESTRINGZ(-2.87 51.14 0.1,-2.98 51.36 0.2,-3.15 51.03 0.3,-3.48 50.74 0.4,-3.36 50.9 0.5)&time=2018-02-12T23:00:00Z\n\nA 4D trajectory, through a 3D volume but over a time range:\ncoords=LINESTRINGZM(-2.87 51.14 0.1 1560507000,-2.98 51.36 0.2 1560507600,-3.15 51.03 0.3 1560508200, -3.48 50.74 0.4 1560508500, -3.36 50.9 0.5 1560510240)\n(using either the `time` or `z` parameters with a 4D trajectory wil generate an error response)\n\nwhere Z in `LINESTRINGZ` and `LINESTRINGZM` refers to the height value. \n`If the specified CRS does not define the height units, the heights units will default to metres above mean sea level`\n\nand the M in `LINESTRINGM` and `LINESTRINGZM` refers to the number of seconds that have elapsed since the Unix epoch, that is the time 00:00:00 UTC on 1 January 1970. See\nhttps://en.wikipedia.org/wiki/Unix_time" required: true schema: type: string - name: z in: query description: "Define the vertical level to return data from \ni.e. z=level\n\nfor instance if the 850hPa pressure level is being queried\n\nz=850\n\nor a range to return data for all levels between and including 2 defined levels\ni.e. z=minimum value/maximum value\n\nfor instance if all values between and including 10m and 100m\n\nz=10/100\n\nfinally a list of height values can be specified\ni.e. z=value1,value2,value3\n\nfor instance if values at 2m, 10m and 80m are required\n\nz=2,10,80\n\nAn Arithmetic sequence using Recurring height intervals, the difference is the number of recurrences is defined at the start \nand the amount to increment the height by is defined at the end\n\ni.e. z=Rn/min height/height interval\n\nso if the request was for 20 height levels 50m apart starting at 100m:\n\nz=R20/100/50\n\nWhen not specified data from all available heights SHOULD be returned\n" required: false schema: type: string style: form explode: false - name: datetime in: query description: '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 resources 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.' required: false schema: type: string style: form explode: false - name: parameter-name in: query description: comma delimited list of parameters to retrieve data for. Valid parameters are listed in the collections metadata schema: type: string style: form explode: false required: false - name: crs in: query description: identifier (id) of the coordinate system to return data in list of valid crs identifiers for the chosen collection are defined in the metadata responses. If not supplied the coordinate reference system will default to WGS84. required: false example: native schema: type: string - name: f in: query description: format to return the data response in required: false schema: type: string responses: '200': description: Data ranges required to construct valid queries for the choosen data collection content: application/prs.coverage+json: schema: type: object title: CoverageJSON description: A geospatial coverage interchange format based on JavaScript Object Notation (JSON) required: - type properties: type: description: Coverage domain type enum: - Coverage - CoverageCollection - Domain domainType: type: string coverages: type: array items: type: object required: - type - domain - ranges properties: type: description: Coverage domain type enum: - Coverage domain: description: A Domain, which defines a set of positions and their extent in one or more referencing systems type: object properties: type: enum: - Domain domainType: type: string axes: type: object oneOf: - description: 'Grid domain: x and y are required, z and t optional' properties: x: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false y: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false t: description: Simple axis with string values (e.g. time strings) allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: string bounds: items: type: string additionalProperties: false required: - x - y - description: 'Trajectory domain: mandatory composite axis and optional z axis' properties: axes: properties: composite: description: Tuple-based axis allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: dataType: enum: - tuple values: items: description: A tuple of axis values (numbers or strings) type: array items: anyOf: - type: number - type: string minItems: 2 coordinates: {} required: - dataType - values - coordinates additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false required: - composite referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system required: - type - axes ranges: additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values parameters: additionalProperties: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, must be "Parameter" enum: - Parameter description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty ranges: type: object additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system minItems: 1 application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, must be "Parameter" enum: - Parameter description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/x-netcdf: schema: type: object text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string post: tags: - Instance data queries summary: Query end point for trajectory queries of instance {instanceId} of collection {collectionId} defined by a wkt linestring and a iso8601 time period description: Return the data values for the data Polygon defined by the query parameters operationId: PostInstanceDataForTrajectory parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string requestBody: content: application/json: schema: type: object required: - coords properties: coords: description: Well Known Text LineString definition type: string z: type: string datetime: type: string parameter-name: type: array items: type: string crs: type: string f: type: string responses: '200': description: Data ranges required to construct valid queries for the choosen data collection content: application/prs.coverage+json: schema: type: object title: CoverageJSON description: A geospatial coverage interchange format based on JavaScript Object Notation (JSON) required: - type properties: type: description: Coverage domain type type: string enum: - Coverage - CoverageCollection - Domain domainType: type: string coverages: type: array items: type: object required: - type - domain - ranges properties: type: description: Coverage domain type type: string enum: - Coverage domain: description: A Domain, which defines a set of positions and their extent in one or more referencing systems type: object properties: type: type: string enum: - Domain domainType: type: string axes: type: object oneOf: - description: 'Grid domain: x and y are required, z and t optional' properties: x: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false y: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false t: description: Simple axis with string values (e.g. time strings) allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: string bounds: items: type: string additionalProperties: false required: - x - y - description: 'Trajectory domain: mandatory composite axis and optional z axis' properties: axes: properties: composite: description: Tuple-based axis allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: dataType: type: string enum: - tuple values: items: description: A tuple of axis values (numbers or strings) type: array items: anyOf: - type: number - type: string minItems: 2 coordinates: {} required: - dataType - values - coordinates additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false required: - composite referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system required: - type - axes ranges: additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values parameters: additionalProperties: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty ranges: type: object additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system minItems: 1 application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/x-netcdf: schema: type: object text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string servers: - url: https://www.example.org/edr description: Example OGC API - Environmental Data Retrieval server /collections/{collectionId}/instances/{instanceId}/corridor: get: tags: - Instance data queries summary: Query end point for Corridor queries of instance {instanceId} of collection {collectionId} defined by a polygon description: Return the data values for the Corridor defined by the query parameters operationId: GetInstanceDataForCorridor parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string - name: coords in: query description: "Only data that has a geometry that intersects the area defined by the linestring\nare selected. \n\nThe trajectory is defined using a Well Known Text string following \n\nA 2D trajectory, on the surface of earth with no time or height dimensions: \n coords=LINESTRING(-2.87 51.14 , -2.98 51.36,-3.15 51.03 ,-3.48 50.74 ,-3.36 50.9 )\n\nA 2D trajectory, on the surface of earth with all for the same time and no height dimension, time value defined in ISO8601 format by the `datetime` query parameter : \n coords=LINESTRING(-2.87 51.14 , -2.98 51.36 ,-3.15 51.03 ,-3.48 50.74 ,-3.36 50.9 )&time=2018-02-12T23:00:00Z \n \nA 2D trajectory, on the surface of earth with no time value but at a fixed height level, height defined in the collection height units by the `z` query parameter : \n coords=LINESTRING(-2.87 51.14 , -2.98 51.36 ,-3.15 51.03 ,-3.48 50.74 ,-3.36 50.9 )&z=850 \n\nA 2D trajectory, on the surface of earth with all for the same time and at a fixed height level, time value defined in ISO8601 format by the `datetime` query parameter and height defined in the collection height units by the `z` query parameter : \n coords=LINESTRING(-2.87 51.14 , -2.98 51.36 ,-3.15 51.03 ,-3.48 50.74 ,-3.36 50.9 )&time=2018-02-12T23:00:00Z&z=850 \n\nA 3D trajectory, on the surface of the earth but over a time range with no height values:\ncoords=LINESTRINGM(-2.87 51.14 1560507000,-2.98 51.36 1560507600,-3.15 51.03 1560508200,-3.48 50.74 1560508500,-3.36 50.9 1560510240)\n\nA 3D trajectory, on the surface of the earth but over a time range with a fixed height value, height defined in the collection height units by the `z` query parameter : \ncoords=LINESTRINGM(-2.87 51.14 1560507000,-2.98 51.36 1560507600,-3.15 51.03 1560508200,-3.48 50.74 1560508500,-3.36 50.9 1560510240)&z=200\n\n\nA 3D trajectory, through a 3D volume with height or depth, but no defined time:\ncoords=LINESTRINGZ(-2.87 51.14 0.1,-2.98 51.36 0.2,-3.15 51.03 0.3,-3.48 50.74 0.4,-3.36 50.9 0.5)\n\nA 3D trajectory, through a 3D volume with height or depth, but a fixed time time value defined in ISO8601 format by the `datetime` query parameter:\ncoords=LINESTRINGZ(-2.87 51.14 0.1,-2.98 51.36 0.2,-3.15 51.03 0.3,-3.48 50.74 0.4,-3.36 50.9 0.5)&time=2018-02-12T23:00:00Z\n\nA 4D trajectory, through a 3D volume but over a time range:\ncoords=LINESTRINGZM(-2.87 51.14 0.1 1560507000,-2.98 51.36 0.2 1560507600,-3.15 51.03 0.3 1560508200, -3.48 50.74 0.4 1560508500, -3.36 50.9 0.5 1560510240)\n(using either the `time` or `z` parameters with a 4D trajectory wil generate an error response)\n\nwhere Z in `LINESTRINGZ` and `LINESTRINGZM` refers to the height value. \n`If the specified CRS does not define the height units, the heights units will default to metres above mean sea level`\n\nand the M in `LINESTRINGM` and `LINESTRINGZM` refers to the number of seconds that have elapsed since the Unix epoch, that is the time 00:00:00 UTC on 1 January 1970. See\nhttps://en.wikipedia.org/wiki/Unix_time" required: true schema: type: string - name: z in: query description: "Define the vertical level to return data from \ni.e. z=level\n\nfor instance if the 850hPa pressure level is being queried\n\nz=850\n\nor a range to return data for all levels between and including 2 defined levels\ni.e. z=minimum value/maximum value\n\nfor instance if all values between and including 10m and 100m\n\nz=10/100\n\nfinally a list of height values can be specified\ni.e. z=value1,value2,value3\n\nfor instance if values at 2m, 10m and 80m are required\n\nz=2,10,80\n\nAn Arithmetic sequence using Recurring height intervals, the difference is the number of recurrences is defined at the start \nand the amount to increment the height by is defined at the end\n\ni.e. z=Rn/min height/height interval\n\nso if the request was for 20 height levels 50m apart starting at 100m:\n\nz=R20/100/50\n\nWhen not specified data from all available heights SHOULD be returned\n" required: false schema: type: string style: form explode: false - name: datetime in: query description: '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 resources 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.' required: false schema: type: string style: form explode: false - name: parameter-name in: query description: comma delimited list of parameters to retrieve data for. Valid parameters are listed in the collections metadata schema: type: string style: form explode: false required: false - name: corridor-width in: query description: "width of the corridor\n\nThe width value represents the whole width of the corridor where\nthe trajectory supplied in the `coords` query parameter is the centre\npoint of the corridor\n\n`corridor-width={width}`\n\ne.g. corridor-width=100\n\nWould be a request for a corridor 100 units wide with the coords parameter values being the centre point of the requested corridor, \nthe request would be for data values 50 units either side of the trajectory coordinates defined in the coords parameter. \n\nThe width units supported by the collection will be provided in the API metadata responses\n" required: true schema: type: string - name: width-units in: query description: Distance units for the corridor-width parameter required: true example: KM schema: type: string - name: corridor-height in: query description: "height of the corridor\n\nThe height value represents the whole height of the corridor where\nthe trajectory supplied in the `coords` query parameter is the centre\npoint of the corridor\n\n`corridor-height={height}`\n\ne.g. corridor-height=100\n\nWould be a request for a corridor 100 units high with the coords parameter values being the centre point of the requested corridor, \nthe request would be for data values 50 units either side of the trajectory coordinates defined in the coords parameter. \n\nThe height units supported by the collection will be provided in the API metadata responses\n" required: true schema: type: string - name: height-units in: query description: Distance units for the corridor-height parameter required: true example: KM schema: type: string - name: resolution-x in: query description: "Defined it the user requires data at a different resolution from the native resolution of the data along the x-axis\n\nIf this is a single value it denotes the number of intervals to retrieve data for along the x-axis\n \n i.e. resolution-x=10 \n \nwould retrieve 10 values along the x-axis from the minimum x coordinate to maximum x coordinate (i.e. a value at both the minimum x and maximum x coordinates and 8 values between).\n" required: false schema: items: type: string - name: resolution-z in: query description: "Defined it the user requires data at a different resolution from the native resolution of the data along the z-axis\n\nIf this is a single value it denotes the number of intervals to retrieve data for along the z-axis\n \n i.e. resolution-z=10 \n \nwould retrieve 10 values along the z-axis from the minimum z coordinate to maximum z coordinate (i.e. a value at both the minimum z and maximum z coordinates and 8 values between).\n" required: false schema: items: type: string - name: crs in: query description: identifier (id) of the coordinate system to return data in list of valid crs identifiers for the chosen collection are defined in the metadata responses. If not supplied the coordinate reference system will default to WGS84. required: false example: native schema: type: string - name: f in: query description: format to return the data response in required: false schema: type: string responses: '200': description: Data ranges required to construct valid queries for the choosen data collection content: application/prs.coverage+json: schema: type: object title: CoverageJSON description: A geospatial coverage interchange format based on JavaScript Object Notation (JSON) required: - type properties: type: description: Coverage domain type enum: - Coverage - CoverageCollection - Domain domainType: type: string coverages: type: array items: type: object required: - type - domain - ranges properties: type: description: Coverage domain type enum: - Coverage domain: description: A Domain, which defines a set of positions and their extent in one or more referencing systems type: object properties: type: enum: - Domain domainType: type: string axes: type: object oneOf: - description: 'Grid domain: x and y are required, z and t optional' properties: x: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false y: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false t: description: Simple axis with string values (e.g. time strings) allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: string bounds: items: type: string additionalProperties: false required: - x - y - description: 'Trajectory domain: mandatory composite axis and optional z axis' properties: axes: properties: composite: description: Tuple-based axis allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: dataType: enum: - tuple values: items: description: A tuple of axis values (numbers or strings) type: array items: anyOf: - type: number - type: string minItems: 2 coordinates: {} required: - dataType - values - coordinates additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false required: - composite referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system required: - type - axes ranges: additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values parameters: additionalProperties: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, must be "Parameter" enum: - Parameter description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty ranges: type: object additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system minItems: 1 application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, must be "Parameter" enum: - Parameter description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/x-netcdf: schema: type: object text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string post: tags: - Instance data queries summary: Query end point for Corridor queries of instance {instanceId} of collection {collectionId} defined by a polygon description: Return the data values for the Corridor defined by the query parameters operationId: PostInstanceDataForCorridor parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string requestBody: content: application/json: schema: type: object required: - coords - corridor-width - width-units - corridor-height - height-units properties: coords: description: Well Known Text LineString definition type: string z: type: string datetime: type: string parameter-name: type: array items: type: string corridor-width: type: string width-units: type: string corridor-height: type: string height-units: type: string resolution-x: type: string resolution-y: type: string crs: type: string f: type: string responses: '200': description: Data ranges required to construct valid queries for the choosen data collection content: application/prs.coverage+json: schema: type: object title: CoverageJSON description: A geospatial coverage interchange format based on JavaScript Object Notation (JSON) required: - type properties: type: description: Coverage domain type type: string enum: - Coverage - CoverageCollection - Domain domainType: type: string coverages: type: array items: type: object required: - type - domain - ranges properties: type: description: Coverage domain type type: string enum: - Coverage domain: description: A Domain, which defines a set of positions and their extent in one or more referencing systems type: object properties: type: type: string enum: - Domain domainType: type: string axes: type: object oneOf: - description: 'Grid domain: x and y are required, z and t optional' properties: x: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false y: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false t: description: Simple axis with string values (e.g. time strings) allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: string bounds: items: type: string additionalProperties: false required: - x - y - description: 'Trajectory domain: mandatory composite axis and optional z axis' properties: axes: properties: composite: description: Tuple-based axis allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: dataType: type: string enum: - tuple values: items: description: A tuple of axis values (numbers or strings) type: array items: anyOf: - type: number - type: string minItems: 2 coordinates: {} required: - dataType - values - coordinates additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false required: - composite referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system required: - type - axes ranges: additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values parameters: additionalProperties: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty ranges: type: object additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system minItems: 1 application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/x-netcdf: schema: type: object text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string servers: - url: https://www.example.org/edr description: Example OGC API - Environmental Data Retrieval server /collections/{collectionId}/instances/{instanceId}/locations: get: tags: - Instance data queries summary: List available location identifers for the instance description: List the locations available for the instance of the collection operationId: ListDataInstanceLocations parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string - name: bbox in: query description: 'Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (height or depth): * Lower left corner, coordinate axis 1 * Lower left corner, coordinate axis 2 * Minimum value, coordinate axis 3 (optional) * Upper right corner, coordinate axis 1 * Upper right corner, coordinate axis 2 * Maximum value, coordinate axis 3 (optional) The coordinate reference system of the values is WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate reference system is specified in the parameter `bbox-crs`. For WGS 84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge). If the vertical axis is included, the third and the sixth number are the bottom and the top of the 3-dimensional bounding box. If a feature has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the extent or all relevant geometries.' required: false schema: oneOf: - items: minItems: 4 maxItems: 4 type: number type: array - items: minItems: 6 maxItems: 6 type: number type: array style: form explode: false - name: datetime in: query description: '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 resources 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.' required: false schema: type: string style: form explode: false responses: '200': description: List of pre-existing items available for retrieval content: application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, must be "Parameter" enum: - Parameter description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/json: schema: type: string text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string post: tags: - Instance data queries summary: List available location identifers for the instance description: List the locations available for the instance of the collection operationId: PostDataInstanceLocationsList parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string requestBody: content: application/json: schema: type: object properties: bbox: type: string datetime: type: string responses: '200': description: Data ranges required to construct valid queries for the choosen data collection content: application/prs.coverage+json: schema: type: object title: CoverageJSON description: A geospatial coverage interchange format based on JavaScript Object Notation (JSON) required: - type properties: type: description: Coverage domain type type: string enum: - Coverage - CoverageCollection - Domain domainType: type: string coverages: type: array items: type: object required: - type - domain - ranges properties: type: description: Coverage domain type type: string enum: - Coverage domain: description: A Domain, which defines a set of positions and their extent in one or more referencing systems type: object properties: type: type: string enum: - Domain domainType: type: string axes: type: object oneOf: - description: 'Grid domain: x and y are required, z and t optional' properties: x: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false y: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false t: description: Simple axis with string values (e.g. time strings) allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: string bounds: items: type: string additionalProperties: false required: - x - y - description: 'Trajectory domain: mandatory composite axis and optional z axis' properties: axes: properties: composite: description: Tuple-based axis allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: dataType: type: string enum: - tuple values: items: description: A tuple of axis values (numbers or strings) type: array items: anyOf: - type: number - type: string minItems: 2 coordinates: {} required: - dataType - values - coordinates additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false required: - composite referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system required: - type - axes ranges: additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values parameters: additionalProperties: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty ranges: type: object additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system minItems: 1 application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/x-netcdf: schema: type: object text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string servers: - url: https://www.example.org/edr description: Example OGC API - Environmental Data Retrieval server /collections/{collectionId}/instances/{instanceId}/locations/{locId}: get: tags: - Instance data queries summary: Query end point for queries of instance {instanceId} of collection {collectionId} defined by a location id description: Return data the for the location defined by locid operationId: GetInstanceDataForLocation parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string - name: locId in: path required: true description: Retreive data for the location defined by locId (i.e. London_Heathrow, EGLL, 03772 etc) schema: type: string - name: datetime in: query description: '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 resources 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.' required: false schema: type: string style: form explode: false - name: crs in: query description: identifier (id) of the coordinate system to return data in list of valid crs identifiers for the chosen collection are defined in the metadata responses. If not supplied the coordinate reference system will default to WGS84. required: false example: native schema: type: string - name: f in: query description: format to return the data response in required: false schema: type: string responses: '200': description: Data ranges required to construct valid queries for the choosen data collection content: application/prs.coverage+json: schema: type: object title: CoverageJSON description: A geospatial coverage interchange format based on JavaScript Object Notation (JSON) required: - type properties: type: description: Coverage domain type enum: - Coverage - CoverageCollection - Domain domainType: type: string coverages: type: array items: type: object required: - type - domain - ranges properties: type: description: Coverage domain type enum: - Coverage domain: description: A Domain, which defines a set of positions and their extent in one or more referencing systems type: object properties: type: enum: - Domain domainType: type: string axes: type: object oneOf: - description: 'Grid domain: x and y are required, z and t optional' properties: x: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false y: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false t: description: Simple axis with string values (e.g. time strings) allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: string bounds: items: type: string additionalProperties: false required: - x - y - description: 'Trajectory domain: mandatory composite axis and optional z axis' properties: axes: properties: composite: description: Tuple-based axis allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: dataType: enum: - tuple values: items: description: A tuple of axis values (numbers or strings) type: array items: anyOf: - type: number - type: string minItems: 2 coordinates: {} required: - dataType - values - coordinates additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Must be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false required: - composite referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system required: - type - axes ranges: additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values parameters: additionalProperties: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, must be "Parameter" enum: - Parameter description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty ranges: type: object additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system minItems: 1 application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, must be "Parameter" enum: - Parameter description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string description: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. TODO test that the keys are valid language identifiers additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: http://data.example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/x-netcdf: schema: type: object text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string post: tags: - Instance data queries summary: Query end point for queries of instance {instanceId} of collection {collectionId} defined by a location id description: Return data the for the location defined by locid operationId: PostInstanceDataForLocation parameters: - name: collectionId in: path description: Identifier (id) of a specific collection required: true schema: type: string - name: instanceId in: path description: Identifier (id) of a specific instance of a collection required: true schema: type: string - name: locId in: path required: true description: Retreive data for the location defined by locId (i.e. London_Heathrow, EGLL, 03772 etc) schema: type: string requestBody: content: application/json: schema: type: object properties: datetime: type: string parameter-name: type: array items: type: string crs: type: string f: type: string responses: '200': description: Data ranges required to construct valid queries for the choosen data collection content: application/prs.coverage+json: schema: type: object title: CoverageJSON description: A geospatial coverage interchange format based on JavaScript Object Notation (JSON) required: - type properties: type: description: Coverage domain type type: string enum: - Coverage - CoverageCollection - Domain domainType: type: string coverages: type: array items: type: object required: - type - domain - ranges properties: type: description: Coverage domain type type: string enum: - Coverage domain: description: A Domain, which defines a set of positions and their extent in one or more referencing systems type: object properties: type: type: string enum: - Domain domainType: type: string axes: type: object oneOf: - description: 'Grid domain: x and y are required, z and t optional' properties: x: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false y: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false t: description: Simple axis with string values (e.g. time strings) allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: string bounds: items: type: string additionalProperties: false required: - x - y - description: 'Trajectory domain: mandatory composite axis and optional z axis' properties: axes: properties: composite: description: Tuple-based axis allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: dataType: type: string enum: - tuple values: items: description: A tuple of axis values (numbers or strings) type: array items: anyOf: - type: number - type: string minItems: 2 coordinates: {} required: - dataType - values - coordinates additionalProperties: false z: description: Simple axis with numeric values oneOf: - description: Axis defined by list of numeric axis values and optional bounds allOf: - description: Base schema for values-based axis schemas properties: dataType: type: string not: enum: - primitive values: type: array minItems: 1 uniqueItems: true coordinates: type: array items: type: string minItems: 2 bounds: description: Optional axis bounds. Shall be twice as long (and same data type) as "values" type: array minItems: 2 required: - values - properties: values: items: type: number bounds: items: type: number additionalProperties: false - description: A regularly-spaced numeric axis properties: start: type: number stop: type: number num: type: integer minimum: 1 required: - start - stop - num additionalProperties: false required: - composite referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system required: - type - axes ranges: additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values parameters: additionalProperties: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty ranges: type: object additionalProperties: type: object description: Object representing a multidimensional (>= 0D) array with named axes, encoded as a flat one-dimensional array in row-major order properties: type: type: string enum: - NdArray dataType: enum: - float - integer - string shape: type: array items: type: number axisNames: type: array items: type: string uniqueItems: true values: type: array items: type: - number - 'null' minItems: 1 oneOf: - properties: values: items: type: number - properties: values: items: type: integer - properties: values: items: type: string - properties: shape: minItems: 1 axisNames: minItems: 1 required: - shape - axisNames required: - type - dataType - values referencing: type: array items: description: 'Reference System Connection object: connects coordinates to reference systems' type: object properties: coordinates: type: array items: type: string minItems: 1 system: type: object properties: type: type: string required: - type oneOf: - description: Temporal reference system properties: calendar: type: string timeScale: type: string required: - calendar - description: An identifier-based reference system properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string targetConcept: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label identifiers: type: object additionalProperties: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - label required: - targetConcept required: - coordinates - system minItems: 1 application/geo+json: schema: type: object required: - type - features properties: type: type: string enum: - FeatureCollection features: type: array items: type: object required: - type - geometry - properties properties: type: type: string enum: - Feature geometry: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - geometries properties: type: type: string enum: - GeometryCollection geometries: type: array items: oneOf: - type: object required: - type - coordinates properties: type: type: string enum: - Point coordinates: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPoint coordinates: type: array items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - LineString - LineStringM - LineStringZ - LineStringZM coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 maxItems: 4 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiLineString coordinates: type: array items: type: array minItems: 2 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number - type: object required: - type - coordinates properties: type: type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array minItems: 4 items: type: array minItems: 2 items: type: number properties: type: object title: EDR GeoJSON Properties description: Properties to describe existing EDR features -- may be real-world or virtual sampling features. example: - datetime: 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z label: Monitoring site name parameter-name: - velocity - temperature edrqueryendpoint: https://example.org/api/collections/collection/locations/location_123 required: - datetime - parameter-name - label - edrqueryendpoint properties: datetime: type: string title: Date/time Domain description: Either a date-time or a period string that adheres to RFC 3339. Indicates the time instant or period for which data are available from the EDR feature. default: '' example: - 2018-02-12T00:00:00Z/2018-03-18T12:31:12Z parameter-name: type: array title: Available Parameters description: Unique IDs of available parameters, this is the value used for querying the data and corresponds to an ID in the parameter metadata of the collection. items: type: string title: Parameter ID list description: Each entry should contain one parameter ID that can be used to query against the feature. default: '' example: - velocity - temperature label: type: string title: Label description: A label such as a site name or other text to use on a link. default: '' example: - Site A edrqueryendpoint: type: string title: EDR Query Endpoint description: A URI identifying the query end point. May identify a specific location. default: '' example: - https://example.org/api/collections/collection/locations/location_123d} id: oneOf: - type: string - type: integer links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean parameters: description: list of the data parameters available in the collection type: array items: type: object description: Represents metadata about the values of the coverage properties: id: type: string type: description: Type of the parameter object, shall be "Parameter" type: string enum: - Parameter description: type: object description: Object representing an internationalised string. additionalProperties: type: string observedProperty: type: object description: A definition of the quantity being measured. properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string categories: type: array items: type: object properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string description: type: object description: Object representing an internationalised string. additionalProperties: type: string required: - id - label minItems: 1 required: - label unit: type: object description: The units of measure properties: id: type: string label: type: object description: Object representing an internationalised string. additionalProperties: type: string symbol: oneOf: - type: string - type: object properties: type: type: string value: type: string required: - type - value anyOf: - required: - label - required: - symbol categoryEncoding: type: object description: Maps IDs of categories in the observedProperty to range values additionalProperties: oneOf: - type: integer - type: array items: type: integer required: - type - observedProperty links: type: array items: type: object required: - href - rel properties: href: type: string example: https://example.com/collections/monitoringsites/locations/1234 rel: type: string example: alternate type: type: string example: application/geo+json hreflang: type: string example: en title: type: string example: Monitoring site name length: type: integer templated: description: defines if the link href value is a template with values requiring replacement type: boolean timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: '2017-08-17T08:05:32Z' numberMatched: description: 'The number of features of the feature type that match the selection parameters like `bbox`.' type: integer minimum: 0 example: 127 numberReturned: type: integer description: 'The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array.' minimum: 0 example: 10 application/x-netcdf: schema: type: object text/xml: schema: type: string '202': description: Data request still being processed '308': description: Request will take a significant time to process '400': description: Invalid request. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '404': description: Requested data not found. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} '413': description: Requested data volume to large to be handled by this service. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/xml: {} default: description: An error occured. content: application/json: schema: type: object required: - code properties: code: type: string description: type: string text/html: schema: type: string servers: - url: https://www.example.org/edr description: Example OGC API - Environmental Data Retrieval server x-refined-from: - ogc-edr-1-0-openapi-ogcapi-environmental-data-retrieval-1-bundled.json - ogc-edr-1-1-openapi-ogcapi-environmental-data-retrieval-1-bundled.json