File ogcapi-maps-1.bundled.json of Package python-MapProxy

{
  "openapi": "3.0.0",
  "info": {
    "version": "1.0",
    "title": "OGC API - Maps",
    "description": "Example API Definition for OGC API - Maps - Part 1: Core",
    "contact": {
      "name": "Open Geospatial Consortium",
      "email": "info@ogc.org"
    },
    "license": {
      "name": "OGC License",
      "url": "http://www.opengeospatial.org/legal/"
    }
  },
  "servers": [
    {
      "description": "Example OGC API - Maps server",
      "url": "https://maps.gnosis.earth/ogcapi"
    }
  ],
  "paths": {
    "/": {
      "get": {
        "tags": [
          "Landing Page"
        ],
        "operationId": "getLandingPage",
        "summary": "Retrieve the OGC API landing page for this service.",
        "parameters": [
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/LandingPage"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/conformance": {
      "get": {
        "tags": [
          "Conformance"
        ],
        "operationId": "getConformance",
        "summary": "Retrieve the set of OGC API conformance classes that are supported by this service.",
        "parameters": [
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Conformance"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/api": {
      "get": {
        "tags": [
          "API"
        ],
        "operationId": "getAPI",
        "summary": "Retrieve this API definition.",
        "parameters": [
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/API"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/api/all-collections": {
      "get": {
        "tags": [
          "API"
        ],
        "operationId": "getAPICollections",
        "summary": "Retrieve the list of collections available from this API implementation & deployment.",
        "parameters": [
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Enumeration"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/api/tileMatrixSets": {
      "get": {
        "tags": [
          "API"
        ],
        "operationId": "getAPITileMatrixSets",
        "summary": "JSON enumeration of the shared TileMatrixSets available from this API implementation & deployment (for inclusion in the API definition).",
        "parameters": [
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Enumeration"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/api/styles": {
      "get": {
        "tags": [
          "API"
        ],
        "operationId": "getAPIStyles",
        "summary": "Retrieve the list of dataset styles available from this API implementation & deployment.",
        "parameters": [
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Enumeration"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections": {
      "get": {
        "tags": [
          "Data Collections"
        ],
        "operationId": "getCollectionsList",
        "summary": "Retrieve the list of geospatial data collections available from this service.",
        "parameters": [
          {
            "$ref": "#/components/parameters/datetime"
          },
          {
            "$ref": "#/components/parameters/bbox"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The optional limit parameter limits the number of collections that are presented in the response document.\nOnly items are counted that are on the first level of the collection in the response document. Nested objects contained within the explicitly requested items shall not be counted.\n* Minimum = 1 * Maximum = 10000 * Default = 10",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 10000,
              "default": 10
            },
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CollectionsList"
          }
        }
      }
    },
    "/collections/{collectionId}": {
      "get": {
        "tags": [
          "Data Collections"
        ],
        "operationId": "getCollection",
        "summary": "Retrieve the description of a collection available from this service.",
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId-all"
          },
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Collection"
          }
        }
      }
    },
    "/map": {
      "get": {
        "tags": [
          "Maps"
        ],
        "summary": "Retrieve a default map of the whole dataset",
        "operationId": ".dataset.getMap",
        "parameters": [
          {
            "$ref": "#/components/parameters/bbox"
          },
          {
            "$ref": "#/components/parameters/datetime"
          },
          {
            "$ref": "#/components/parameters/collections"
          },
          {
            "$ref": "#/components/parameters/subset"
          },
          {
            "$ref": "#/components/parameters/crs"
          },
          {
            "$ref": "#/components/parameters/bbox-crs"
          },
          {
            "$ref": "#/components/parameters/subset-crs"
          },
          {
            "$ref": "#/components/parameters/bgcolor"
          },
          {
            "$ref": "#/components/parameters/transparent"
          },
          {
            "$ref": "#/components/parameters/void-color"
          },
          {
            "$ref": "#/components/parameters/void-transparent"
          },
          {
            "$ref": "#/components/parameters/width"
          },
          {
            "$ref": "#/components/parameters/height"
          },
          {
            "$ref": "#/components/parameters/center"
          },
          {
            "$ref": "#/components/parameters/center-crs"
          },
          {
            "$ref": "#/components/parameters/scale-denominator"
          },
          {
            "$ref": "#/components/parameters/mm-per-pixel"
          },
          {
            "$ref": "#/components/parameters/orientation"
          },
          {
            "$ref": "#/components/parameters/crs-proj-method"
          },
          {
            "$ref": "#/components/parameters/crs-proj-center"
          },
          {
            "$ref": "#/components/parameters/crs-proj-params"
          },
          {
            "$ref": "#/components/parameters/crs-datum"
          },
          {
            "$ref": "#/components/parameters/f-map"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Map"
          },
          "204": {
            "$ref": "#/components/responses/EmptyMap"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/styles/{styleId}/map": {
      "get": {
        "tags": [
          "Maps"
        ],
        "summary": "Retrieve a styled map of the whole dataset",
        "operationId": ".dataset.style.getMap",
        "parameters": [
          {
            "$ref": "#/components/parameters/bbox"
          },
          {
            "$ref": "#/components/parameters/datetime"
          },
          {
            "$ref": "#/components/parameters/collections"
          },
          {
            "$ref": "#/components/parameters/subset"
          },
          {
            "$ref": "#/components/parameters/crs"
          },
          {
            "$ref": "#/components/parameters/bbox-crs"
          },
          {
            "$ref": "#/components/parameters/subset-crs"
          },
          {
            "$ref": "#/components/parameters/bgcolor"
          },
          {
            "$ref": "#/components/parameters/transparent"
          },
          {
            "$ref": "#/components/parameters/void-color"
          },
          {
            "$ref": "#/components/parameters/void-transparent"
          },
          {
            "$ref": "#/components/parameters/width"
          },
          {
            "$ref": "#/components/parameters/height"
          },
          {
            "$ref": "#/components/parameters/center"
          },
          {
            "$ref": "#/components/parameters/center-crs"
          },
          {
            "$ref": "#/components/parameters/scale-denominator"
          },
          {
            "$ref": "#/components/parameters/mm-per-pixel"
          },
          {
            "$ref": "#/components/parameters/orientation"
          },
          {
            "$ref": "#/components/parameters/crs-proj-method"
          },
          {
            "$ref": "#/components/parameters/crs-proj-center"
          },
          {
            "$ref": "#/components/parameters/crs-proj-params"
          },
          {
            "$ref": "#/components/parameters/crs-datum"
          },
          {
            "$ref": "#/components/parameters/styleId"
          },
          {
            "$ref": "#/components/parameters/f-map"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Map"
          },
          "204": {
            "$ref": "#/components/responses/EmptyMap"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/map": {
      "get": {
        "tags": [
          "Maps"
        ],
        "summary": "Retrieve a map for the specified collection",
        "operationId": ".collection.getMap",
        "parameters": [
          {
            "$ref": "#/components/parameters/bbox"
          },
          {
            "$ref": "#/components/parameters/datetime"
          },
          {
            "$ref": "#/components/parameters/collectionId-all"
          },
          {
            "$ref": "#/components/parameters/collections"
          },
          {
            "$ref": "#/components/parameters/subset"
          },
          {
            "$ref": "#/components/parameters/crs"
          },
          {
            "$ref": "#/components/parameters/bbox-crs"
          },
          {
            "$ref": "#/components/parameters/subset-crs"
          },
          {
            "$ref": "#/components/parameters/bgcolor"
          },
          {
            "$ref": "#/components/parameters/transparent"
          },
          {
            "$ref": "#/components/parameters/void-color"
          },
          {
            "$ref": "#/components/parameters/void-transparent"
          },
          {
            "$ref": "#/components/parameters/width"
          },
          {
            "$ref": "#/components/parameters/height"
          },
          {
            "$ref": "#/components/parameters/center"
          },
          {
            "$ref": "#/components/parameters/center-crs"
          },
          {
            "$ref": "#/components/parameters/scale-denominator"
          },
          {
            "$ref": "#/components/parameters/mm-per-pixel"
          },
          {
            "$ref": "#/components/parameters/orientation"
          },
          {
            "$ref": "#/components/parameters/crs-proj-method"
          },
          {
            "$ref": "#/components/parameters/crs-proj-center"
          },
          {
            "$ref": "#/components/parameters/crs-proj-params"
          },
          {
            "$ref": "#/components/parameters/crs-datum"
          },
          {
            "$ref": "#/components/parameters/f-map"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Map"
          },
          "204": {
            "$ref": "#/components/responses/EmptyMap"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/styles/{styleId}/map": {
      "get": {
        "tags": [
          "Maps"
        ],
        "summary": "Retrieve a map for a specified collection and style",
        "operationId": ".collection.style.getMap",
        "parameters": [
          {
            "$ref": "#/components/parameters/bbox"
          },
          {
            "$ref": "#/components/parameters/datetime"
          },
          {
            "$ref": "#/components/parameters/collectionId-all"
          },
          {
            "$ref": "#/components/parameters/collections"
          },
          {
            "$ref": "#/components/parameters/subset"
          },
          {
            "$ref": "#/components/parameters/crs"
          },
          {
            "$ref": "#/components/parameters/bbox-crs"
          },
          {
            "$ref": "#/components/parameters/subset-crs"
          },
          {
            "$ref": "#/components/parameters/bgcolor"
          },
          {
            "$ref": "#/components/parameters/transparent"
          },
          {
            "$ref": "#/components/parameters/void-color"
          },
          {
            "$ref": "#/components/parameters/void-transparent"
          },
          {
            "$ref": "#/components/parameters/width"
          },
          {
            "$ref": "#/components/parameters/height"
          },
          {
            "$ref": "#/components/parameters/center"
          },
          {
            "$ref": "#/components/parameters/center-crs"
          },
          {
            "$ref": "#/components/parameters/scale-denominator"
          },
          {
            "$ref": "#/components/parameters/mm-per-pixel"
          },
          {
            "$ref": "#/components/parameters/orientation"
          },
          {
            "$ref": "#/components/parameters/crs-proj-method"
          },
          {
            "$ref": "#/components/parameters/crs-proj-center"
          },
          {
            "$ref": "#/components/parameters/crs-proj-params"
          },
          {
            "$ref": "#/components/parameters/crs-datum"
          },
          {
            "$ref": "#/components/parameters/styleId-collection"
          },
          {
            "$ref": "#/components/parameters/f-map"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Map"
          },
          "204": {
            "$ref": "#/components/responses/EmptyMap"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/projectionsAndDatums": {
      "get": {
        "tags": [
          "Custom Projection CRS"
        ],
        "summary": "Retrieve the list of custom CRS projection operation methods (including their associated parameters) and datums supported by this API.",
        "operationId": "getCustomCRSProjections",
        "parameters": [
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of custom CRS projection operation methods (including their associated parameters) and datums supported by this API.",
            "content": {
              "application/json": {
                "schema": {
                  "title": "Custom CRS projections and datums",
                  "description": "The list of available projection operation methods, parameters and datums for custom CRS definitions",
                  "type": "object",
                  "required": [
                    "methods",
                    "datums"
                  ],
                  "properties": {
                    "methods": {
                      "type": "object",
                      "description": "The list of available projection operation methods for the `crs-proj-method` query parameter of the API. The properties in this dictionary object are the available values, and correspond to safe CURIEs if a URI is registered for the method.",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "title": {
                            "description": "A title for this projection operation method",
                            "type": "string"
                          },
                          "description": {
                            "description": "Brief narrative description of this projection operation method",
                            "type": "string"
                          },
                          "parameters": {
                            "type": "object",
                            "description": "The list of available method parmaeters for the `crs-proj-params` query parameter of the API when using this method. The properties in this dictionary object are the available values, and correspond to safe CURIEs if a URI is registered for the method. \"$ref\" may be used to refer to global parameters in the \"parameters\" property of this document.",
                            "additionalProperties": {
                              "type": "object",
                              "properties": {
                                "title": {
                                  "description": "A title for this method parameter",
                                  "type": "string"
                                },
                                "description": {
                                  "description": "Brief narrative description of this method parameter",
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "datums": {
                      "type": "object",
                      "description": "The list of available datums for the `crs-datum` query parameter of the API. The properties in this dictionary object are the available values, and correspond to safe CURIEs if a URI is registered for the method.",
                      "additionalProperties": {
                        "type": "object",
                        "required": [
                          "ellipsoid"
                        ],
                        "properties": {
                          "title": {
                            "description": "A title for this datum.",
                            "type": "string"
                          },
                          "description": {
                            "description": "Brief narrative description of this datum",
                            "type": "string"
                          },
                          "ellipsoid": {
                            "description": "The identifier (safe CURIE if a URI exists) for the ellipsoid associated with this datum.",
                            "type": "string"
                          }
                        }
                      }
                    },
                    "parameters": {
                      "type": "object",
                      "description": "A list of global method parameters that can be referenced from individual methods supporting them using the \"$ref\" JSON Pointer mechanism.",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "title": {
                            "description": "A title for this method parameter",
                            "type": "string"
                          },
                          "description": {
                            "description": "Brief narrative description of this method parameter",
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/tileMatrixSets": {
      "get": {
        "tags": [
          "Tiling Schemes"
        ],
        "summary": "Retrieve the list of available tiling schemes (tile matrix sets)",
        "operationId": "getTileMatrixSetsList",
        "parameters": [
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TileMatrixSetsList"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/tileMatrixSets/{tileMatrixSetId}": {
      "get": {
        "tags": [
          "Tiling Schemes"
        ],
        "summary": "Retrieve the definition of the specified tiling scheme (tile matrix set)",
        "operationId": "getTileMatrixSet",
        "parameters": [
          {
            "$ref": "#/components/parameters/tileMatrixSetId"
          },
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TileMatrixSet"
          },
          "404": {
            "description": "The requested tile matrix set id was not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/exception"
                }
              }
            }
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/map/tiles": {
      "get": {
        "tags": [
          "Map Tiles"
        ],
        "summary": "Retrieve the list of all default map tilesets for the whole dataset",
        "operationId": ".dataset.map.getTileSetsList",
        "parameters": [
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TileSetsList"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/map/tiles/{tileMatrixSetId}": {
      "get": {
        "tags": [
          "Map Tiles"
        ],
        "summary": "Retrieve a default map tileset of the whole dataset for the specified tiling scheme (tile matrix set)",
        "operationId": ".dataset.map.getTileSet",
        "parameters": [
          {
            "$ref": "#/components/parameters/collections"
          },
          {
            "$ref": "#/components/parameters/tileMatrixSetId"
          },
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TileSet"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/map/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}": {
      "get": {
        "tags": [
          "Map Tiles"
        ],
        "summary": "Retrieve a default map tile of the whole dataset",
        "operationId": ".dataset.map.getTile",
        "parameters": [
          {
            "$ref": "#/components/parameters/tileMatrix"
          },
          {
            "$ref": "#/components/parameters/tileRow"
          },
          {
            "$ref": "#/components/parameters/tileCol"
          },
          {
            "$ref": "#/components/parameters/datetime"
          },
          {
            "$ref": "#/components/parameters/collections"
          },
          {
            "$ref": "#/components/parameters/subset"
          },
          {
            "$ref": "#/components/parameters/crs"
          },
          {
            "$ref": "#/components/parameters/subset-crs"
          },
          {
            "$ref": "#/components/parameters/bgcolor"
          },
          {
            "$ref": "#/components/parameters/transparent"
          },
          {
            "$ref": "#/components/parameters/void-color"
          },
          {
            "$ref": "#/components/parameters/void-transparent"
          },
          {
            "$ref": "#/components/parameters/tileMatrixSetId"
          },
          {
            "$ref": "#/components/parameters/f-mapTile"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MapTile"
          },
          "204": {
            "$ref": "#/components/responses/EmptyTile"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/styles/{styleId}/map/tiles": {
      "get": {
        "tags": [
          "Map Tiles"
        ],
        "summary": "Retrieve the list of styled map tilesets for the whole dataset",
        "operationId": ".dataset.style.map.getTileSetsList",
        "parameters": [
          {
            "$ref": "#/components/parameters/styleId"
          },
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TileSetsList"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/styles/{styleId}/map/tiles/{tileMatrixSetId}": {
      "get": {
        "tags": [
          "Map Tiles"
        ],
        "summary": "Retrieve a styled map tileset of the whole dataset for the specified tiling scheme (tile matrix set)",
        "operationId": ".dataset.style.map.getTileSet",
        "parameters": [
          {
            "$ref": "#/components/parameters/styleId"
          },
          {
            "$ref": "#/components/parameters/collections"
          },
          {
            "$ref": "#/components/parameters/tileMatrixSetId"
          },
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TileSet"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/styles/{styleId}/map/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}": {
      "get": {
        "tags": [
          "Map Tiles"
        ],
        "summary": "Retrieve a styled map tiles",
        "operationId": ".dataset.style.map.getTile",
        "parameters": [
          {
            "$ref": "#/components/parameters/tileMatrix"
          },
          {
            "$ref": "#/components/parameters/tileRow"
          },
          {
            "$ref": "#/components/parameters/tileCol"
          },
          {
            "$ref": "#/components/parameters/datetime"
          },
          {
            "$ref": "#/components/parameters/collections"
          },
          {
            "$ref": "#/components/parameters/subset"
          },
          {
            "$ref": "#/components/parameters/crs"
          },
          {
            "$ref": "#/components/parameters/subset-crs"
          },
          {
            "$ref": "#/components/parameters/bgcolor"
          },
          {
            "$ref": "#/components/parameters/transparent"
          },
          {
            "$ref": "#/components/parameters/void-color"
          },
          {
            "$ref": "#/components/parameters/void-transparent"
          },
          {
            "$ref": "#/components/parameters/styleId"
          },
          {
            "$ref": "#/components/parameters/tileMatrixSetId"
          },
          {
            "$ref": "#/components/parameters/f-mapTile"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MapTile"
          },
          "204": {
            "$ref": "#/components/responses/EmptyTile"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/map/tiles": {
      "get": {
        "tags": [
          "Map Tiles"
        ],
        "summary": "Retrieve a list of all map tilesets for specified collection.",
        "operationId": ".collection.map.getTileSetsList",
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId-all"
          },
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TileSetsList"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/map/tiles/{tileMatrixSetId}": {
      "get": {
        "tags": [
          "Map Tiles"
        ],
        "summary": "Retrieve a map tile set metadata for the specified collection and tiling scheme (tile matrix set)",
        "operationId": ".collection.map.getTileSet",
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId-all"
          },
          {
            "$ref": "#/components/parameters/collections"
          },
          {
            "$ref": "#/components/parameters/tileMatrixSetId"
          },
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TileSet"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/map/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}": {
      "get": {
        "tags": [
          "Map Tiles"
        ],
        "summary": "Retrieve a map tile from the specified collection",
        "operationId": ".collection.map.getTile",
        "parameters": [
          {
            "$ref": "#/components/parameters/tileMatrix"
          },
          {
            "$ref": "#/components/parameters/tileRow"
          },
          {
            "$ref": "#/components/parameters/tileCol"
          },
          {
            "$ref": "#/components/parameters/datetime"
          },
          {
            "$ref": "#/components/parameters/collectionId-all"
          },
          {
            "$ref": "#/components/parameters/collections"
          },
          {
            "$ref": "#/components/parameters/subset"
          },
          {
            "$ref": "#/components/parameters/crs"
          },
          {
            "$ref": "#/components/parameters/subset-crs"
          },
          {
            "$ref": "#/components/parameters/bgcolor"
          },
          {
            "$ref": "#/components/parameters/transparent"
          },
          {
            "$ref": "#/components/parameters/void-color"
          },
          {
            "$ref": "#/components/parameters/void-transparent"
          },
          {
            "$ref": "#/components/parameters/tileMatrixSetId"
          },
          {
            "$ref": "#/components/parameters/f-mapTile"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MapTile"
          },
          "204": {
            "$ref": "#/components/responses/EmptyTile"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/styles/{styleId}/map/tiles": {
      "get": {
        "tags": [
          "Map Tiles"
        ],
        "summary": "Retrieve a list of styled map tilesets for the specified collection",
        "operationId": ".collection.style.map.getTileSetsList",
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId-all"
          },
          {
            "$ref": "#/components/parameters/f-metadata"
          },
          {
            "$ref": "#/components/parameters/styleId-collection"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TileSetsList"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/styles/{styleId}/map/tiles/{tileMatrixSetId}": {
      "get": {
        "tags": [
          "Map Tiles"
        ],
        "summary": "Retrieve the map tileset metadata for the specified collection, style and tiling scheme (tile matrix set).",
        "operationId": ".collection.style.map.getTileSet",
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId-all"
          },
          {
            "$ref": "#/components/parameters/collections"
          },
          {
            "$ref": "#/components/parameters/styleId-collection"
          },
          {
            "$ref": "#/components/parameters/tileMatrixSetId"
          },
          {
            "$ref": "#/components/parameters/f-metadata"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TileSet"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/styles/{styleId}/map/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}": {
      "get": {
        "tags": [
          "Map Tiles"
        ],
        "summary": "Retrieve a map tile for a specified collection and style",
        "operationId": ".collection.style.map.getTile",
        "parameters": [
          {
            "$ref": "#/components/parameters/tileMatrix"
          },
          {
            "$ref": "#/components/parameters/tileRow"
          },
          {
            "$ref": "#/components/parameters/tileCol"
          },
          {
            "$ref": "#/components/parameters/datetime"
          },
          {
            "$ref": "#/components/parameters/collectionId-all"
          },
          {
            "$ref": "#/components/parameters/collections"
          },
          {
            "$ref": "#/components/parameters/subset"
          },
          {
            "$ref": "#/components/parameters/crs"
          },
          {
            "$ref": "#/components/parameters/subset-crs"
          },
          {
            "$ref": "#/components/parameters/bgcolor"
          },
          {
            "$ref": "#/components/parameters/transparent"
          },
          {
            "$ref": "#/components/parameters/void-color"
          },
          {
            "$ref": "#/components/parameters/void-transparent"
          },
          {
            "$ref": "#/components/parameters/styleId-collection"
          },
          {
            "$ref": "#/components/parameters/tileMatrixSetId"
          },
          {
            "$ref": "#/components/parameters/f-mapTile"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MapTile"
          },
          "204": {
            "$ref": "#/components/responses/EmptyTile"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "406": {
            "$ref": "#/components/responses/NotAcceptable"
          },
          "500": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "confClasses": {
        "type": "object",
        "required": [
          "conformsTo"
        ],
        "properties": {
          "conformsTo": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "link": {
        "type": "object",
        "required": [
          "href",
          "rel"
        ],
        "properties": {
          "href": {
            "type": "string",
            "description": "Supplies the URI to a remote resource (or resource fragment).",
            "example": "http://data.example.com/buildings/123"
          },
          "rel": {
            "type": "string",
            "description": "The type or semantics of the relation.",
            "example": "alternate"
          },
          "type": {
            "type": "string",
            "description": "A hint indicating what the media type of the result of dereferencing the link should be.",
            "example": "application/geo+json"
          },
          "templated": {
            "type": "boolean",
            "description": "This flag set to true if the link is a URL template."
          },
          "varBase": {
            "description": "A base path to retrieve semantic information about the variables used in URL template.",
            "type": "string",
            "example": "/ogcapi/vars/"
          },
          "hreflang": {
            "type": "string",
            "description": "A hint indicating what the language of the result of dereferencing the link should be.",
            "example": "en"
          },
          "title": {
            "type": "string",
            "description": "Used to label the destination of a link such that it can be used as a human-readable identifier.",
            "example": "Trierer Strasse 70, 53115 Bonn"
          },
          "length": {
            "type": "integer"
          }
        }
      },
      "landingPage": {
        "type": "object",
        "required": [
          "links"
        ],
        "properties": {
          "title": {
            "type": "string",
            "title": "The title of the API.",
            "description": "While a title is not required, implementors are strongly advised to include one.",
            "example": "Buildings in Bonn"
          },
          "description": {
            "type": "string",
            "example": "Access to data about buildings in the city of Bonn via a Web API that conforms to the OGC API Common specification."
          },
          "attribution": {
            "type": "string",
            "title": "attribution for the API",
            "description": "The `attribution` should be short and intended for presentation to a user, for example, in a corner of a map. Parts of the text can be links to other resources if additional information is needed. The string can include HTML markup."
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/link"
            }
          }
        }
      },
      "exception": {
        "title": "Exception Schema",
        "description": "JSON schema for exceptions based on RFC 7807",
        "type": "object",
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "integer"
          },
          "detail": {
            "type": "string"
          },
          "instance": {
            "type": "string"
          }
        }
      },
      "collections": {
        "type": "object",
        "required": [
          "links",
          "collections"
        ],
        "properties": {
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/link"
            }
          },
          "timeStamp": {
            "type": "string",
            "format": "date-time"
          },
          "numberMatched": {
            "$ref": "#/components/schemas/numberMatched"
          },
          "numberReturned": {
            "$ref": "#/components/schemas/numberReturned"
          },
          "collections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/collectionDesc"
            }
          }
        }
      },
      "collectionDesc": {
        "type": "object",
        "required": [
          "id",
          "links"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "identifier of the collection used, for example, in URIs",
            "example": "dem"
          },
          "title": {
            "type": "string",
            "description": "human readable title of the collection",
            "example": "Digital Elevation Model"
          },
          "description": {
            "type": "string",
            "description": "a description of the data in the collection",
            "example": "A Digital Elevation Model."
          },
          "attribution": {
            "type": "string",
            "title": "attribution for the collection"
          },
          "links": {
            "type": "array",
            "example": [
              {
                "href": "http://data.example.org/collections/dem?f=json",
                "rel": "self",
                "type": "application/json",
                "title": "Digital Elevation Model"
              },
              {
                "href": "http://data.example.org/collections/dem?f=html",
                "rel": "alternate",
                "type": "application/json",
                "title": "Digital Elevation Model"
              },
              {
                "href": "http://data.example.org/collections/dem/coverage",
                "rel": "coverage",
                "type": "image/tiff; application=geotiff",
                "title": "Digital Elevation Model"
              },
              {
                "href": "http://data.example.org/collections/dem/coverage/domainset",
                "rel": "domainset",
                "type": "application/json",
                "title": "Digital Elevation Model"
              },
              {
                "href": "http://data.example.org/collections/dem/coverage/rangetype",
                "rel": "rangetype",
                "type": "application/json",
                "title": "Digital Elevation Model"
              },
              {
                "href": "http://data.example.org/collections/dem/coverage/metadata",
                "rel": "metadata",
                "type": "application/json",
                "title": "Digital Elevation Model"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/link"
            }
          },
          "extent": {
            "$ref": "#/components/schemas/extent-uad"
          },
          "itemType": {
            "description": "indicator about the type of the items in the collection if the collection has an accessible /collections/{collectionId}/items endpoint",
            "type": "string",
            "default": "unknown"
          },
          "crs": {
            "description": "the list of coordinate reference systems supported by the API; the first item is the default coordinate reference system",
            "type": "array",
            "items": {
              "type": "string"
            },
            "default": [
              "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
            ],
            "example": [
              "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
              "http://www.opengis.net/def/crs/EPSG/0/4326"
            ]
          },
          "storageCrs": {
            "description": "the native coordinate reference system (i.e., the most efficient CRS in which to request the data, possibly how the data is stored on the server); this is the default output coordinate reference system for Maps and Coverages",
            "type": "string",
            "default": "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
            "example": "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
          },
          "dataType": {
            "allOf": [
              {
                "description": "Type of data represented in the collection"
              },
              {
                "$ref": "#/components/schemas/dataType"
              }
            ]
          },
          "geometryDimension": {
            "description": "The geometry dimension of the features shown in this layer (0: points, 1: curves, 2: surfaces, 3: solids), unspecified: mixed or unknown",
            "type": "integer",
            "minimum": 0,
            "maximum": 3
          },
          "minScaleDenominator": {
            "description": "Minimum scale denominator for usage of the collection",
            "type": "number"
          },
          "maxScaleDenominator": {
            "description": "Maximum scale denominator for usage of the collection",
            "type": "number"
          },
          "minCellSize": {
            "description": "Minimum cell size for usage of the collection",
            "type": "number"
          },
          "maxCellSize": {
            "description": "Maximum cell size for usage of the collection",
            "type": "number"
          }
        }
      },
      "extent": {
        "description": "The extent of the data in the collection. In the Core only spatial and temporal\nextents are specified. Extensions may add additional members to represent other\nextents, for example, thermal or pressure ranges.\n\nThe first item in the array describes the overall extent of\nthe data. All subsequent items describe more precise extents,\ne.g., to identify clusters of data.\nClients only interested in the overall extent will only need to\naccess the first item in each array.",
        "type": "object",
        "properties": {
          "spatial": {
            "description": "The spatial extent of the data in the collection.",
            "type": "object",
            "properties": {
              "bbox": {
                "description": "One or more bounding boxes that describe the spatial extent of the dataset.\n\nThe first bounding box describes the overall spatial\nextent of the data. All subsequent bounding boxes describe\nmore precise bounding boxes, e.g., to identify clusters of data.\nClients only interested in the overall spatial extent will\nonly need to access the first item in each array.",
                "type": "array",
                "minItems": 1,
                "items": {
                  "description": "Each bounding box is provided as four or six numbers, depending on\nwhether the coordinate reference system includes a vertical axis\n(height or depth):\n\n* Lower left corner, coordinate axis 1\n* Lower left corner, coordinate axis 2\n* Minimum value, coordinate axis 3 (optional)\n* Upper right corner, coordinate axis 1\n* Upper right corner, coordinate axis 2\n* Maximum value, coordinate axis 3 (optional)\n\nIf the value consists of four numbers, the coordinate reference system is\nWGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)\nunless a different coordinate reference system is specified in `crs` property.\n\nIf the value consists of six numbers, the coordinate reference system is WGS 84\nlongitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h)\nunless a different coordinate reference system is specified in `crs` property.\n\nFor WGS 84 longitude/latitude the values are in most cases the sequence of\nminimum longitude, minimum latitude, maximum longitude and maximum latitude.\nHowever, in cases where the box spans the antimeridian the first value\n(west-most box edge) is larger than the third value (east-most box edge).\n\nIf the vertical axis is included, the third and the sixth number are\nthe bottom and the top of the 3-dimensional bounding box.\n\nIf a feature has multiple spatial geometry properties, it is the decision of the\nserver whether only a single spatial geometry property is used to determine\nthe extent or all relevant geometries.",
                  "type": "array",
                  "oneOf": [
                    {
                      "minItems": 4,
                      "maxItems": 4
                    },
                    {
                      "minItems": 6,
                      "maxItems": 6
                    }
                  ],
                  "items": {
                    "type": "number"
                  },
                  "example": [
                    -180,
                    -90,
                    180,
                    90
                  ]
                }
              },
              "storageCrsBbox": {
                "description": "One or more bounding boxes that describe the spatial extent of the dataset in the storage (native) CRS (`storageCrs` property).\n\nThe first bounding box describes the overall spatial\nextent of the data. All subsequent bounding boxes describe\nmore precise bounding boxes, e.g., to identify clusters of data.\nClients only interested in the overall spatial extent will\nonly need to access the first item in each array.",
                "type": "array",
                "minItems": 1,
                "items": {
                  "description": "Each bounding box is provided as four or six numbers, depending on\nwhether the coordinate reference system includes a vertical axis\n(height or depth):\n\n* Lower left corner, coordinate axis 1\n* Lower left corner, coordinate axis 2\n* Minimum value, coordinate axis 3 (optional)\n* Upper right corner, coordinate axis 1\n* Upper right corner, coordinate axis 2\n* Maximum value, coordinate axis 3 (optional)",
                  "type": "array",
                  "oneOf": [
                    {
                      "minItems": 4,
                      "maxItems": 4
                    },
                    {
                      "minItems": 6,
                      "maxItems": 6
                    }
                  ],
                  "items": {
                    "type": "number"
                  },
                  "example": [
                    -180,
                    -90,
                    180,
                    90
                  ]
                }
              },
              "crs": {
                "description": "Coordinate reference system of the coordinates of the `bbox` property.\nThe default reference system is WGS 84 longitude/latitude.\nWGS 84 longitude/latitude/ellipsoidal height for coordinates with height.\nFor non-terrestrial coordinate reference system, another CRS may be specified.",
                "type": "string",
                "enum": [
                  "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
                  "http://www.opengis.net/def/crs/OGC/0/CRS84h"
                ],
                "default": "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
              },
              "grid": {
                "description": "Provides information about the limited availability of data within the collection organized\nas a grid (regular or irregular) along each spatial dimension.",
                "type": "array",
                "minItems": 2,
                "maxItems": 3,
                "items": {
                  "type": "object",
                  "properties": {
                    "coordinates": {
                      "description": "List of coordinates along the dimension for which data organized as an irregular grid in the collection is available\n(e.g., 2, 10, 80, 100).",
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "oneOf": [
                          {
                            "type": "string",
                            "nullable": true
                          },
                          {
                            "type": "number"
                          }
                        ]
                      },
                      "example": [
                        2,
                        10,
                        80,
                        100
                      ]
                    },
                    "cellsCount": {
                      "description": "Number of samples available along the dimension for data organized as a regular grid.\nFor values representing the whole area of contiguous cells spanning _resolution_ units along the dimension, this will be (_upperBound_ - _lowerBound_) / _resolution_.\nFor values representing infinitely small point cells spaced by _resolution_ units along the dimension, this will be (_upperBound_ - _lowerBound_) / _resolution_ + 1.",
                      "type": "integer",
                      "example": 50
                    },
                    "resolution": {
                      "description": "Resolution of regularly gridded data along the dimension in the collection",
                      "oneOf": [
                        {
                          "type": "string",
                          "nullable": true
                        },
                        {
                          "type": "number"
                        }
                      ],
                      "example": 0.0006866455078
                    }
                  }
                }
              }
            }
          },
          "temporal": {
            "description": "The temporal extent of the features in the collection.",
            "type": "object",
            "properties": {
              "interval": {
                "description": "One or more time intervals that describe the temporal extent of the dataset.\nIn the Core only a single time interval is supported.\n\nExtensions may support multiple intervals.\nThe first time interval describes the overall\ntemporal extent of the data. All subsequent time intervals describe\nmore precise time intervals, e.g., to identify clusters of data.\nClients only interested in the overall extent will only need\nto access the first item in each array.",
                "type": "array",
                "minItems": 1,
                "items": {
                  "description": "Begin and end times of the time interval. The timestamps are in the\ntemporal coordinate reference system specified in `trs`. By default\nthis is the Gregorian calendar, expressed using RFC 3339 section 5.6.\nNote that these times may be specified using time zone offsets to UTC time other than zero.\n\nThe value `null` for start or end time is supported and indicates a half-bounded time interval.",
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "items": {
                    "type": "string",
                    "format": "date-time",
                    "nullable": true
                  },
                  "example": [
                    "2011-11-11T12:22:11Z",
                    "2011-11-11T08:22:11-04:00",
                    null
                  ]
                }
              },
              "trs": {
                "description": "Coordinate reference system of the coordinates in the temporal extent\n(property `interval`). The default reference system is the Gregorian calendar.\nIn the Core this is the only supported temporal coordinate reference system.\nExtensions may support additional temporal coordinate reference systems and add\nadditional enum values.",
                "type": "string",
                "enum": [
                  "http://www.opengis.net/def/uom/ISO-8601/0/Gregorian"
                ],
                "default": "http://www.opengis.net/def/uom/ISO-8601/0/Gregorian"
              },
              "grid": {
                "type": "object",
                "description": "Provides information about the limited availability of data within the collection organized as a grid (regular or irregular) along the temporal dimension.",
                "properties": {
                  "coordinates": {
                    "description": "List of coordinates along the temporal dimension for which data organized as an irregular grid in the collection is available\n(e.g., \"2017-11-14T09:00Z\",\"2017-11-14T12:00Z\",\"2017-11-14T15:00Z\",\"2017-11-14T18:00Z\",\"2017-11-14T21:00Z\").",
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "string",
                      "nullable": true
                    },
                    "example": [
                      [
                        "2020-11-12T12:15Z",
                        "2020-11-12T12:30Z",
                        "2020-11-12T12:45Z"
                      ]
                    ]
                  },
                  "cellsCount": {
                    "description": "Number of samples available along the temporal dimension for data organized as a regular grid.\nFor values representing the whole area of contiguous cells spanning _resolution_ units along the dimension, this will be (_upperBound_ - _lowerBound_) / _resolution_.\nFor values representing infinitely small point cells spaced by _resolution_ units along the dimension, this will be (_upperBound_ - _lowerBound_) / _resolution_ + 1.",
                    "type": "integer",
                    "example": 50
                  },
                  "resolution": {
                    "description": "Resolution of regularly gridded data along the temporal dimension in the collection",
                    "oneOf": [
                      {
                        "type": "string",
                        "nullable": true
                      },
                      {
                        "type": "number"
                      }
                    ],
                    "example": "PT1H"
                  }
                }
              }
            }
          }
        }
      },
      "extent-uad": {
        "title": "Extent with Uniform Additional Dimensions Schema",
        "description": "The extent module only addresses spatial and temporal extents. This module extends extent by specifying how\nintervals and crs properties can be used to specify additional geometries.",
        "allOf": [
          {
            "$ref": "#/components/schemas/extent"
          },
          {
            "type": "object",
            "additionalProperties": {
              "description": "The domain intervals for any additional dimensions of the extent (envelope) beyond those described in temporal and spatial.",
              "type": "object",
              "oneOf": [
                {
                  "required": [
                    "interval",
                    "definition"
                  ]
                },
                {
                  "required": [
                    "interval",
                    "trs"
                  ]
                },
                {
                  "required": [
                    "interval",
                    "vrs"
                  ]
                }
              ],
              "properties": {
                "interval": {
                  "description": "One or more intervals that describe the extent for this dimension of the dataset.\nThe value `null` is supported and indicates an unbounded or half-bounded interval.\nThe first interval describes the overall extent of the data for this dimension.\nAll subsequent intervals describe more precise intervals, e.g., to identify clusters of data.\nClients only interested in the overall extent will only need\nto access the first item (a pair of lower and upper bound values).",
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "description": "Lower and upper bound values of the interval. The values\nare in the coordinate reference system specified in `crs`, `trs` or `vrs`.",
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                      "oneOf": [
                        {
                          "type": "string",
                          "nullable": true
                        },
                        {
                          "type": "number"
                        }
                      ]
                    },
                    "example": [
                      "2011-11-11T12:22:11Z",
                      "2011-11-11T08:22:11-04:00",
                      32.5,
                      null
                    ]
                  }
                },
                "trs": {
                  "type": "string",
                  "description": "temporal coordinate reference system (e.g. as defined by Features for 'temporal')"
                },
                "vrs": {
                  "type": "string",
                  "description": "vertical coordinate reference system (e.g. as defined in EDR for 'vertical')"
                },
                "grid": {
                  "type": "object",
                  "description": "Provides information about the limited availability of data within the collection organized as a grid (regular or irregular) along the dimension.",
                  "properties": {
                    "coordinates": {
                      "description": "List of coordinates along the temporal dimension for which data organized as an irregular grid in the collection is available\n(e.g., 2, 10, 80, 100).",
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "oneOf": [
                          {
                            "type": "string",
                            "nullable": true
                          },
                          {
                            "type": "number"
                          }
                        ]
                      },
                      "example": [
                        2,
                        10,
                        80,
                        100
                      ]
                    },
                    "cellsCount": {
                      "description": "Number of samples available along the dimension for data organized as a regular grid.\nFor values representing the whole area of contiguous cells spanning _resolution_ units along the dimension, this will be (_upperBound_ - _lowerBound_) / _resolution_.\nFor values representing infinitely small point cells spaced by _resolution_ units along the dimension, this will be (_upperBound_ - _lowerBound_) / _resolution_ + 1.",
                      "type": "integer",
                      "example": 50
                    },
                    "resolution": {
                      "description": "Resolution of regularly gridded data along the dimension in the collection",
                      "oneOf": [
                        {
                          "type": "string",
                          "nullable": true
                        },
                        {
                          "type": "number"
                        }
                      ],
                      "example": [
                        "PT1H",
                        0.0006866455078
                      ]
                    }
                  }
                },
                "definition": {
                  "type": "string",
                  "format": "uri",
                  "description": "A URI to the definition of the measured or observed property corresponding to this dimension."
                },
                "unit": {
                  "type": "string",
                  "description": "The unit of measure in which the interval and/or grid values are expressed."
                },
                "unitLang": {
                  "type": "string",
                  "default": "UCUM",
                  "description": "The language (or vocabulary) in which the unit is expressed (defaults to \"UCUM\" if not specified)."
                }
              }
            }
          }
        ]
      },
      "crs": {
        "title": "CRS",
        "oneOf": [
          {
            "description": "Simplification of the object into a url if the other properties are not present",
            "type": "string"
          },
          {
            "type": "object",
            "oneOf": [
              {
                "required": [
                  "uri"
                ],
                "properties": {
                  "uri": {
                    "description": "Reference to one coordinate reference system (CRS)",
                    "type": "string",
                    "format": "uri"
                  }
                }
              },
              {
                "required": [
                  "wkt"
                ],
                "properties": {
                  "wkt": {
                    "allOf": [
                      {
                        "description": "An object defining the CRS using the JSON encoding for Well-known text representation of coordinate reference systems 2.0"
                      },
                      {
                        "type": "object"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "referenceSystem"
                ],
                "properties": {
                  "referenceSystem": {
                    "description": "A reference system data structure as defined in the MD_ReferenceSystem of the ISO 19115",
                    "type": "object"
                  }
                }
              }
            ]
          }
        ]
      },
      "dataType": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "string",
            "enum": [
              "map",
              "vector",
              "coverage"
            ]
          }
        ]
      },
      "timeStamp": {
        "description": "This property indicates the time and date when the response was generated using RFC 3339 notation.",
        "type": "string",
        "format": "date-time",
        "example": "2017-08-17T08:05:32Z"
      },
      "numberReturned": {
        "description": "The number of elements in the response.\nA server may omit this information, if the information about the\nnumber of elements is not known or difficult to compute.\nIf the value is provided, the value shall be identical to the number\nof elements in the response.",
        "type": "integer",
        "minimum": 0,
        "example": 10
      },
      "numberMatched": {
        "description": "The number of elements in the response that match the selection parameters like `bbox`.",
        "type": "integer",
        "minimum": 0,
        "example": 127
      },
      "tileSet": {
        "title": "Tile Set Metadata",
        "description": "A resource describing a tileset based on the OGC TileSet Metadata Standard. At least one of the 'TileMatrixSet',  or a link with 'rel' http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme",
        "type": "object",
        "required": [
          "dataType",
          "crs",
          "links"
        ],
        "properties": {
          "title": {
            "description": "A title for this tileset",
            "type": "string"
          },
          "description": {
            "description": "Brief narrative description of this tile set",
            "type": "string"
          },
          "dataType": {
            "allOf": [
              {
                "description": "Type of data represented in the tileset"
              },
              {
                "$ref": "#/components/schemas/dataType"
              }
            ]
          },
          "crs": {
            "allOf": [
              {
                "description": "Coordinate Reference System (CRS)"
              },
              {
                "$ref": "#/components/schemas/crs"
              }
            ]
          },
          "tileMatrixSetURI": {
            "description": "Reference to a Tile Matrix Set on an offical source for Tile Matrix Sets such as the OGC NA definition server (http://www.opengis.net/def/tms/). Required if the tile matrix set is registered on an open official source.",
            "type": "string",
            "format": "uri"
          },
          "links": {
            "description": "Links to related resources. Possible link 'rel' values are: 'http://www.opengis.net/def/rel/ogc/1.0/dataset' for a URL pointing to the dataset, 'item' for a URL template to get a tile; 'alternate' for a URL pointing to another representation of the TileSetMetadata (e.g a TileJSON file); 'http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme' for a definition of the TileMatrixSet; 'http://www.opengis.net/def/rel/ogc/1.0/geodata' for pointing to a single collection (if the tileset represents a single collection)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/link"
            }
          },
          "tileMatrixSetLimits": {
            "description": "Limits for the TileRow and TileCol values for each TileMatrix in the tileMatrixSet. If missing, there are no limits other that the ones imposed by the TileMatrixSet. If present the TileMatrices listed are limited and the rest not available at all",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/tileMatrixLimits"
            }
          },
          "epoch": {
            "description": "Epoch of the Coordinate Reference System (CRS)",
            "type": "number"
          },
          "layers": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "dataType"
              ],
              "properties": {
                "title": {
                  "description": "Title of this tile matrix set, normally used for display to a human",
                  "type": "string"
                },
                "description": {
                  "description": "Brief narrative description of this tile matrix set, normally available for display to a human",
                  "type": "string"
                },
                "keywords": {
                  "description": "Unordered list of one or more commonly used or formalized word(s) or phrase(s) used to describe this layer",
                  "type": "string"
                },
                "id": {
                  "description": "Unique identifier of the Layer. Implementation of 'identifier'",
                  "type": "string"
                },
                "dataType": {
                  "allOf": [
                    {
                      "description": "Type of data represented in the layer"
                    },
                    {
                      "$ref": "#/components/schemas/dataType"
                    }
                  ]
                },
                "geometryDimension": {
                  "description": "The geometry dimension of the features shown in this layer (0: points, 1: curves, 2: surfaces, 3: solids), unspecified: mixed or unknown",
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 3
                },
                "featureType": {
                  "description": "Feature type identifier. Only applicable to layers of datatype 'geometries'",
                  "type": "string"
                },
                "attribution": {
                  "description": "Short reference to recognize the author or provider",
                  "type": "string"
                },
                "license": {
                  "description": "License applicable to the tiles",
                  "type": "string"
                },
                "pointOfContact": {
                  "description": "Useful information to contact the authors or custodians for the layer (e.g. e-mail address, a physical address,  phone numbers, etc)",
                  "type": "string"
                },
                "publisher": {
                  "description": "Organization or individual responsible for making the layer available",
                  "type": "string"
                },
                "theme": {
                  "description": "Category where the layer can be grouped",
                  "type": "string"
                },
                "crs": {
                  "allOf": [
                    {
                      "description": "Coordinate Reference System (CRS)"
                    },
                    {
                      "$ref": "#/components/schemas/crs"
                    }
                  ]
                },
                "epoch": {
                  "description": "Epoch of the Coordinate Reference System (CRS)",
                  "type": "number"
                },
                "minScaleDenominator": {
                  "description": "Minimum scale denominator for usage of the layer",
                  "type": "number"
                },
                "maxScaleDenominator": {
                  "description": "Maximum scale denominator for usage of the layer",
                  "type": "number"
                },
                "minCellSize": {
                  "description": "Minimum cell size for usage of the layer",
                  "type": "number"
                },
                "maxCellSize": {
                  "description": "Maximum cell size for usage of the layer",
                  "type": "number"
                },
                "maxTileMatrix": {
                  "description": "TileMatrix identifier associated with the minScaleDenominator",
                  "type": "string"
                },
                "minTileMatrix": {
                  "description": "TileMatrix identifier associated with the maxScaleDenominator",
                  "type": "string"
                },
                "boundingBox": {
                  "allOf": [
                    {
                      "description": "Minimum bounding rectangle surrounding the layer"
                    },
                    {
                      "$ref": "#/components/schemas/2DBoundingBox"
                    }
                  ]
                },
                "created": {
                  "allOf": [
                    {
                      "description": "When the layer was first produced"
                    },
                    {
                      "$ref": "#/components/schemas/timeStamp"
                    }
                  ]
                },
                "updated": {
                  "allOf": [
                    {
                      "description": "Last layer change/revision"
                    },
                    {
                      "$ref": "#/components/schemas/timeStamp"
                    }
                  ]
                },
                "style": {
                  "allOf": [
                    {
                      "description": "Style used to generate the layer in the tileset"
                    },
                    {
                      "$ref": "#/components/schemas/tileSet/properties/style/allOf/1"
                    }
                  ]
                },
                "geoDataClasses": {
                  "description": "URI identifying a class of data contained in this layer (useful to determine compatibility with styles or processes)",
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "propertiesSchema": {
                  "allOf": [
                    {
                      "description": "Properties represented by the features in this layer. Can be the attributes of a feature dataset (datatype=geometries) or the rangeType of a coverage (datatype=coverage)"
                    },
                    {
                      "description": "Attributes of the features or rangetypes of a coverage. Defined by a subset of the JSON Schema for the properties of a feature",
                      "type": "object",
                      "required": [
                        "type",
                        "properties"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "object"
                          ]
                        },
                        "required": {
                          "description": "Implements 'multiplicity' by citing property 'name' defined as 'additionalProperties'",
                          "type": "array",
                          "minItems": 1,
                          "items": {
                            "type": "string"
                          }
                        },
                        "properties": {
                          "type": "object",
                          "default": {},
                          "additionalProperties": {
                            "description": "No property names are defined but any property name they should be described by JSON Schema. So 'additionalProperties' implements 'name'.",
                            "type": "object",
                            "properties": {
                              "title": {
                                "type": "string"
                              },
                              "description": {
                                "description": "Implements 'description'",
                                "type": "string"
                              },
                              "type": {
                                "type": "string",
                                "enum": [
                                  "array",
                                  "boolean",
                                  "integer",
                                  "null",
                                  "number",
                                  "object",
                                  "string"
                                ]
                              },
                              "enum": {
                                "description": "Implements 'acceptedValues'",
                                "type": "array",
                                "minItems": 1,
                                "items": {},
                                "uniqueItems": true
                              },
                              "format": {
                                "description": "Complements implementation of 'type'",
                                "type": "string"
                              },
                              "contentMediaType": {
                                "description": "Implements 'mediaType'",
                                "type": "string"
                              },
                              "maximum": {
                                "description": "Implements 'range'",
                                "type": "number"
                              },
                              "exclusiveMaximum": {
                                "description": "Implements 'range'",
                                "type": "number"
                              },
                              "minimum": {
                                "description": "Implements 'range'",
                                "type": "number"
                              },
                              "exclusiveMinimum": {
                                "description": "Implements 'range'",
                                "type": "number"
                              },
                              "pattern": {
                                "type": "string",
                                "format": "regex"
                              },
                              "maxItems": {
                                "description": "Implements 'upperMultiplicity'",
                                "type": "integer",
                                "minimum": 0
                              },
                              "minItems": {
                                "description": "Implements 'lowerMultiplicity'",
                                "type": "integer",
                                "default": 0,
                                "minimum": 0
                              },
                              "x-ogc-definition": {
                                "type": "string",
                                "format": "uri"
                              },
                              "x-ogc-unit": {
                                "type": "string"
                              },
                              "x-ogc-unitLang": {
                                "type": "string",
                                "format": "uri"
                              },
                              "x-ogc-propertySeq": {
                                "type": "integer",
                                "minimum": 0
                              }
                            }
                          }
                        }
                      }
                    }
                  ]
                },
                "links": {
                  "description": "Links related to this layer. Possible link 'rel' values are: 'geodata' for a URL pointing to the collection of geospatial data.",
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "$ref": "#/components/schemas/link"
                  }
                }
              }
            }
          },
          "boundingBox": {
            "allOf": [
              {
                "description": "Minimum bounding rectangle surrounding the tile matrix set, in the supported CRS"
              },
              {
                "$ref": "#/components/schemas/2DBoundingBox"
              }
            ]
          },
          "centerPoint": {
            "allOf": [
              {
                "description": "Location of a tile that nicely represents the tileset. Implementations may use this center value to set the default location or to present a representative tile in a user interface"
              },
              {
                "type": "object",
                "required": [
                  "coordinates"
                ],
                "properties": {
                  "coordinates": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                      "type": "number"
                    }
                  },
                  "crs": {
                    "allOf": [
                      {
                        "description": "Coordinate Reference System (CRS) of the coordinates"
                      },
                      {
                        "$ref": "#/components/schemas/crs"
                      }
                    ]
                  },
                  "tileMatrix": {
                    "description": "TileMatrix identifier associated with the scaleDenominator",
                    "type": "string"
                  },
                  "scaleDenominator": {
                    "description": "Scale denominator of the tile matrix selected",
                    "type": "number"
                  },
                  "cellSize": {
                    "description": "Cell size of the tile matrix selected",
                    "type": "number"
                  }
                }
              }
            ]
          },
          "style": {
            "allOf": [
              {
                "description": "Style involving all layers used to generate the tileset"
              },
              {
                "type": "object",
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "description": "An identifier for this style. Implementation of 'identifier'",
                    "type": "string"
                  },
                  "title": {
                    "description": "A title for this style",
                    "type": "string"
                  },
                  "description": {
                    "description": "Brief narrative description of this style",
                    "type": "string"
                  },
                  "keywords": {
                    "description": "keywords about this style",
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "links": {
                    "description": "Links to style related resources. Possible link 'rel' values are: 'style' for a URL pointing to the style description, 'styleSpec' for a URL pointing to the specification or standard used to define the style.",
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "$ref": "#/components/schemas/link"
                    }
                  }
                }
              }
            ]
          },
          "attribution": {
            "description": "Short reference to recognize the author or provider",
            "type": "string"
          },
          "license": {
            "description": "License applicable to the tiles",
            "type": "string"
          },
          "accessConstraints": {
            "description": "Restrictions on the availability of the Tile Set that the user needs to be aware of before using or redistributing the Tile Set",
            "type": "string",
            "default": "unclassified",
            "enum": [
              "unclassified",
              "restricted",
              "confidential",
              "secret",
              "topSecret"
            ]
          },
          "keywords": {
            "description": "keywords about this tileset",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "version": {
            "description": "Version of the Tile Set. Changes if the data behind the tiles has been changed",
            "type": "string"
          },
          "created": {
            "allOf": [
              {
                "description": "When the Tile Set was first produced"
              },
              {
                "$ref": "#/components/schemas/timeStamp"
              }
            ]
          },
          "updated": {
            "allOf": [
              {
                "description": "Last Tile Set change/revision"
              },
              {
                "$ref": "#/components/schemas/timeStamp"
              }
            ]
          },
          "pointOfContact": {
            "description": "Useful information to contact the authors or custodians for the Tile Set",
            "type": "string"
          },
          "mediaTypes": {
            "description": "Media types available for the tiles",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "tileSet-item": {
        "title": "Tile Set Metadata item",
        "description": "A minimal tileset element for use within a list of tilesets linking to full description of those tilesets.",
        "type": "object",
        "required": [
          "dataType",
          "links",
          "crs"
        ],
        "properties": {
          "title": {
            "description": "A title for this tileset",
            "type": "string"
          },
          "dataType": {
            "allOf": [
              {
                "description": "Type of data represented in the tileset"
              },
              {
                "$ref": "#/components/schemas/dataType"
              }
            ]
          },
          "crs": {
            "allOf": [
              {
                "description": "Coordinate Reference System (CRS)"
              },
              {
                "$ref": "#/components/schemas/crs"
              }
            ]
          },
          "tileMatrixSetURI": {
            "description": "Reference to a Tile Matrix Set on an offical source for Tile Matrix Sets such as the OGC NA definition server (http://www.opengis.net/def/tms/). Required if the tile matrix set is registered on an open official source.",
            "type": "string",
            "format": "uri"
          },
          "links": {
            "description": "Links to related resources. A 'self' link to the tileset as well as a 'http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme' link to a definition of the TileMatrixSet are required.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/link"
            }
          }
        }
      },
      "tileMatrixSet": {
        "title": "Tile Matrix Set Definition",
        "description": "A definition of a tile matrix set following the Tile Matrix Set standard. For tileset metadata, such a description (in `tileMatrixSet` property) is only required for offline use, as an alternative to a link with a `http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme` relation type.",
        "type": "object",
        "required": [
          "crs",
          "tileMatrices"
        ],
        "properties": {
          "title": {
            "description": "Title of this tile matrix set, normally used for display to a human",
            "type": "string"
          },
          "description": {
            "description": "Brief narrative description of this tile matrix set, normally available for display to a human",
            "type": "string"
          },
          "keywords": {
            "description": "Unordered list of one or more commonly used or formalized word(s) or phrase(s) used to describe this tile matrix set",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "description": "Tile matrix set identifier. Implementation of 'identifier'",
            "type": "string"
          },
          "uri": {
            "description": "Reference to an official source for this tileMatrixSet",
            "type": "string",
            "format": "uri"
          },
          "orderedAxes": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string"
            }
          },
          "crs": {
            "allOf": [
              {
                "description": "Coordinate Reference System (CRS)"
              },
              {
                "$ref": "#/components/schemas/crs"
              }
            ]
          },
          "wellKnownScaleSet": {
            "description": "Reference to a well-known scale set",
            "type": "string",
            "format": "uri"
          },
          "boundingBox": {
            "allOf": [
              {
                "description": "Minimum bounding rectangle surrounding the tile matrix set, in the supported CRS"
              },
              {
                "$ref": "#/components/schemas/2DBoundingBox"
              }
            ]
          },
          "tileMatrices": {
            "type": "array",
            "description": "Describes scale levels and its tile matrices",
            "items": {
              "description": "A tile matrix, usually corresponding to a particular zoom level of a TileMatrixSet.",
              "type": "object",
              "required": [
                "id",
                "scaleDenominator",
                "cellSize",
                "pointOfOrigin",
                "tileWidth",
                "tileHeight",
                "matrixWidth",
                "matrixHeight"
              ],
              "properties": {
                "title": {
                  "description": "Title of this tile matrix, normally used for display to a human",
                  "type": "string"
                },
                "description": {
                  "description": "Brief narrative description of this tile matrix set, normally available for display to a human",
                  "type": "string"
                },
                "keywords": {
                  "description": "Unordered list of one or more commonly used or formalized word(s) or phrase(s) used to describe this dataset",
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "id": {
                  "description": "Identifier selecting one of the scales defined in the TileMatrixSet and representing the scaleDenominator the tile. Implementation of 'identifier'",
                  "type": "string"
                },
                "scaleDenominator": {
                  "description": "Scale denominator of this tile matrix",
                  "type": "number"
                },
                "cellSize": {
                  "description": "Cell size of this tile matrix",
                  "type": "number"
                },
                "cornerOfOrigin": {
                  "description": "The corner of the tile matrix (_topLeft_ or _bottomLeft_) used as the origin for numbering tile rows and columns. This corner is also a corner of the (0, 0) tile.",
                  "type": "string",
                  "enum": [
                    "topLeft",
                    "bottomLeft"
                  ],
                  "default": "topLeft"
                },
                "pointOfOrigin": {
                  "allOf": [
                    {
                      "description": "Precise position in CRS coordinates of the corner of origin (e.g. the top-left corner) for this tile matrix. This position is also a corner of the (0, 0) tile. In previous version, this was 'topLeftCorner' and 'cornerOfOrigin' did not exist."
                    },
                    {
                      "$ref": "#/components/schemas/2DPoint"
                    }
                  ]
                },
                "tileWidth": {
                  "type": "number",
                  "description": "Width of each tile of this tile matrix in pixels",
                  "format": "integer",
                  "minimum": 1,
                  "multipleOf": 1
                },
                "tileHeight": {
                  "type": "number",
                  "description": "Height of each tile of this tile matrix in pixels",
                  "format": "integer",
                  "minimum": 1,
                  "multipleOf": 1
                },
                "matrixHeight": {
                  "type": "number",
                  "description": "Width of the matrix (number of tiles in width)",
                  "format": "integer",
                  "minimum": 1,
                  "multipleOf": 1
                },
                "matrixWidth": {
                  "type": "number",
                  "description": "Height of the matrix (number of tiles in height)",
                  "format": "integer",
                  "minimum": 1,
                  "multipleOf": 1
                },
                "variableMatrixWidths": {
                  "description": "Describes the rows that has variable matrix width",
                  "type": "array",
                  "items": {
                    "description": "Variable Matrix Width data structure",
                    "type": "object",
                    "required": [
                      "coalesce",
                      "minTileRow",
                      "maxTileRow"
                    ],
                    "properties": {
                      "coalesce": {
                        "description": "Number of tiles in width that coalesce in a single tile for these rows",
                        "type": "number",
                        "format": "integer",
                        "minimum": 2,
                        "multipleOf": 1
                      },
                      "minTileRow": {
                        "description": "First tile row where the coalescence factor applies for this tilematrix",
                        "type": "number",
                        "format": "integer",
                        "minimum": 0,
                        "multipleOf": 1
                      },
                      "maxTileRow": {
                        "description": "Last tile row where the coalescence factor applies for this tilematrix",
                        "type": "number",
                        "format": "integer",
                        "minimum": 0,
                        "multipleOf": 1
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "tileMatrixSet-item": {
        "title": "Tile Matrix Set Item",
        "description": "A minimal tile matrix set element for use within a list of tile matrix sets linking to a full definition.",
        "type": "object",
        "required": [
          "links"
        ],
        "properties": {
          "id": {
            "description": "Optional local tile matrix set identifier, e.g. for use as unspecified `{tileMatrixSetId}` parameter. Implementation of 'identifier'",
            "type": "string"
          },
          "title": {
            "description": "Title of this tile matrix set, normally used for display to a human",
            "type": "string"
          },
          "uri": {
            "description": "Reference to an official source for this tileMatrixSet",
            "type": "string",
            "format": "uri"
          },
          "crs": {
            "allOf": [
              {
                "description": "Coordinate Reference System (CRS)"
              },
              {
                "$ref": "#/components/schemas/crs"
              }
            ]
          },
          "links": {
            "description": "Links to related resources. A 'self' link to the tile matrix set definition is required.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/link"
            }
          }
        }
      },
      "tileMatrixLimits": {
        "title": "TileMatrixLimits",
        "description": "The limits for an individual tile matrix of a TileSet's TileMatrixSet, as defined in the OGC 2D TileMatrixSet and TileSet Metadata Standard",
        "type": "object",
        "required": [
          "tileMatrix",
          "minTileRow",
          "maxTileRow",
          "minTileCol",
          "maxTileCol"
        ],
        "properties": {
          "tileMatrix": {
            "type": "string"
          },
          "minTileRow": {
            "type": "integer",
            "minimum": 0
          },
          "maxTileRow": {
            "type": "integer",
            "minimum": 0
          },
          "minTileCol": {
            "type": "integer",
            "minimum": 0
          },
          "maxTileCol": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "2DPoint": {
        "description": "A 2D Point in the CRS indicated elsewhere",
        "type": "array",
        "minItems": 2,
        "maxItems": 2,
        "items": {
          "type": "number"
        }
      },
      "2DBoundingBox": {
        "description": "Minimum bounding rectangle surrounding a 2D resource in the CRS indicated elsewhere",
        "type": "object",
        "required": [
          "lowerLeft",
          "upperRight"
        ],
        "properties": {
          "lowerLeft": {
            "$ref": "#/components/schemas/2DPoint"
          },
          "upperRight": {
            "$ref": "#/components/schemas/2DPoint"
          },
          "crs": {
            "$ref": "#/components/schemas/crs"
          },
          "orderedAxes": {
            "type": "array",
            "minItems": 2,
            "maxItems": 2,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "enumeration": {
        "type": "object",
        "required": [
          "type",
          "enum"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "enum"
            ]
          },
          "enum": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "all-collections": {
        "type": "string",
        "enum": [
          "blueMarble",
          "NaturalEarth:raster:HYP_HR_SR_OB_DR",
          "NaturalEarth:cultural:ne_10m_admin_0_countries",
          "NaturalEarth:physical:bathymetry",
          "SRTM_ViewFinderPanorama",
          "HRDEM-Ottawa",
          "HRDEM-RedRiver"
        ]
      },
      "styles": {
        "type": "string",
        "enum": [
          "default"
        ]
      },
      "tileMatrixSets": {
        "type": "string",
        "enum": [
          "WebMercatorQuad",
          "WorldCRS84Quad",
          "GNOSISGlobalGrid",
          "WorldMercatorWGS84Quad"
        ]
      }
    },
    "parameters": {
      "f-metadata": {
        "name": "f",
        "in": "query",
        "description": "The format of the response. If no value is provided, the accept header is used to determine the format. Accepted values are 'json' or 'html'.",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "html"
          ]
        },
        "style": "form",
        "explode": false
      },
      "collectionId-all": {
        "name": "collectionId",
        "in": "path",
        "description": "Local identifier of a collection",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/all-collections"
        }
      },
      "bbox": {
        "name": "bbox",
        "in": "query",
        "description": "Only resources 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 (elevation or depth):\n* 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)\nIf the value consists of four numbers, the coordinate reference system is WGS84 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`.\nIf the value consists of six numbers, the coordinate reference system is WGS 84  longitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h) unless a different coordinate reference system is specified in a parameter `bbox-crs`.\nFor WGS84 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).\nIf the vertical axis is included, the third and the sixth number are the bottom and the top of the 3-dimensional bounding box.\nIf a resource 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": {
          "type": "array",
          "oneOf": [
            {
              "minItems": 4,
              "maxItems": 4
            },
            {
              "minItems": 6,
              "maxItems": 6
            }
          ],
          "items": {
            "type": "number"
          }
        },
        "style": "form",
        "explode": false
      },
      "datetime": {
        "name": "datetime",
        "in": "query",
        "description": "Either a date-time or an interval. Date and time expressions adhere to RFC 3339, section 5.6. Intervals may be bounded or half-bounded (double-dots at start or end). Server implementations may or may not support times expressed using time offsets from UTC, but need to support UTC time with the notation ending with a Z.\nExamples:\n* 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\"\nOnly resources that have a temporal property that intersects the value of `datetime` are selected.\nIf 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
      },
      "crs": {
        "name": "crs",
        "in": "query",
        "description": "reproject the output to the given crs",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "string"
        }
      },
      "bbox-crs": {
        "name": "bbox-crs",
        "in": "query",
        "description": "crs for the specified bbox",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "string"
        }
      },
      "subset-crs": {
        "name": "subset-crs",
        "in": "query",
        "description": "crs for the specified subset",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "string"
        }
      },
      "collections": {
        "name": "collections",
        "in": "query",
        "style": "form",
        "description": "The collections that should be included in the response. The parameter value is a comma-separated list of collection identifiers. If the parameters is missing, some or all collections will be included. The collection will be rendered in the order specified, with the last one showing on top, unless the priority is overridden by styling rules.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/all-collections"
          }
        }
      },
      "subset": {
        "name": "subset",
        "in": "query",
        "description": "Retrieve only part of the data by slicing or trimming along one or more axis\nFor trimming: {axisAbbrev}({low}:{high}) (preserves dimensionality)\nFor slicing:  {axisAbbrev}({value})      (reduces dimensionality)\nAn asterisk (`*`) can be used instead of {low} or {high} to indicate the minimum/maximum value.\nFor a temporal dimension, a single asterisk can be used to indicate the high value.\nSupport for `*` is required for time, but optional for spatial and other dimensions.\n",
        "style": "form",
        "explode": false,
        "required": false,
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "bgcolor": {
        "name": "bgcolor",
        "in": "query",
        "description": "Web color name or hexadecimal 0x[AA]RRGGBB color value for the background color (default to 0x9C9C9C gray). If alpha is not specified, full opacity is assumed.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "string",
          "default": "0xFFFFFF"
        }
      },
      "transparent": {
        "name": "transparent",
        "in": "query",
        "description": "Background transparency of map (defaults to `true` without a `bgcolor` specified, but to `false` when a `bgcolor` is used).",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "boolean",
          "default": true
        }
      },
      "void-color": {
        "name": "void-color",
        "in": "query",
        "description": "Web color name or hexadecimal 0x[AA]RRGGBB color value for the void color for parts of the map outside of the valid area of the projection / CRS. If not specified, this defaults to the same as `bgcolor`.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "string",
          "default": "0xFFFFFF"
        }
      },
      "void-transparent": {
        "name": "void-transparent",
        "in": "query",
        "description": "Background transparency for parts of the map outside of the valid areas of the CRS / projection (defaults to the same as `transparent` if not specified).",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "boolean",
          "default": true
        }
      },
      "width": {
        "name": "width",
        "in": "query",
        "description": "Width of the map in pixels. If omitted and `height` is specified, defaults to the width maintaining a 1:1 aspect ratio. If both `width` and `height` are omitted, the server will select default dimensions. When used together with the `center` and/or `scale-denominator` parameter, `width` takes on a subsetting role rather than scaling (resampling), defining the horizontal portion of the map to subset based on the scale (native scale, or specified by `scale-denominator`) and display resolution (0.28 mm/pixel, or specified by `mm-per-pixel`).",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "integer"
        }
      },
      "height": {
        "name": "height",
        "in": "query",
        "description": "Height of the map in pixels. If omitted and `width` is specified, defaults to the height maintaining a 1:1 aspect ratio. If both `width` and `height` are omitted, the server will select default dimensions. When used together with the `center` and/or `scale-denominator` parameter, `height` takes on a subsetting role rather than scaling (resampling), defining the vertical portion of the map to subset based on the scale (native scale, or specified by `scale-denominator`) and display resolution (0.28 mm/pixel, or specified by `mm-per-pixel`).",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "integer"
        }
      },
      "center": {
        "name": "center",
        "in": "query",
        "description": "Coordinates of center point for subsetting, in conjunction with the `width` and/or `height` parameters, taking into consideration the scale and display resolution of the map. The center coordinates are comma-separated and interpreted as [ogc:CRS84], unless the `center-crs` parameter specifies otherwise.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "array",
          "minItems": 2,
          "maxItems": 2,
          "items": {
            "type": "number"
          }
        }
      },
      "center-crs": {
        "name": "center-crs",
        "in": "query",
        "description": "CRS for the specified center point",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "string"
        }
      },
      "scale-denominator": {
        "name": "scale-denominator",
        "in": "query",
        "description": "Scale denominator of the map specifying to how many units in the real world one of the same unit on the map corresponds, as printed or displayed, taking into account the display resolution (`mm-per-pixel` or 0.28 mm/pixel default). This parameter can only be used together with the `width` or `height` parameters (which provide an alternative mechanism to control the scale) if the implementation also supports subsetting, in which case those `width` and `height` parameters then control the subset of the map returned rather than the scale. If `scale-denominator` is omitted, the scale is implied from the dimensions of the returned map compared to its spatial subset area.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "number"
        }
      },
      "mm-per-pixel": {
        "name": "mm-per-pixel",
        "in": "query",
        "description": "Display resolution of the target rendering device in millimeters per pixel. This parameter controls the relationship between the dimensions of the resulting map in pixels and the scale of the map. The display resolution is taken into account for applying symbology rules, for the `scale-denominator` parameter, and for the spatial subsetting using a `center`, `width` and `height` parameters.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "number",
          "default": 0.28
        }
      },
      "orientation": {
        "name": "orientation",
        "in": "query",
        "description": "Orientation in degrees by which the content of the map is to be rotated around the center of the subset area as pivot point in a counter-clockwise direction, resulting in the viewing perspective being rotated by the same orientation in a clockwise direction.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "number",
          "default": 0
        }
      },
      "crs-proj-method": {
        "name": "crs-proj-method",
        "in": "query",
        "description": "Projection operation method for a custom projection CRS.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "string"
        }
      },
      "crs-proj-center": {
        "name": "crs-proj-center",
        "in": "query",
        "description": "Projection center for a custom projection CRS corresponding to specific projection operation method parameters for latitude and longitude.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "string"
        }
      },
      "crs-proj-params": {
        "name": "crs-proj-params",
        "in": "query",
        "description": "Operation method parameters for a custom projection CRS.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "string"
        }
      },
      "crs-datum": {
        "name": "crs-datum",
        "in": "query",
        "description": "Datum for a custom projection CRS, implying a particular ellipsoid.",
        "required": false,
        "style": "form",
        "explode": false,
        "schema": {
          "type": "string"
        }
      },
      "f-map": {
        "name": "f",
        "in": "query",
        "description": "The format of the map response (e.g. png). Accepted values are 'png', 'jpg' or 'tiff' (GeoTIFF).",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "png",
            "jpg",
            "tiff"
          ]
        },
        "style": "form",
        "explode": false
      },
      "styleId": {
        "name": "styleId",
        "in": "path",
        "description": "An identifier representing a specific style.",
        "required": true,
        "allowEmptyValue": false,
        "schema": {
          "$ref": "#/components/schemas/styles"
        }
      },
      "styleId-collection": {
        "name": "styleId",
        "in": "path",
        "description": "An identifier representing a specific style.",
        "required": true,
        "allowEmptyValue": false,
        "schema": {
          "type": "string"
        }
      },
      "tileMatrix": {
        "name": "tileMatrix",
        "in": "path",
        "description": "Identifier selecting one of the scales defined in the TileMatrixSet and representing the scaleDenominator the tile. For example,\nIreland is fully within the Tile at WebMercatorQuad tileMatrix=5, tileRow=10 and tileCol=15.",
        "required": true,
        "schema": {
          "type": "string"
        },
        "example": "5"
      },
      "tileRow": {
        "name": "tileRow",
        "in": "path",
        "description": "Row index of the tile on the selected TileMatrix. It cannot exceed the MatrixWidth-1 for the selected TileMatrix. For example, Ireland is fully within the Tile at WebMercatorQuad tileMatrix=5, tileRow=10 and tileCol=15.",
        "required": true,
        "schema": {
          "minimum": 0,
          "type": "integer"
        },
        "example": 10
      },
      "tileCol": {
        "name": "tileCol",
        "in": "path",
        "description": "Column index of the tile on the selected TileMatrix. It cannot exceed the MatrixHeight-1 for the selected TileMatrix. For example, Ireland is fully within the Tile at WebMercatorQuad tileMatrix=5, tileRow=10 and tileCol=15.",
        "required": true,
        "schema": {
          "minimum": 0,
          "type": "integer"
        },
        "example": 15
      },
      "tileMatrixSetId": {
        "name": "tileMatrixSetId",
        "in": "path",
        "description": "Identifier for a supported TileMatrixSet",
        "required": true,
        "allowEmptyValue": false,
        "schema": {
          "$ref": "#/components/schemas/tileMatrixSets"
        }
      },
      "f-mapTile": {
        "name": "f",
        "in": "query",
        "description": "The format of the map tile response (e.g. png). Accepted values are 'png', 'jpg' or 'tiff' (GeoTIFF).",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "png",
            "jpg",
            "tiff"
          ]
        },
        "style": "form",
        "explode": false
      }
    },
    "responses": {
      "NotFound": {
        "description": "The requested resource does not exist on the server. For example, a path parameter had an incorrect value.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/exception"
            }
          },
          "text/html": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "NotAcceptable": {
        "description": "Content negotiation failed. For example, the `Accept` header submitted in the request did not support any of the media types supported by the server for the requested resource.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/exception"
            }
          },
          "text/html": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "ServerError": {
        "description": "A server error occurred.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/exception"
            }
          },
          "text/html": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "InvalidParameter": {
        "description": "A query parameter has an invalid value.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/exception"
            }
          },
          "text/html": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "Exception": {
        "description": "An error occurred.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/exception"
            }
          },
          "text/html": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "LandingPage": {
        "description": "The landing page provides links to the API definition (link relation `service-desc`, in this case path `/api`),\nto the Conformance declaration (path `/conformance`, link relation `conformance`), and to the Collections of geospatial data (path `/collections`, link relation `data`).",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/landingPage"
            },
            "example": {
              "title": "Buildings in Bonn",
              "description": "Access to data about buildings in the city of Bonn via a Web API that conforms to the OGC API - Maps specification.",
              "links": [
                {
                  "href": "http://data.example.org/",
                  "rel": "self",
                  "type": "application/json",
                  "title": "this document"
                },
                {
                  "href": "http://data.example.org/api",
                  "rel": "service-desc",
                  "type": "application/vnd.oai.openapi+json;version=3.0",
                  "title": "the API definition"
                },
                {
                  "href": "http://data.example.org/api.html",
                  "rel": "service-doc",
                  "type": "text/html",
                  "title": "the API documentation"
                },
                {
                  "href": "http://data.example.org/conformance",
                  "rel": "http://www.opengis.net/def/rel/ogc/1.0/conformance",
                  "type": "application/json",
                  "title": "OGC API conformance classes implemented by this service"
                },
                {
                  "href": "http://data.example.org/collections",
                  "rel": "http://www.opengis.net/def/rel/ogc/1.0/data",
                  "type": "application/json",
                  "title": "Information about the collections"
                }
              ]
            }
          },
          "text/html": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "Conformance": {
        "description": "The URIs of all conformance classes supported by the server",
        "content": {
          "application/json": {
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/confClasses"
                }
              ],
              "example": {
                "conformsTo": [
                  "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/core",
                  "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/landing-page",
                  "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/json",
                  "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/html",
                  "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/oas30",
                  "http://www.opengis.net/spec/ogcapi-common-2/1.0/conf/collections",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/core",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/tilesets",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/background",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/collections-selection",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/scaling",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/display-resolution",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/spatial-subsetting",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/datetime",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/general-subsetting",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/crs",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/orientation",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/projection",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/collection-map",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/dataset-map",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/styled-map",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/png",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/jpeg",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/jpegxl",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/tiff",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/svg",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/html",
                  "https://www.opengis.net/spec/ogcapi-maps-1/1.0/conf/api-operations"
                ]
              }
            }
          }
        }
      },
      "API": {
        "description": "The OpenAPI definition of the API.",
        "content": {
          "application/vnd.oai.openapi+json;version=3.0": {
            "schema": {
              "type": "object"
            }
          },
          "text/html": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "Enumeration": {
        "description": "An enumerated list of valid string values for API parameters.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/enumeration"
            }
          },
          "text/html": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "CollectionsList": {
        "description": "The collections of (mostly geospatial) data available from this API. The dataset contains one or more collections. This resource provides information about and access to the collections. The response contains the list of collections. Each collection is accessible via one or more OGC API set of specifications, for which a link to relevant accessible resources, e.g. /collections/{collectionId}/(items, coverage, map, tiles...) is provided, with the corresponding relation type, as well as key information about the collection. This information includes:\n* a local identifier for the collection that is unique for the dataset;\n* a list of coordinate reference systems (CRS) in which data may be returned by the server. The first CRS is the default coordinate reference system (the default is always WGS 84 with axis order longitude/latitude);\n* an optional title and description for the collection;\n* an optional extent that can be used to provide an indication of the spatial and temporal extent of the collection - typically derived from the data;\n* for collections accessible via the Features or Records API, an optional indicator about the type of the items in the collection (the default value, if the indicator is not provided, is 'feature').",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/collections"
            },
            "example": {
              "links": [
                {
                  "href": "http://data.example.org/collections.json",
                  "rel": "self",
                  "type": "application/json",
                  "title": "this document"
                },
                {
                  "href": "http://data.example.org/collections.html",
                  "rel": "alternate",
                  "type": "text/html",
                  "title": "this document as HTML"
                },
                {
                  "href": "http://schemas.example.org/1.0/buildings.xsd",
                  "rel": "describedby",
                  "type": "application/xml",
                  "title": "GML application schema for Acme Corporation building data"
                },
                {
                  "href": "http://download.example.org/buildings.gpkg",
                  "rel": "enclosure",
                  "type": "application/geopackage+sqlite3",
                  "title": "Bulk download (GeoPackage)",
                  "length": 472546
                }
              ],
              "collections": [
                {
                  "id": "buildings",
                  "title": "Buildings",
                  "description": "Buildings in the city of Bonn.",
                  "extent": {
                    "spatial": {
                      "bbox": [
                        [
                          7.01,
                          50.63,
                          7.22,
                          50.78
                        ]
                      ]
                    },
                    "temporal": {
                      "interval": [
                        [
                          "2010-02-15T12:34:56Z",
                          null
                        ]
                      ]
                    }
                  },
                  "links": [
                    {
                      "href": "http://data.example.org/collections/buildings/items",
                      "rel": "items",
                      "type": "application/geo+json",
                      "title": "Buildings"
                    },
                    {
                      "href": "http://data.example.org/collections/buildings/items.html",
                      "rel": "items",
                      "type": "text/html",
                      "title": "Buildings"
                    },
                    {
                      "href": "https://creativecommons.org/publicdomain/zero/1.0/",
                      "rel": "license",
                      "type": "text/html",
                      "title": "CC0-1.0"
                    },
                    {
                      "href": "https://creativecommons.org/publicdomain/zero/1.0/rdf",
                      "rel": "license",
                      "type": "application/rdf+xml",
                      "title": "CC0-1.0"
                    }
                  ]
                }
              ]
            }
          },
          "text/html": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "Collection": {
        "description": "Information about a particular collection of (mostly geospatial) data available from this API. The collection is accessible via one or more OGC API set of specifications, for which a link to relevant accessible resources, e.g. /collections/{collectionId}/(items, coverage, map, tiles...) is contained in the response, with the corresponding relation type, as well as key information about the collection. This information includes:\n* a local identifier for the collection that is unique for the dataset;\n* a list of coordinate reference systems (CRS) in which data may be returned by the server. The first CRS is the default coordinate reference system (the default is always WGS 84 with axis order longitude/latitude);\n* an optional title and description for the collection;\n* an optional extent that can be used to provide an indication of the spatial and temporal extent of the collection - typically derived from the data;\n* for collections accessible via the Features or Records API, an optional indicator about the type of the items in the collection (the default value, if the indicator is not provided, is 'feature').",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/collectionDesc"
            },
            "example": {
              "id": "buildings",
              "title": "Buildings",
              "description": "Buildings in the city of Bonn.",
              "extent": {
                "spatial": {
                  "bbox": [
                    [
                      7.01,
                      50.63,
                      7.22,
                      50.78
                    ]
                  ]
                },
                "temporal": {
                  "interval": [
                    [
                      "2010-02-15T12:34:56Z",
                      null
                    ]
                  ]
                }
              },
              "links": [
                {
                  "href": "http://data.example.org/collections/buildings/items",
                  "rel": "items",
                  "type": "application/geo+json",
                  "title": "Buildings"
                },
                {
                  "href": "http://data.example.org/collections/buildings/items.html",
                  "rel": "items",
                  "type": "text/html",
                  "title": "Buildings"
                },
                {
                  "href": "https://creativecommons.org/publicdomain/zero/1.0/",
                  "rel": "license",
                  "type": "text/html",
                  "title": "CC0-1.0"
                },
                {
                  "href": "https://creativecommons.org/publicdomain/zero/1.0/rdf",
                  "rel": "license",
                  "type": "application/rdf+xml",
                  "title": "CC0-1.0"
                }
              ]
            }
          },
          "text/html": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "Map": {
        "description": "A map image returned as a response.",
        "content": {
          "image/png": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          },
          "image/jpeg": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          },
          "image/tiff; application=geotiff": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          }
        }
      },
      "EmptyMap": {
        "description": "No data available for this map extent."
      },
      "TileSetsList": {
        "description": "List of available tilesets.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "tilesets"
              ],
              "properties": {
                "links": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/link"
                  }
                },
                "tilesets": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/tileSet-item"
                  }
                }
              }
            }
          },
          "text/html": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "TileSet": {
        "description": "Description of the tileset",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/tileSet"
            }
          },
          "text/html": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "MapTile": {
        "description": "A map tile image returned as a response.",
        "content": {
          "image/png": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          },
          "image/jpeg": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          },
          "image/tiff; application=geotiff": {
            "schema": {
              "type": "string",
              "format": "binary"
            }
          }
        }
      },
      "EmptyTile": {
        "description": "No data available for this tile."
      },
      "TileMatrixSetsList": {
        "description": "List of tile matrix sets (tiling schemes).",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "tileMatrixSets": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/tileMatrixSet-item"
                  }
                }
              }
            }
          },
          "text/html": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "TileMatrixSet": {
        "description": "tile matrix set",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/tileMatrixSet"
            }
          }
        }
      }
    }
  }
}
openSUSE Build Service is sponsored by