diff --git a/fixtures/ogc-api/gnosis-earth.json b/fixtures/ogc-api/gnosis-earth.json new file mode 100644 index 0000000..0f28785 --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth.json @@ -0,0 +1,94 @@ +{ + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the landing page for this OGC (geospatial) API Service providing links to the API definition, the conformance declaration and information about the data collections offered at this endpoint.", + "href": "/gnosis-earth?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "The ECON representation of the landing page for this OGC (geospatial) API Service providing links to the API definition, the conformance declaration and information about the data collections offered at this endpoint.", + "href": "/gnosis-earth?f=econ" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "The HTML representation of the landing page for this OGC (geospatial) API Service providing links to the API definition, the conformance declaration and information about the data collections offered at this endpoint.", + "href": "/gnosis-earth?f=html" + }, + { + "rel": "service-desc", + "type": "application/vnd.oai.openapi+json;version=3.0", + "title": "The JSON OpenAPI 3.0 document that describes the API offered at this endpoint", + "href": "/gnosis-earth/api?f=json" + }, + { + "rel": "service-doc", + "type": "text/html", + "title": "The HTML documentation of the API offered at this endpoint", + "href": "/gnosis-earth/api?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/conformance", + "type": "application/json", + "title": "The JSON representation of the conformance declaration for this server listing the requirement classes implemented by this server", + "href": "/gnosis-earth/conformance" + }, + { + "rel": "conformance", + "type": "application/json", + "title": "The JSON representation of the conformance declaration for this server listing the requirement classes implemented by this server", + "href": "/gnosis-earth/conformance" + }, + { + "rel": "data", + "type": "application/json", + "title": "The JSON representation of the list of all data collections served from this endpoint", + "href": "/gnosis-earth/collections?f=json" + }, + { + "rel": "data", + "type": "text/plain", + "title": "The ECON representation of the list of all data collections served from this endpoint", + "href": "/gnosis-earth/collections?f=econ" + }, + { + "rel": "data", + "type": "text/html", + "title": "The HTML representation of the list of all data collections served from this endpoint", + "href": "/gnosis-earth/collections?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/processes", + "type": "application/json", + "title": "The JSON representation of the list of all processes available from this endpoint", + "href": "/gnosis-earth/processes" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/routes", + "type": "application/json", + "title": "Routing end-point", + "href": "/gnosis-earth/routes" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes", + "type": "application/json", + "title": "The list of supported tiling schemes (as JSON)", + "href": "/gnosis-earth/tileMatrixSets?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes", + "type": "text/plain", + "title": "The list of supported tiling schemes (as ECON)", + "href": "/gnosis-earth/tileMatrixSets?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes", + "type": "text/html", + "title": "The list of supported tiling schemes (as HTML)", + "href": "/gnosis-earth/tileMatrixSets?f=html" + } + ] +} diff --git a/fixtures/ogc-api/gnosis-earth/collections.json b/fixtures/ogc-api/gnosis-earth/collections.json new file mode 100644 index 0000000..69e6d26 --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/collections.json @@ -0,0 +1,1012 @@ +{ + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the list of all data collections for this dataset", + "href": "/gnosis-earth/collections?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "The ECON representation of the list of all data collections for this dataset", + "href": "/gnosis-earth/collections?f=econ" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "The HTML representation of the list of all data collections for this dataset", + "href": "/gnosis-earth/collections?f=html" + }, + { + "rel": "service-desc", + "type": "application/vnd.oai.openapi+json;version=3.0", + "title": "The JSON OpenAPI 3.0 document that describes the API offered at this endpoint", + "href": "/gnosis-earth/api?f=json" + }, + { + "rel": "service-doc", + "type": "text/html", + "title": "The HTML documentation of the API offered at this endpoint", + "href": "/gnosis-earth/api?f=html" + }, + { + "rel": "conformance", + "type": "application/json", + "title": "The JSON representation of the conformance declaration for this server listing the requirement classes implemented by this server", + "href": "/gnosis-earth/conformance" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes", + "type": "application/json", + "title": "The list of supported tiling schemes (as JSON)", + "href": "/gnosis-earth/tileMatrixSets?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes", + "type": "text/plain", + "title": "The list of supported tiling schemes (as ECON)", + "href": "/gnosis-earth/tileMatrixSets?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes", + "type": "text/html", + "title": "The list of supported tiling schemes (as HTML)", + "href": "/gnosis-earth/tileMatrixSets?f=html" + } + ], + "collections": [ + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the NaturalEarth data (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the NaturalEarth data (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the NaturalEarth data (as MapML)", + "href": "/gnosis-earth/collections/NaturalEarth?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the NaturalEarth data (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for NaturalEarth (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for NaturalEarth (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for NaturalEarth (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth/styles?f=econ" + } + ], + "title": "NaturalEarth", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90.0002058236639]] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth", + "attribution": "Natural Earth", + "minScaleDenominator": 2183915.0938621787354, + "minCellSize": 0.0054931640625 + }, + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the raster data (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the raster data (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the raster data (as MapML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the raster data (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for raster (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for raster (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for raster (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster/styles?f=econ" + } + ], + "title": "raster", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:raster", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125 + }, + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the HYP_HR_SR_OB_DR data (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the HYP_HR_SR_OB_DR data (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the HYP_HR_SR_OB_DR data (as MapML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the HYP_HR_SR_OB_DR data (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/dggs-list", + "title": "Discrete Global Grid Systems for HYP_HR_SR_OB_DR", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/dggs" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "application/json", + "title": "Schema (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/schema?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/plain", + "title": "Schema (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/schema?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/html", + "title": "Schema (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/schema?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "application/json", + "title": "Queryables (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/queryables?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/plain", + "title": "Queryables (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/queryables?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/html", + "title": "Queryables (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/queryables?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/png", + "title": "HYP_HR_SR_OB_DR (as PNG; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage?f=png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/tiff; application=geotiff", + "title": "HYP_HR_SR_OB_DR (as GeoTIFF; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage?f=tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-domainset", + "type": "application/json", + "title": "HYP_HR_SR_OB_DR (domain set of the coverage for this collection)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage/domainset?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-rangetype", + "type": "application/json", + "title": "HYP_HR_SR_OB_DR (range type of the coverage for this collection)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage/rangetype?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/png", + "title": "Default map (as PNG)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map.png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/jpeg", + "title": "Default map (as JPG)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map.jpg" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/tif", + "title": "Default map (as GeoTIFF)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map.tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets available for this dataset (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets available for this dataset (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets available for this dataset (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for HYP_HR_SR_OB_DR (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for HYP_HR_SR_OB_DR (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for HYP_HR_SR_OB_DR (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles?f=econ" + } + ], + "title": "HYP_HR_SR_OB_DR", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]], + "grid": [ + { + "cellsCount": 32768, + "resolution": 0.010986328125 + }, + { + "cellsCount": 16384, + "resolution": 0.010986328125 + } + ] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:raster:HYP_HR_SR_OB_DR", + "dataType": "map", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125 + }, + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the NE1_HR_LC_SR_W_DR data (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the NE1_HR_LC_SR_W_DR data (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the NE1_HR_LC_SR_W_DR data (as MapML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the NE1_HR_LC_SR_W_DR data (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/dggs-list", + "title": "Discrete Global Grid Systems for NE1_HR_LC_SR_W_DR", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/dggs" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "application/json", + "title": "Schema (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/schema?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/plain", + "title": "Schema (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/schema?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/html", + "title": "Schema (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/schema?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "application/json", + "title": "Queryables (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/queryables?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/plain", + "title": "Queryables (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/queryables?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/html", + "title": "Queryables (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/queryables?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/png", + "title": "NE1_HR_LC_SR_W_DR (as PNG; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/coverage?f=png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/tiff; application=geotiff", + "title": "NE1_HR_LC_SR_W_DR (as GeoTIFF; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/coverage?f=tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-domainset", + "type": "application/json", + "title": "NE1_HR_LC_SR_W_DR (domain set of the coverage for this collection)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/coverage/domainset?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-rangetype", + "type": "application/json", + "title": "NE1_HR_LC_SR_W_DR (range type of the coverage for this collection)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/coverage/rangetype?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/png", + "title": "Default map (as PNG)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/map.png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/jpeg", + "title": "Default map (as JPG)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/map.jpg" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/tif", + "title": "Default map (as GeoTIFF)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/map.tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets available for this dataset (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets available for this dataset (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets available for this dataset (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/map/tiles?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for NE1_HR_LC_SR_W_DR (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for NE1_HR_LC_SR_W_DR (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for NE1_HR_LC_SR_W_DR (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/styles?f=econ" + } + ], + "title": "NE1_HR_LC_SR_W_DR", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]], + "grid": [ + { + "cellsCount": 32768, + "resolution": 0.010986328125 + }, + { + "cellsCount": 16384, + "resolution": 0.010986328125 + } + ] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:raster:NE1_HR_LC_SR_W_DR", + "dataType": "map", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125 + }, + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the NE2_HR_LC_SR_W_DR data (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the NE2_HR_LC_SR_W_DR data (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the NE2_HR_LC_SR_W_DR data (as MapML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the NE2_HR_LC_SR_W_DR data (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/dggs-list", + "title": "Discrete Global Grid Systems for NE2_HR_LC_SR_W_DR", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/dggs" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "application/json", + "title": "Schema (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/schema?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/plain", + "title": "Schema (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/schema?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/html", + "title": "Schema (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/schema?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "application/json", + "title": "Queryables (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/queryables?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/plain", + "title": "Queryables (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/queryables?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/html", + "title": "Queryables (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/queryables?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/png", + "title": "NE2_HR_LC_SR_W_DR (as PNG; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/coverage?f=png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/tiff; application=geotiff", + "title": "NE2_HR_LC_SR_W_DR (as GeoTIFF; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/coverage?f=tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-domainset", + "type": "application/json", + "title": "NE2_HR_LC_SR_W_DR (domain set of the coverage for this collection)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/coverage/domainset?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-rangetype", + "type": "application/json", + "title": "NE2_HR_LC_SR_W_DR (range type of the coverage for this collection)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/coverage/rangetype?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/png", + "title": "Default map (as PNG)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/map.png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/jpeg", + "title": "Default map (as JPG)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/map.jpg" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/tif", + "title": "Default map (as GeoTIFF)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/map.tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets available for this dataset (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets available for this dataset (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets available for this dataset (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/map/tiles?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for NE2_HR_LC_SR_W_DR (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for NE2_HR_LC_SR_W_DR (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for NE2_HR_LC_SR_W_DR (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/styles?f=econ" + } + ], + "title": "NE2_HR_LC_SR_W_DR", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]], + "grid": [ + { + "cellsCount": 32768, + "resolution": 0.010986328125 + }, + { + "cellsCount": 16384, + "resolution": 0.010986328125 + } + ] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:raster:NE2_HR_LC_SR_W_DR", + "dataType": "map", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125 + }, + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the physical data (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the physical data (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the physical data (as MapML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the physical data (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for physical (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for physical (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for physical (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical/styles?f=econ" + } + ], + "title": "physical", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90.0002058236639]] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:physical", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125 + }, + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the ne_10m_lakes_pluvial data (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the ne_10m_lakes_pluvial data (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the ne_10m_lakes_pluvial data (as MapML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the ne_10m_lakes_pluvial data (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/dggs-list", + "title": "Discrete Global Grid Systems for ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/dggs" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "application/json", + "title": "Schema (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/schema?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/plain", + "title": "Schema (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/schema?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/html", + "title": "Schema (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/schema?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "application/json", + "title": "Queryables (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/queryables?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/plain", + "title": "Queryables (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/queryables?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/html", + "title": "Queryables (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/queryables?f=html" + }, + { + "rel": "items", + "type": "application/geo+json", + "title": "ne_10m_lakes_pluvial (as F&G GeoJSON; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.json" + }, + { + "rel": "items", + "type": "application/vnd.ogc.fg+json", + "title": "ne_10m_lakes_pluvial (as GeoJSON; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.fgjson" + }, + { + "rel": "items", + "type": "application/vnd.geo+econ", + "title": "ne_10m_lakes_pluvial (as GeoECON; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.econ" + }, + { + "rel": "items", + "type": "text/xml; subtype=gml/3.1.1", + "title": "ne_10m_lakes_pluvial (as GML; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.gml" + }, + { + "rel": "items", + "type": "application/vnd.mapbox-vector-tile", + "title": "ne_10m_lakes_pluvial (as Mapbox Vector Tile; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.mvt" + }, + { + "rel": "items", + "type": "text/mapml", + "title": "ne_10m_lakes_pluvial (as MapML; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.mapml" + }, + { + "rel": "item", + "type": "application/geo+json", + "title": "ne_10m_lakes_pluvial (individual feature as GeoJSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.json", + "templated": true + }, + { + "rel": "item", + "type": "application/vnd.ogc.fg+json", + "title": "ne_10m_lakes_pluvial (individual feature as F&G GeoJSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.fgjson", + "templated": true + }, + { + "rel": "item", + "type": "application/vnd.geo+econ", + "title": "ne_10m_lakes_pluvial (individual feature as GeoECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.econ", + "templated": true + }, + { + "rel": "item", + "type": "text/xml; subtype=gml/3.1.1", + "title": "ne_10m_lakes_pluvial (individual feature as GML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.gml", + "templated": true + }, + { + "rel": "item", + "type": "application/vnd.mapbox-vector-tile", + "title": "ne_10m_lakes_pluvial (individual feature as Mapbox Vector Tile)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.mvt", + "templated": true + }, + { + "rel": "item", + "type": "text/mapml", + "title": "ne_10m_lakes_pluvial (individual feature as MapML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.mapml", + "templated": true + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector", + "type": "application/json", + "title": "Vector tilesets available for this dataset (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector", + "type": "text/plain", + "title": "Vector tilesets available for this dataset (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector", + "type": "text/html", + "title": "Vector tilesets available for this dataset (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/png", + "title": "Default map (as PNG)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map.png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/jpeg", + "title": "Default map (as JPG)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map.jpg" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/tif", + "title": "Default map (as GeoTIFF)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map.tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets available for this dataset (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets available for this dataset (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets available for this dataset (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for ne_10m_lakes_pluvial (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for ne_10m_lakes_pluvial (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for ne_10m_lakes_pluvial (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles?f=econ" + } + ], + "title": "ne_10m_lakes_pluvial", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90.0002058236639]] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:physical:ne_10m_lakes_pluvial", + "dataType": "vector", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125, + "geometryDimension": 2 + } + ] +} diff --git a/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth.json b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth.json new file mode 100644 index 0000000..7e6f3e6 --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth.json @@ -0,0 +1,703 @@ +{ + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the NaturalEarth data (as JSON)", + "href": "/ogcapi/collections/NaturalEarth?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the NaturalEarth data (as ECON)", + "href": "/ogcapi/collections/NaturalEarth?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the NaturalEarth data (as MapML)", + "href": "/ogcapi/collections/NaturalEarth?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the NaturalEarth data (as HTML)", + "href": "/ogcapi/collections/NaturalEarth?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for NaturalEarth (as HTML)", + "href": "/ogcapi/collections/NaturalEarth/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for NaturalEarth (as JSON)", + "href": "/ogcapi/collections/NaturalEarth/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for NaturalEarth (as ECON)", + "href": "/ogcapi/collections/NaturalEarth/styles?f=econ" + }, + { + "rel": "service-desc", + "type": "application/vnd.oai.openapi+json;version=3.0", + "title": "The JSON OpenAPI 3.0 document that describes the API offered at this endpoint", + "href": "/ogcapi/api?f=json" + }, + { + "rel": "service-doc", + "type": "text/html", + "title": "The HTML documentation of the API offered at this endpoint", + "href": "/ogcapi/api?f=html" + }, + { + "rel": "conformance", + "type": "application/json", + "title": "The JSON representation of the conformance declaration for this server listing the requirement classes implemented by this server", + "href": "/ogcapi/conformance" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes", + "type": "application/json", + "title": "The list of supported tiling schemes (as JSON)", + "href": "/ogcapi/tileMatrixSets?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes", + "type": "text/plain", + "title": "The list of supported tiling schemes (as ECON)", + "href": "/ogcapi/tileMatrixSets?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes", + "type": "text/html", + "title": "The list of supported tiling schemes (as HTML)", + "href": "/ogcapi/tileMatrixSets?f=html" + } + ], + "title": "NaturalEarth", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90.0002058236639]] + } + }, + "collections": [ + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the NaturalEarth data (as JSON)", + "href": "/ogcapi/collections/NaturalEarth?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the NaturalEarth data (as ECON)", + "href": "/ogcapi/collections/NaturalEarth?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the NaturalEarth data (as MapML)", + "href": "/ogcapi/collections/NaturalEarth?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the NaturalEarth data (as HTML)", + "href": "/ogcapi/collections/NaturalEarth?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for NaturalEarth (as HTML)", + "href": "/ogcapi/collections/NaturalEarth/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for NaturalEarth (as JSON)", + "href": "/ogcapi/collections/NaturalEarth/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for NaturalEarth (as ECON)", + "href": "/ogcapi/collections/NaturalEarth/styles?f=econ" + } + ], + "title": "NaturalEarth", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90.0002058236639]] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth", + "attribution": "Natural Earth", + "minScaleDenominator": 2183915.0938621787354, + "minCellSize": 0.0054931640625 + }, + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the raster data (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the raster data (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the raster data (as MapML)", + "href": "/ogcapi/collections/NaturalEarth:raster?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the raster data (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for raster (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for raster (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for raster (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster/styles?f=econ" + } + ], + "title": "raster", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:raster", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125 + }, + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the HYP_HR_SR_OB_DR data (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the HYP_HR_SR_OB_DR data (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the HYP_HR_SR_OB_DR data (as MapML)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the HYP_HR_SR_OB_DR data (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/dggs-list", + "title": "Discrete Global Grid Systems for HYP_HR_SR_OB_DR", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/dggs" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "application/json", + "title": "Schema (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/schema?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/plain", + "title": "Schema (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/schema?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/html", + "title": "Schema (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/schema?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "application/json", + "title": "Queryables (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/queryables?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/plain", + "title": "Queryables (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/queryables?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/html", + "title": "Queryables (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/queryables?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/png", + "title": "HYP_HR_SR_OB_DR (as PNG; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage?f=png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/tiff; application=geotiff", + "title": "HYP_HR_SR_OB_DR (as GeoTIFF; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage?f=tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-domainset", + "type": "application/json", + "title": "HYP_HR_SR_OB_DR (domain set of the coverage for this collection)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage/domainset?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-rangetype", + "type": "application/json", + "title": "HYP_HR_SR_OB_DR (range type of the coverage for this collection)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage/rangetype?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/png", + "title": "Default map (as PNG)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map.png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/jpeg", + "title": "Default map (as JPG)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map.jpg" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/tif", + "title": "Default map (as GeoTIFF)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map.tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets available for this dataset (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets available for this dataset (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets available for this dataset (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for HYP_HR_SR_OB_DR (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for HYP_HR_SR_OB_DR (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for HYP_HR_SR_OB_DR (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles?f=econ" + } + ], + "title": "HYP_HR_SR_OB_DR", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]], + "grid": [ + { + "cellsCount": 32768, + "resolution": 0.010986328125 + }, + { + "cellsCount": 16384, + "resolution": 0.010986328125 + } + ] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:raster:HYP_HR_SR_OB_DR", + "dataType": "map", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125 + }, + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the physical data (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the physical data (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the physical data (as MapML)", + "href": "/ogcapi/collections/NaturalEarth:physical?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the physical data (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for physical (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for physical (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for physical (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical/styles?f=econ" + } + ], + "title": "physical", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90.0002058236639]] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:physical", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125 + }, + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the ne_10m_lakes_pluvial data (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the ne_10m_lakes_pluvial data (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the ne_10m_lakes_pluvial data (as MapML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the ne_10m_lakes_pluvial data (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/dggs-list", + "title": "Discrete Global Grid Systems for ne_10m_lakes_pluvial", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/dggs" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "application/json", + "title": "Schema (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/schema?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/plain", + "title": "Schema (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/schema?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/html", + "title": "Schema (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/schema?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "application/json", + "title": "Queryables (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/queryables?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/plain", + "title": "Queryables (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/queryables?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/html", + "title": "Queryables (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/queryables?f=html" + }, + { + "rel": "items", + "type": "application/geo+json", + "title": "ne_10m_lakes_pluvial (as F&G GeoJSON; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.json" + }, + { + "rel": "items", + "type": "application/vnd.ogc.fg+json", + "title": "ne_10m_lakes_pluvial (as GeoJSON; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.fgjson" + }, + { + "rel": "items", + "type": "application/vnd.geo+econ", + "title": "ne_10m_lakes_pluvial (as GeoECON; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.econ" + }, + { + "rel": "items", + "type": "text/xml; subtype=gml/3.1.1", + "title": "ne_10m_lakes_pluvial (as GML; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.gml" + }, + { + "rel": "items", + "type": "application/vnd.mapbox-vector-tile", + "title": "ne_10m_lakes_pluvial (as Mapbox Vector Tile; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.mvt" + }, + { + "rel": "items", + "type": "text/mapml", + "title": "ne_10m_lakes_pluvial (as MapML; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.mapml" + }, + { + "rel": "item", + "type": "application/geo+json", + "title": "ne_10m_lakes_pluvial (individual feature as GeoJSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.json", + "templated": true + }, + { + "rel": "item", + "type": "application/vnd.ogc.fg+json", + "title": "ne_10m_lakes_pluvial (individual feature as F&G GeoJSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.fgjson", + "templated": true + }, + { + "rel": "item", + "type": "application/vnd.geo+econ", + "title": "ne_10m_lakes_pluvial (individual feature as GeoECON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.econ", + "templated": true + }, + { + "rel": "item", + "type": "text/xml; subtype=gml/3.1.1", + "title": "ne_10m_lakes_pluvial (individual feature as GML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.gml", + "templated": true + }, + { + "rel": "item", + "type": "application/vnd.mapbox-vector-tile", + "title": "ne_10m_lakes_pluvial (individual feature as Mapbox Vector Tile)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.mvt", + "templated": true + }, + { + "rel": "item", + "type": "text/mapml", + "title": "ne_10m_lakes_pluvial (individual feature as MapML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.mapml", + "templated": true + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector", + "type": "application/json", + "title": "Vector tilesets available for this dataset (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector", + "type": "text/plain", + "title": "Vector tilesets available for this dataset (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector", + "type": "text/html", + "title": "Vector tilesets available for this dataset (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/png", + "title": "Default map (as PNG)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map.png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/jpeg", + "title": "Default map (as JPG)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map.jpg" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/tif", + "title": "Default map (as GeoTIFF)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map.tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets available for this dataset (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets available for this dataset (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets available for this dataset (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for ne_10m_lakes_pluvial (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for ne_10m_lakes_pluvial (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for ne_10m_lakes_pluvial (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles?f=econ" + } + ], + "title": "ne_10m_lakes_pluvial", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90.0002058236639]] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:physical:ne_10m_lakes_pluvial", + "dataType": "vector", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125, + "geometryDimension": 2 + } + ], + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth", + "attribution": "Natural Earth", + "minScaleDenominator": 2183915.0938621787354, + "minCellSize": 0.0054931640625 +} diff --git a/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical.json b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical.json new file mode 100644 index 0000000..432beee --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical.json @@ -0,0 +1,402 @@ +{ + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the physical data (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the physical data (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the physical data (as MapML)", + "href": "/ogcapi/collections/NaturalEarth:physical?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the physical data (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for physical (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for physical (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for physical (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical/styles?f=econ" + }, + { + "rel": "service-desc", + "type": "application/vnd.oai.openapi+json;version=3.0", + "title": "The JSON OpenAPI 3.0 document that describes the API offered at this endpoint", + "href": "/ogcapi/api?f=json" + }, + { + "rel": "service-doc", + "type": "text/html", + "title": "The HTML documentation of the API offered at this endpoint", + "href": "/ogcapi/api?f=html" + }, + { + "rel": "conformance", + "type": "application/json", + "title": "The JSON representation of the conformance declaration for this server listing the requirement classes implemented by this server", + "href": "/ogcapi/conformance" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes", + "type": "application/json", + "title": "The list of supported tiling schemes (as JSON)", + "href": "/ogcapi/tileMatrixSets?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes", + "type": "text/plain", + "title": "The list of supported tiling schemes (as ECON)", + "href": "/ogcapi/tileMatrixSets?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes", + "type": "text/html", + "title": "The list of supported tiling schemes (as HTML)", + "href": "/ogcapi/tileMatrixSets?f=html" + } + ], + "title": "physical", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90.0002058236639]] + } + }, + "collections": [ + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the physical data (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the physical data (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the physical data (as MapML)", + "href": "/ogcapi/collections/NaturalEarth:physical?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the physical data (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for physical (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for physical (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for physical (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical/styles?f=econ" + } + ], + "title": "physical", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90.0002058236639]] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:physical", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125 + }, + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the ne_10m_lakes_pluvial data (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the ne_10m_lakes_pluvial data (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the ne_10m_lakes_pluvial data (as MapML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the ne_10m_lakes_pluvial data (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/dggs-list", + "title": "Discrete Global Grid Systems for ne_10m_lakes_pluvial", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/dggs" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "application/json", + "title": "Schema (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/schema?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/plain", + "title": "Schema (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/schema?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/html", + "title": "Schema (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/schema?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "application/json", + "title": "Queryables (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/queryables?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/plain", + "title": "Queryables (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/queryables?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/html", + "title": "Queryables (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/queryables?f=html" + }, + { + "rel": "items", + "type": "application/geo+json", + "title": "ne_10m_lakes_pluvial (as F&G GeoJSON; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.json" + }, + { + "rel": "items", + "type": "application/vnd.ogc.fg+json", + "title": "ne_10m_lakes_pluvial (as GeoJSON; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.fgjson" + }, + { + "rel": "items", + "type": "application/vnd.geo+econ", + "title": "ne_10m_lakes_pluvial (as GeoECON; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.econ" + }, + { + "rel": "items", + "type": "text/xml; subtype=gml/3.1.1", + "title": "ne_10m_lakes_pluvial (as GML; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.gml" + }, + { + "rel": "items", + "type": "application/vnd.mapbox-vector-tile", + "title": "ne_10m_lakes_pluvial (as Mapbox Vector Tile; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.mvt" + }, + { + "rel": "items", + "type": "text/mapml", + "title": "ne_10m_lakes_pluvial (as MapML; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.mapml" + }, + { + "rel": "item", + "type": "application/geo+json", + "title": "ne_10m_lakes_pluvial (individual feature as GeoJSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.json", + "templated": true + }, + { + "rel": "item", + "type": "application/vnd.ogc.fg+json", + "title": "ne_10m_lakes_pluvial (individual feature as F&G GeoJSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.fgjson", + "templated": true + }, + { + "rel": "item", + "type": "application/vnd.geo+econ", + "title": "ne_10m_lakes_pluvial (individual feature as GeoECON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.econ", + "templated": true + }, + { + "rel": "item", + "type": "text/xml; subtype=gml/3.1.1", + "title": "ne_10m_lakes_pluvial (individual feature as GML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.gml", + "templated": true + }, + { + "rel": "item", + "type": "application/vnd.mapbox-vector-tile", + "title": "ne_10m_lakes_pluvial (individual feature as Mapbox Vector Tile)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.mvt", + "templated": true + }, + { + "rel": "item", + "type": "text/mapml", + "title": "ne_10m_lakes_pluvial (individual feature as MapML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.mapml", + "templated": true + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector", + "type": "application/json", + "title": "Vector tilesets available for this dataset (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector", + "type": "text/plain", + "title": "Vector tilesets available for this dataset (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector", + "type": "text/html", + "title": "Vector tilesets available for this dataset (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/png", + "title": "Default map (as PNG)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map.png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/jpeg", + "title": "Default map (as JPG)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map.jpg" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/tif", + "title": "Default map (as GeoTIFF)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map.tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets available for this dataset (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets available for this dataset (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets available for this dataset (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for ne_10m_lakes_pluvial (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for ne_10m_lakes_pluvial (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for ne_10m_lakes_pluvial (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles?f=econ" + } + ], + "title": "ne_10m_lakes_pluvial", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90.0002058236639]] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:physical:ne_10m_lakes_pluvial", + "dataType": "vector", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125, + "geometryDimension": 2 + } + ], + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:physical", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125 +} diff --git a/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial.json b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial.json new file mode 100644 index 0000000..7d6b837 --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial.json @@ -0,0 +1,238 @@ +{ + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the ne_10m_lakes_pluvial data (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the ne_10m_lakes_pluvial data (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the ne_10m_lakes_pluvial data (as MapML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the ne_10m_lakes_pluvial data (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/dggs-list", + "title": "Discrete Global Grid Systems for ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/dggs" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "application/json", + "title": "Schema (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/schema?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/plain", + "title": "Schema (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/schema?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/html", + "title": "Schema (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/schema?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "application/json", + "title": "Queryables (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/queryables?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/plain", + "title": "Queryables (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/queryables?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/html", + "title": "Queryables (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/queryables?f=html" + }, + { + "rel": "items", + "type": "application/geo+json", + "title": "ne_10m_lakes_pluvial (as F&G GeoJSON; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.json" + }, + { + "rel": "items", + "type": "application/vnd.ogc.fg+json", + "title": "ne_10m_lakes_pluvial (as GeoJSON; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.fgjson" + }, + { + "rel": "items", + "type": "application/vnd.geo+econ", + "title": "ne_10m_lakes_pluvial (as GeoECON; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.econ" + }, + { + "rel": "items", + "type": "text/xml; subtype=gml/3.1.1", + "title": "ne_10m_lakes_pluvial (as GML; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.gml" + }, + { + "rel": "items", + "type": "application/vnd.mapbox-vector-tile", + "title": "ne_10m_lakes_pluvial (as Mapbox Vector Tile; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.mvt" + }, + { + "rel": "items", + "type": "text/mapml", + "title": "ne_10m_lakes_pluvial (as MapML; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items.mapml" + }, + { + "rel": "item", + "type": "application/geo+json", + "title": "ne_10m_lakes_pluvial (individual feature as GeoJSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.json", + "templated": true + }, + { + "rel": "item", + "type": "application/vnd.ogc.fg+json", + "title": "ne_10m_lakes_pluvial (individual feature as F&G GeoJSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.fgjson", + "templated": true + }, + { + "rel": "item", + "type": "application/vnd.geo+econ", + "title": "ne_10m_lakes_pluvial (individual feature as GeoECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.econ", + "templated": true + }, + { + "rel": "item", + "type": "text/xml; subtype=gml/3.1.1", + "title": "ne_10m_lakes_pluvial (individual feature as GML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.gml", + "templated": true + }, + { + "rel": "item", + "type": "application/vnd.mapbox-vector-tile", + "title": "ne_10m_lakes_pluvial (individual feature as Mapbox Vector Tile)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.mvt", + "templated": true + }, + { + "rel": "item", + "type": "text/mapml", + "title": "ne_10m_lakes_pluvial (individual feature as MapML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/items/{featureId}.mapml", + "templated": true + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector", + "type": "application/json", + "title": "Vector tilesets available for this dataset (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector", + "type": "text/plain", + "title": "Vector tilesets available for this dataset (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector", + "type": "text/html", + "title": "Vector tilesets available for this dataset (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/png", + "title": "Default map (as PNG)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map.png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/jpeg", + "title": "Default map (as JPG)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map.jpg" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/tif", + "title": "Default map (as GeoTIFF)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map.tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets available for this dataset (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets available for this dataset (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets available for this dataset (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for ne_10m_lakes_pluvial (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for ne_10m_lakes_pluvial (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for ne_10m_lakes_pluvial (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles?f=econ" + } + ], + "title": "ne_10m_lakes_pluvial", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90.0002058236639]] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:physical:ne_10m_lakes_pluvial", + "dataType": "vector", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243575, + "minCellSize": 0.010986328125, + "geometryDimension": 2 +} diff --git a/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/GlobalCRS84Pixel.json b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/GlobalCRS84Pixel.json new file mode 100644 index 0000000..93b6fa8 --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/GlobalCRS84Pixel.json @@ -0,0 +1,184 @@ +{ + "title": "ne_10m_lakes_pluvial", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GlobalCRS84Pixel", + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "dataType": "map", + "tileMatrixSetLimits": [ + { + "tileMatrix": "0", + "minTileRow": 0, + "maxTileRow": 0, + "minTileCol": 0, + "maxTileCol": 0 + }, + { + "tileMatrix": "1", + "minTileRow": 0, + "maxTileRow": 0, + "minTileCol": 0, + "maxTileCol": 1 + }, + { + "tileMatrix": "2", + "minTileRow": 0, + "maxTileRow": 1, + "minTileCol": 0, + "maxTileCol": 2 + }, + { + "tileMatrix": "3", + "minTileRow": 0, + "maxTileRow": 2, + "minTileCol": 0, + "maxTileCol": 4 + }, + { + "tileMatrix": "4", + "minTileRow": 0, + "maxTileRow": 4, + "minTileCol": 0, + "maxTileCol": 8 + }, + { + "tileMatrix": "5", + "minTileRow": 0, + "maxTileRow": 8, + "minTileCol": 0, + "maxTileCol": 16 + }, + { + "tileMatrix": "6", + "minTileRow": 0, + "maxTileRow": 21, + "minTileCol": 0, + "maxTileCol": 42 + }, + { + "tileMatrix": "7", + "minTileRow": 0, + "maxTileRow": 42, + "minTileCol": 0, + "maxTileCol": 84 + }, + { + "tileMatrix": "8", + "minTileRow": 0, + "maxTileRow": 84, + "minTileCol": 0, + "maxTileCol": 168 + } + ], + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the GlobalCRS84Pixel map tileset for NaturalEarth:physical:ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GlobalCRS84Pixel?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "The ECON representation of the GlobalCRS84Pixel map tileset for NaturalEarth:physical:ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GlobalCRS84Pixel?f=econ" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "The HTML representation of the GlobalCRS84Pixel map tileset for NaturalEarth:physical:ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GlobalCRS84Pixel?=html" + }, + { + "rel": "alternate", + "type": "application/json+tile", + "title": "The TileJSON representation of the GlobalCRS84Pixel map tileset for NaturalEarth:physical:ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GlobalCRS84Pixel?f=tilejson" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "GlobalCRS84PixelTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/GlobalCRS84Pixel" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/geodata", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial" + }, + { + "rel": "item", + "type": "application/vnd.gnosis-map-tile", + "title": "GlobalCRS84Pixel map tiles for NaturalEarth:physical:ne_10m_lakes_pluvial (as GNOSIS Map Tiles)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GlobalCRS84Pixel/{tileMatrix}/{tileRow}/{tileCol}.gmt", + "templated": true + }, + { + "rel": "item", + "type": "image/png", + "title": "GlobalCRS84Pixel map tiles for NaturalEarth:physical:ne_10m_lakes_pluvial (as PNG)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GlobalCRS84Pixel/{tileMatrix}/{tileRow}/{tileCol}.png", + "templated": true + }, + { + "rel": "item", + "type": "image/jpeg", + "title": "GlobalCRS84Pixel map tiles for NaturalEarth:physical:ne_10m_lakes_pluvial (as JPG)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GlobalCRS84Pixel/{tileMatrix}/{tileRow}/{tileCol}.jpg", + "templated": true + }, + { + "rel": "item", + "type": "image/tiff; application=geotiff", + "title": "GlobalCRS84Pixel map tiles for NaturalEarth:physical:ne_10m_lakes_pluvial (as GeoTIFF)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GlobalCRS84Pixel/{tileMatrix}/{tileRow}/{tileCol}.tif", + "templated": true + } + ], + "layers": [ + { + "id": "ne_10m_lakes_pluvial", + "dataType": "vector", + "geometryDimension": 2, + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125, + "maxTileMatrix": "8", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/geodata", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial" + } + ], + "propertiesSchema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "featurecla": { + "type": "string", + "x-ogc-property-seq": 2 + }, + "name": { + "type": "string", + "x-ogc-property-seq": 3 + }, + "note": { + "type": "string", + "x-ogc-property-seq": 5 + }, + "scalerank": { + "type": "integer", + "x-ogc-property-seq": 1 + }, + "timescale": { + "type": "string", + "x-ogc-property-seq": 4 + } + } + } + } + ], + "centerPoint": { + "coordinates": [0, 0.000102911832], + "tileMatrix": "5", + "scaleDenominator": 34942641.501794859767, + "cellSize": 0.087890625, + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84" + } +} diff --git a/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles.json b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles.json new file mode 100644 index 0000000..da12809 --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles.json @@ -0,0 +1,384 @@ +{ + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the available map tilesets for ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "The ECON representation of the available map tilesets for ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/?f=econ" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "The HTML representation of the available map tilesets for ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector", + "type": "application/json", + "title": "Vector tilesets for ne_10m_lakes_pluvial (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector", + "type": "text/plain", + "title": "Vector tilesets for ne_10m_lakes_pluvial (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector", + "type": "text/html", + "title": "Vector tilesets for ne_10m_lakes_pluvial (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets for ne_10m_lakes_pluvial (default style) (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles/default/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets for ne_10m_lakes_pluvial (default style) (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles/default/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets for ne_10m_lakes_pluvial (default style) (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles/default/map/tiles?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets for ne_10m_lakes_pluvial (sldImportTest style) (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles/sldImportTest/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets for ne_10m_lakes_pluvial (sldImportTest style) (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles/sldImportTest/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets for ne_10m_lakes_pluvial (sldImportTest style) (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles/sldImportTest/map/tiles?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets for ne_10m_lakes_pluvial (mbglImportTest style) (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles/mbglImportTest/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets for ne_10m_lakes_pluvial (mbglImportTest style) (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles/mbglImportTest/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets for ne_10m_lakes_pluvial (mbglImportTest style) (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/styles/mbglImportTest/map/tiles?f=html" + } + ], + "tilesets": [ + { + "title": "ne_10m_lakes_pluvial", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/CDB1GlobalGrid", + "crs": "http://www.opengis.net/def/crs/EPSG/0/4326", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "CDB1GlobalGridTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/CDB1GlobalGrid" + }, + { + "rel": "self", + "type": "application/json", + "title": "CDB1GlobalGrid map tileset for ne_10m_lakes_pluvial (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/CDB1GlobalGrid?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "CDB1GlobalGrid map tileset for ne_10m_lakes_pluvial (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/CDB1GlobalGrid?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "CDB1GlobalGrid map tileset for ne_10m_lakes_pluvial (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/CDB1GlobalGrid?f=tilejson" + } + ] + }, + { + "title": "ne_10m_lakes_pluvial", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GlobalCRS84Pixel", + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "GlobalCRS84PixelTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/GlobalCRS84Pixel" + }, + { + "rel": "self", + "type": "application/json", + "title": "GlobalCRS84Pixel map tileset for ne_10m_lakes_pluvial (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GlobalCRS84Pixel?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "GlobalCRS84Pixel map tileset for ne_10m_lakes_pluvial (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GlobalCRS84Pixel?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "GlobalCRS84Pixel map tileset for ne_10m_lakes_pluvial (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GlobalCRS84Pixel?f=tilejson" + } + ] + }, + { + "title": "ne_10m_lakes_pluvial", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GlobalCRS84Scale", + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "GlobalCRS84ScaleTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/GlobalCRS84Scale" + }, + { + "rel": "self", + "type": "application/json", + "title": "GlobalCRS84Scale map tileset for ne_10m_lakes_pluvial (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GlobalCRS84Scale?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "GlobalCRS84Scale map tileset for ne_10m_lakes_pluvial (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GlobalCRS84Scale?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "GlobalCRS84Scale map tileset for ne_10m_lakes_pluvial (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GlobalCRS84Scale?f=tilejson" + } + ] + }, + { + "title": "ne_10m_lakes_pluvial", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GNOSISGlobalGrid", + "crs": "http://www.opengis.net/def/crs/EPSG/0/4326", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "GNOSISGlobalGridTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/GNOSISGlobalGrid" + }, + { + "rel": "self", + "type": "application/json", + "title": "GNOSISGlobalGrid map tileset for ne_10m_lakes_pluvial (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GNOSISGlobalGrid?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "GNOSISGlobalGrid map tileset for ne_10m_lakes_pluvial (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GNOSISGlobalGrid?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "GNOSISGlobalGrid map tileset for ne_10m_lakes_pluvial (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GNOSISGlobalGrid?f=tilejson" + } + ] + }, + { + "title": "ne_10m_lakes_pluvial", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GoogleCRS84Quad", + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "GoogleCRS84QuadTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/GoogleCRS84Quad" + }, + { + "rel": "self", + "type": "application/json", + "title": "GoogleCRS84Quad map tileset for ne_10m_lakes_pluvial (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GoogleCRS84Quad?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "GoogleCRS84Quad map tileset for ne_10m_lakes_pluvial (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GoogleCRS84Quad?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "GoogleCRS84Quad map tileset for ne_10m_lakes_pluvial (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GoogleCRS84Quad?f=tilejson" + } + ] + }, + { + "title": "ne_10m_lakes_pluvial", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/ISEA9R", + "crs": "http://www.opengis.net/def/crs/OGC/0/153456", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "ISEA9RTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/ISEA9R" + }, + { + "rel": "self", + "type": "application/json", + "title": "ISEA9R map tileset for ne_10m_lakes_pluvial (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/ISEA9R?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "ISEA9R map tileset for ne_10m_lakes_pluvial (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/ISEA9R?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "ISEA9R map tileset for ne_10m_lakes_pluvial (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/ISEA9R?f=tilejson" + } + ] + }, + { + "title": "ne_10m_lakes_pluvial", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/WebMercatorQuad", + "crs": "http://www.opengis.net/def/crs/EPSG/0/3857", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "WebMercatorQuadTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/WebMercatorQuad" + }, + { + "rel": "self", + "type": "application/json", + "title": "WebMercatorQuad map tileset for ne_10m_lakes_pluvial (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/WebMercatorQuad?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "WebMercatorQuad map tileset for ne_10m_lakes_pluvial (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/WebMercatorQuad?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "WebMercatorQuad map tileset for ne_10m_lakes_pluvial (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/WebMercatorQuad?f=tilejson" + } + ] + }, + { + "title": "ne_10m_lakes_pluvial", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/WorldCRS84Quad", + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "WorldCRS84QuadTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/WorldCRS84Quad" + }, + { + "rel": "self", + "type": "application/json", + "title": "WorldCRS84Quad map tileset for ne_10m_lakes_pluvial (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/WorldCRS84Quad?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "WorldCRS84Quad map tileset for ne_10m_lakes_pluvial (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/WorldCRS84Quad?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "WorldCRS84Quad map tileset for ne_10m_lakes_pluvial (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/WorldCRS84Quad?f=tilejson" + } + ] + }, + { + "title": "ne_10m_lakes_pluvial", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/WorldMercatorWGS84Quad", + "crs": "http://www.opengis.net/def/crs/EPSG/0/3395", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "WorldMercatorWGS84QuadTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/WorldMercatorWGS84Quad" + }, + { + "rel": "self", + "type": "application/json", + "title": "WorldMercatorWGS84Quad map tileset for ne_10m_lakes_pluvial (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/WorldMercatorWGS84Quad?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "WorldMercatorWGS84Quad map tileset for ne_10m_lakes_pluvial (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/WorldMercatorWGS84Quad?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "WorldMercatorWGS84Quad map tileset for ne_10m_lakes_pluvial (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/WorldMercatorWGS84Quad?f=tilejson" + } + ] + } + ] +} diff --git a/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles.json b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles.json new file mode 100644 index 0000000..1000f07 --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles.json @@ -0,0 +1,74 @@ +{ + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the available vector tilesets for ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "The ECON representation of the available vector tilesets for ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/?f=econ" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "The HTML representation of the available vector tilesets for ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets for ne_10m_lakes_pluvial (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets for ne_10m_lakes_pluvial (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets for ne_10m_lakes_pluvial (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles?f=html" + } + ], + "tilesets": [ + { + "title": "ne_10m_lakes_pluvial", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GlobalCRS84Pixel", + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "dataType": "vector", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "GlobalCRS84PixelTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/GlobalCRS84Pixel" + }, + { + "rel": "self", + "type": "application/json", + "title": "GlobalCRS84Pixel vector tileset for ne_10m_lakes_pluvial (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "GlobalCRS84Pixel vector tileset for ne_10m_lakes_pluvial (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "GlobalCRS84Pixel vector tileset for ne_10m_lakes_pluvial (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel?f=tilejson" + } + ] + } + ] +} diff --git a/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel.json b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel.json new file mode 100644 index 0000000..2abbfc2 --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel.json @@ -0,0 +1,191 @@ +{ + "title": "ne_10m_lakes_pluvial", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GlobalCRS84Pixel", + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "dataType": "vector", + "tileMatrixSetLimits": [ + { + "tileMatrix": "0", + "minTileRow": 0, + "maxTileRow": 0, + "minTileCol": 0, + "maxTileCol": 0 + }, + { + "tileMatrix": "1", + "minTileRow": 0, + "maxTileRow": 0, + "minTileCol": 0, + "maxTileCol": 1 + }, + { + "tileMatrix": "2", + "minTileRow": 0, + "maxTileRow": 1, + "minTileCol": 0, + "maxTileCol": 2 + }, + { + "tileMatrix": "3", + "minTileRow": 0, + "maxTileRow": 2, + "minTileCol": 0, + "maxTileCol": 4 + }, + { + "tileMatrix": "4", + "minTileRow": 0, + "maxTileRow": 4, + "minTileCol": 0, + "maxTileCol": 8 + }, + { + "tileMatrix": "5", + "minTileRow": 0, + "maxTileRow": 8, + "minTileCol": 0, + "maxTileCol": 16 + }, + { + "tileMatrix": "6", + "minTileRow": 0, + "maxTileRow": 21, + "minTileCol": 0, + "maxTileCol": 42 + }, + { + "tileMatrix": "7", + "minTileRow": 0, + "maxTileRow": 42, + "minTileCol": 0, + "maxTileCol": 84 + }, + { + "tileMatrix": "8", + "minTileRow": 0, + "maxTileRow": 84, + "minTileCol": 0, + "maxTileCol": 168 + } + ], + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the GlobalCRS84Pixel vector tileset for NaturalEarth:physical:ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "The ECON representation of the GlobalCRS84Pixel vector tileset for NaturalEarth:physical:ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel?f=econ" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "The HTML representation of the GlobalCRS84Pixel vector tileset for NaturalEarth:physical:ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel?=html" + }, + { + "rel": "alternate", + "type": "application/json+tile", + "title": "The TileJSON representation of the GlobalCRS84Pixel vector tileset for NaturalEarth:physical:ne_10m_lakes_pluvial", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel?f=tilejson" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "GlobalCRS84PixelTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/GlobalCRS84Pixel" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/geodata", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial" + }, + { + "rel": "item", + "type": "application/vnd.gnosis-map-tile", + "title": "GlobalCRS84Pixel vector tiles for NaturalEarth:physical:ne_10m_lakes_pluvial (as GNOSIS Map Tiles)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel/{tileMatrix}/{tileRow}/{tileCol}.gmt", + "templated": true + }, + { + "rel": "item", + "type": "application/vnd.mapbox-vector-tile", + "title": "GlobalCRS84Pixel vector tiles for NaturalEarth:physical:ne_10m_lakes_pluvial (as Mapbox Vector Tiles)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel/{tileMatrix}/{tileRow}/{tileCol}.mvt", + "templated": true + }, + { + "rel": "item", + "type": "application/geo+json", + "title": "GlobalCRS84Pixel vector tiles for NaturalEarth:physical:ne_10m_lakes_pluvial (as GeoJSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel/{tileMatrix}/{tileRow}/{tileCol}.json", + "templated": true + }, + { + "rel": "item", + "type": "application/vnd.ogc.fg+json", + "title": "GlobalCRS84Pixel vector tiles for NaturalEarth:physical:ne_10m_lakes_pluvial (as F&G GeoJSON)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel/{tileMatrix}/{tileRow}/{tileCol}.fgjson", + "templated": true + }, + { + "rel": "item", + "type": "text/mapml", + "title": "GlobalCRS84Pixel vector tiles for NaturalEarth:physical:ne_10m_lakes_pluvial (as MapML)", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel/{tileMatrix}/{tileRow}/{tileCol}.mapml", + "templated": true + } + ], + "layers": [ + { + "id": "ne_10m_lakes_pluvial", + "dataType": "vector", + "geometryDimension": 2, + "minScaleDenominator": 4367830.1877243575, + "minCellSize": 0.010986328125, + "maxTileMatrix": "8", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/geodata", + "href": "/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial" + } + ], + "propertiesSchema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "featurecla": { + "type": "string", + "x-ogc-property-seq": 2 + }, + "name": { + "type": "string", + "x-ogc-property-seq": 3 + }, + "note": { + "type": "string", + "x-ogc-property-seq": 5 + }, + "scalerank": { + "type": "integer", + "x-ogc-property-seq": 1 + }, + "timescale": { + "type": "string", + "x-ogc-property-seq": 4 + } + } + } + } + ], + "centerPoint": { + "coordinates": [0, 0.000102911832], + "tileMatrix": "5", + "scaleDenominator": 34942641.50179486, + "cellSize": 0.087890625, + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84" + } +} diff --git a/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster.json b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster.json new file mode 100644 index 0000000..470caf3 --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster.json @@ -0,0 +1,339 @@ +{ + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the raster data (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the raster data (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the raster data (as MapML)", + "href": "/ogcapi/collections/NaturalEarth:raster?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the raster data (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for raster (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for raster (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for raster (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster/styles?f=econ" + }, + { + "rel": "service-desc", + "type": "application/vnd.oai.openapi+json;version=3.0", + "title": "The JSON OpenAPI 3.0 document that describes the API offered at this endpoint", + "href": "/ogcapi/api?f=json" + }, + { + "rel": "service-doc", + "type": "text/html", + "title": "The HTML documentation of the API offered at this endpoint", + "href": "/ogcapi/api?f=html" + }, + { + "rel": "conformance", + "type": "application/json", + "title": "The JSON representation of the conformance declaration for this server listing the requirement classes implemented by this server", + "href": "/ogcapi/conformance" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes", + "type": "application/json", + "title": "The list of supported tiling schemes (as JSON)", + "href": "/ogcapi/tileMatrixSets?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes", + "type": "text/plain", + "title": "The list of supported tiling schemes (as ECON)", + "href": "/ogcapi/tileMatrixSets?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes", + "type": "text/html", + "title": "The list of supported tiling schemes (as HTML)", + "href": "/ogcapi/tileMatrixSets?f=html" + } + ], + "title": "raster", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]] + } + }, + "collections": [ + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the raster data (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the raster data (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the raster data (as MapML)", + "href": "/ogcapi/collections/NaturalEarth:raster?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the raster data (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for raster (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for raster (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for raster (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster/styles?f=econ" + } + ], + "title": "raster", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:raster", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125 + }, + { + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the HYP_HR_SR_OB_DR data (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the HYP_HR_SR_OB_DR data (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the HYP_HR_SR_OB_DR data (as MapML)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the HYP_HR_SR_OB_DR data (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/dggs-list", + "title": "Discrete Global Grid Systems for HYP_HR_SR_OB_DR", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/dggs" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "application/json", + "title": "Schema (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/schema?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/plain", + "title": "Schema (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/schema?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/html", + "title": "Schema (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/schema?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "application/json", + "title": "Queryables (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/queryables?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/plain", + "title": "Queryables (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/queryables?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/html", + "title": "Queryables (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/queryables?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/png", + "title": "HYP_HR_SR_OB_DR (as PNG; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage?f=png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/tiff; application=geotiff", + "title": "HYP_HR_SR_OB_DR (as GeoTIFF; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage?f=tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-domainset", + "type": "application/json", + "title": "HYP_HR_SR_OB_DR (domain set of the coverage for this collection)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage/domainset?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-rangetype", + "type": "application/json", + "title": "HYP_HR_SR_OB_DR (range type of the coverage for this collection)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage/rangetype?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/png", + "title": "Default map (as PNG)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map.png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/jpeg", + "title": "Default map (as JPG)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map.jpg" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/tif", + "title": "Default map (as GeoTIFF)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map.tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets available for this dataset (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets available for this dataset (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets available for this dataset (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for HYP_HR_SR_OB_DR (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for HYP_HR_SR_OB_DR (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for HYP_HR_SR_OB_DR (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles?f=econ" + } + ], + "title": "HYP_HR_SR_OB_DR", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]], + "grid": [ + { + "cellsCount": 32768, + "resolution": 0.010986328125 + }, + { + "cellsCount": 16384, + "resolution": 0.010986328125 + } + ] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:raster:HYP_HR_SR_OB_DR", + "dataType": "map", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125 + } + ], + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:raster", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125 +} diff --git a/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR.json b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR.json new file mode 100644 index 0000000..2a4581d --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR.json @@ -0,0 +1,175 @@ +{ + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the HYP_HR_SR_OB_DR data (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the HYP_HR_SR_OB_DR data (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the HYP_HR_SR_OB_DR data (as MapML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the HYP_HR_SR_OB_DR data (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/dggs-list", + "title": "Discrete Global Grid Systems for HYP_HR_SR_OB_DR", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/dggs" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "application/json", + "title": "Schema (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/schema?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/plain", + "title": "Schema (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/schema?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/html", + "title": "Schema (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/schema?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "application/json", + "title": "Queryables (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/queryables?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/plain", + "title": "Queryables (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/queryables?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/html", + "title": "Queryables (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/queryables?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/png", + "title": "HYP_HR_SR_OB_DR (as PNG; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage?f=png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/tiff; application=geotiff", + "title": "HYP_HR_SR_OB_DR (as GeoTIFF; Note: requesting large extent may result in generalized data)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage?f=tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-domainset", + "type": "application/json", + "title": "HYP_HR_SR_OB_DR (domain set of the coverage for this collection)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage/domainset?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-rangetype", + "type": "application/json", + "title": "HYP_HR_SR_OB_DR (range type of the coverage for this collection)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/coverage/rangetype?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/png", + "title": "Default map (as PNG)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map.png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/jpeg", + "title": "Default map (as JPG)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map.jpg" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/tif", + "title": "Default map (as GeoTIFF)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map.tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets available for this dataset (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets available for this dataset (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets available for this dataset (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for HYP_HR_SR_OB_DR (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for HYP_HR_SR_OB_DR (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for HYP_HR_SR_OB_DR (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles?f=econ" + } + ], + "title": "HYP_HR_SR_OB_DR", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]], + "grid": [ + { + "cellsCount": 32768, + "resolution": 0.010986328125 + }, + { + "cellsCount": 16384, + "resolution": 0.010986328125 + } + ] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:raster:HYP_HR_SR_OB_DR", + "dataType": "map", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243575, + "minCellSize": 0.010986328125 +} diff --git a/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/tiles.json b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/tiles.json new file mode 100644 index 0000000..96de752 --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/tiles.json @@ -0,0 +1,366 @@ +{ + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the available map tilesets for HYP_HR_SR_OB_DR", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "The ECON representation of the available map tilesets for HYP_HR_SR_OB_DR", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/?f=econ" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "The HTML representation of the available map tilesets for HYP_HR_SR_OB_DR", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets for HYP_HR_SR_OB_DR (default style) (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles/default/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets for HYP_HR_SR_OB_DR (default style) (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles/default/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets for HYP_HR_SR_OB_DR (default style) (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles/default/map/tiles?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets for HYP_HR_SR_OB_DR (sldImportTest style) (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles/sldImportTest/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets for HYP_HR_SR_OB_DR (sldImportTest style) (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles/sldImportTest/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets for HYP_HR_SR_OB_DR (sldImportTest style) (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles/sldImportTest/map/tiles?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets for HYP_HR_SR_OB_DR (mbglImportTest style) (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles/mbglImportTest/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets for HYP_HR_SR_OB_DR (mbglImportTest style) (as ECON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles/mbglImportTest/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets for HYP_HR_SR_OB_DR (mbglImportTest style) (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/styles/mbglImportTest/map/tiles?f=html" + } + ], + "tilesets": [ + { + "title": "HYP_HR_SR_OB_DR", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/CDB1GlobalGrid", + "crs": "http://www.opengis.net/def/crs/EPSG/0/4326", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "CDB1GlobalGridTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/CDB1GlobalGrid" + }, + { + "rel": "self", + "type": "application/json", + "title": "CDB1GlobalGrid map tileset for HYP_HR_SR_OB_DR (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/CDB1GlobalGrid?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "CDB1GlobalGrid map tileset for HYP_HR_SR_OB_DR (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/CDB1GlobalGrid?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "CDB1GlobalGrid map tileset for HYP_HR_SR_OB_DR (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/CDB1GlobalGrid?f=tilejson" + } + ] + }, + { + "title": "HYP_HR_SR_OB_DR", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GlobalCRS84Pixel", + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "GlobalCRS84PixelTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/GlobalCRS84Pixel" + }, + { + "rel": "self", + "type": "application/json", + "title": "GlobalCRS84Pixel map tileset for HYP_HR_SR_OB_DR (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GlobalCRS84Pixel?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "GlobalCRS84Pixel map tileset for HYP_HR_SR_OB_DR (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GlobalCRS84Pixel?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "GlobalCRS84Pixel map tileset for HYP_HR_SR_OB_DR (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GlobalCRS84Pixel?f=tilejson" + } + ] + }, + { + "title": "HYP_HR_SR_OB_DR", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GlobalCRS84Scale", + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "GlobalCRS84ScaleTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/GlobalCRS84Scale" + }, + { + "rel": "self", + "type": "application/json", + "title": "GlobalCRS84Scale map tileset for HYP_HR_SR_OB_DR (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GlobalCRS84Scale?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "GlobalCRS84Scale map tileset for HYP_HR_SR_OB_DR (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GlobalCRS84Scale?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "GlobalCRS84Scale map tileset for HYP_HR_SR_OB_DR (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GlobalCRS84Scale?f=tilejson" + } + ] + }, + { + "title": "HYP_HR_SR_OB_DR", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GNOSISGlobalGrid", + "crs": "http://www.opengis.net/def/crs/EPSG/0/4326", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "GNOSISGlobalGridTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/GNOSISGlobalGrid" + }, + { + "rel": "self", + "type": "application/json", + "title": "GNOSISGlobalGrid map tileset for HYP_HR_SR_OB_DR (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GNOSISGlobalGrid?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "GNOSISGlobalGrid map tileset for HYP_HR_SR_OB_DR (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GNOSISGlobalGrid?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "GNOSISGlobalGrid map tileset for HYP_HR_SR_OB_DR (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GNOSISGlobalGrid?f=tilejson" + } + ] + }, + { + "title": "HYP_HR_SR_OB_DR", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GoogleCRS84Quad", + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "GoogleCRS84QuadTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/GoogleCRS84Quad" + }, + { + "rel": "self", + "type": "application/json", + "title": "GoogleCRS84Quad map tileset for HYP_HR_SR_OB_DR (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GoogleCRS84Quad?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "GoogleCRS84Quad map tileset for HYP_HR_SR_OB_DR (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GoogleCRS84Quad?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "GoogleCRS84Quad map tileset for HYP_HR_SR_OB_DR (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GoogleCRS84Quad?f=tilejson" + } + ] + }, + { + "title": "HYP_HR_SR_OB_DR", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/ISEA9R", + "crs": "http://www.opengis.net/def/crs/OGC/0/153456", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "ISEA9RTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/ISEA9R" + }, + { + "rel": "self", + "type": "application/json", + "title": "ISEA9R map tileset for HYP_HR_SR_OB_DR (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/ISEA9R?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "ISEA9R map tileset for HYP_HR_SR_OB_DR (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/ISEA9R?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "ISEA9R map tileset for HYP_HR_SR_OB_DR (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/ISEA9R?f=tilejson" + } + ] + }, + { + "title": "HYP_HR_SR_OB_DR", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/WebMercatorQuad", + "crs": "http://www.opengis.net/def/crs/EPSG/0/3857", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "WebMercatorQuadTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/WebMercatorQuad" + }, + { + "rel": "self", + "type": "application/json", + "title": "WebMercatorQuad map tileset for HYP_HR_SR_OB_DR (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/WebMercatorQuad?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "WebMercatorQuad map tileset for HYP_HR_SR_OB_DR (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/WebMercatorQuad?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "WebMercatorQuad map tileset for HYP_HR_SR_OB_DR (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/WebMercatorQuad?f=tilejson" + } + ] + }, + { + "title": "HYP_HR_SR_OB_DR", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/WorldCRS84Quad", + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "WorldCRS84QuadTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/WorldCRS84Quad" + }, + { + "rel": "self", + "type": "application/json", + "title": "WorldCRS84Quad map tileset for HYP_HR_SR_OB_DR (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/WorldCRS84Quad?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "WorldCRS84Quad map tileset for HYP_HR_SR_OB_DR (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/WorldCRS84Quad?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "WorldCRS84Quad map tileset for HYP_HR_SR_OB_DR (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/WorldCRS84Quad?f=tilejson" + } + ] + }, + { + "title": "HYP_HR_SR_OB_DR", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/WorldMercatorWGS84Quad", + "crs": "http://www.opengis.net/def/crs/EPSG/0/3395", + "dataType": "map", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "WorldMercatorWGS84QuadTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/WorldMercatorWGS84Quad" + }, + { + "rel": "self", + "type": "application/json", + "title": "WorldMercatorWGS84Quad map tileset for HYP_HR_SR_OB_DR (as JSON)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/WorldMercatorWGS84Quad?f=json" + }, + { + "rel": "self", + "type": "text/html", + "title": "WorldMercatorWGS84Quad map tileset for HYP_HR_SR_OB_DR (as HTML)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/WorldMercatorWGS84Quad?f=html" + }, + { + "rel": "self", + "type": "application/json+tilejson", + "title": "WorldMercatorWGS84Quad map tileset for HYP_HR_SR_OB_DR (in TileJSON format)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/WorldMercatorWGS84Quad?f=tilejson" + } + ] + } + ] +} diff --git a/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/tiles/GlobalCRS84Pixel.json b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/tiles/GlobalCRS84Pixel.json new file mode 100644 index 0000000..7dc788a --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/tiles/GlobalCRS84Pixel.json @@ -0,0 +1,183 @@ +{ + "title": "HYP_HR_SR_OB_DR", + "tileMatrixSetURI": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GlobalCRS84Pixel", + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "dataType": "map", + "tileMatrixSetLimits": [ + { + "tileMatrix": "0", + "minTileRow": 0, + "maxTileRow": 0, + "minTileCol": 0, + "maxTileCol": 0 + }, + { + "tileMatrix": "1", + "minTileRow": 0, + "maxTileRow": 0, + "minTileCol": 0, + "maxTileCol": 1 + }, + { + "tileMatrix": "2", + "minTileRow": 0, + "maxTileRow": 1, + "minTileCol": 0, + "maxTileCol": 2 + }, + { + "tileMatrix": "3", + "minTileRow": 0, + "maxTileRow": 2, + "minTileCol": 0, + "maxTileCol": 4 + }, + { + "tileMatrix": "4", + "minTileRow": 0, + "maxTileRow": 4, + "minTileCol": 0, + "maxTileCol": 8 + }, + { + "tileMatrix": "5", + "minTileRow": 0, + "maxTileRow": 8, + "minTileCol": 0, + "maxTileCol": 16 + }, + { + "tileMatrix": "6", + "minTileRow": 0, + "maxTileRow": 21, + "minTileCol": 0, + "maxTileCol": 42 + }, + { + "tileMatrix": "7", + "minTileRow": 0, + "maxTileRow": 42, + "minTileCol": 0, + "maxTileCol": 84 + }, + { + "tileMatrix": "8", + "minTileRow": 0, + "maxTileRow": 84, + "minTileCol": 0, + "maxTileCol": 168 + } + ], + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the GlobalCRS84Pixel map tileset for NaturalEarth:raster:HYP_HR_SR_OB_DR", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GlobalCRS84Pixel?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "The ECON representation of the GlobalCRS84Pixel map tileset for NaturalEarth:raster:HYP_HR_SR_OB_DR", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GlobalCRS84Pixel?f=econ" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "The HTML representation of the GlobalCRS84Pixel map tileset for NaturalEarth:raster:HYP_HR_SR_OB_DR", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GlobalCRS84Pixel?=html" + }, + { + "rel": "alternate", + "type": "application/json+tile", + "title": "The TileJSON representation of the GlobalCRS84Pixel map tileset for NaturalEarth:raster:HYP_HR_SR_OB_DR", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GlobalCRS84Pixel?f=tilejson" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", + "type": "application/json", + "title": "GlobalCRS84PixelTileMatrixSet definition (as JSON)", + "href": "/gnosis-earth/tileMatrixSets/GlobalCRS84Pixel" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/geodata", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR" + }, + { + "rel": "item", + "type": "application/vnd.gnosis-map-tile", + "title": "GlobalCRS84Pixel map tiles for NaturalEarth:raster:HYP_HR_SR_OB_DR (as GNOSIS Map Tiles)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GlobalCRS84Pixel/{tileMatrix}/{tileRow}/{tileCol}.gmt", + "templated": true + }, + { + "rel": "item", + "type": "image/png", + "title": "GlobalCRS84Pixel map tiles for NaturalEarth:raster:HYP_HR_SR_OB_DR (as PNG)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GlobalCRS84Pixel/{tileMatrix}/{tileRow}/{tileCol}.png", + "templated": true + }, + { + "rel": "item", + "type": "image/jpeg", + "title": "GlobalCRS84Pixel map tiles for NaturalEarth:raster:HYP_HR_SR_OB_DR (as JPG)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GlobalCRS84Pixel/{tileMatrix}/{tileRow}/{tileCol}.jpg", + "templated": true + }, + { + "rel": "item", + "type": "image/tiff; application=geotiff", + "title": "GlobalCRS84Pixel map tiles for NaturalEarth:raster:HYP_HR_SR_OB_DR (as GeoTIFF)", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR/map/tiles/GlobalCRS84Pixel/{tileMatrix}/{tileRow}/{tileCol}.tif", + "templated": true + } + ], + "layers": [ + { + "id": "HYP_HR_SR_OB_DR", + "dataType": "map", + "minScaleDenominator": 4367830.1877243575, + "minCellSize": 0.010986328125, + "maxTileMatrix": "8", + "links": [ + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/geodata", + "href": "/gnosis-earth/collections/NaturalEarth:raster:HYP_HR_SR_OB_DR" + } + ], + "propertiesSchema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "a": { + "title": "Alpha channel", + "type": "integer", + "x-ogc-property-seq": 4 + }, + "b": { + "title": "Blue channel", + "type": "integer", + "x-ogc-property-seq": 3 + }, + "g": { + "title": "Green channel", + "type": "integer", + "x-ogc-property-seq": 2 + }, + "r": { + "title": "Red channel", + "type": "integer", + "x-ogc-property-seq": 1 + } + } + } + } + ], + "centerPoint": { + "coordinates": [0, 0], + "tileMatrix": "5", + "scaleDenominator": 34942641.50179486, + "cellSize": 0.087890625, + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84" + } +} diff --git a/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR.json b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR.json new file mode 100644 index 0000000..eddc474 --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR.json @@ -0,0 +1,175 @@ +{ + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the NE1_HR_LC_SR_W_DR data (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the NE1_HR_LC_SR_W_DR data (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the NE1_HR_LC_SR_W_DR data (as MapML)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the NE1_HR_LC_SR_W_DR data (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/dggs-list", + "title": "Discrete Global Grid Systems for NE1_HR_LC_SR_W_DR", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/dggs" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "application/json", + "title": "Schema (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/schema?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/plain", + "title": "Schema (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/schema?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/html", + "title": "Schema (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/schema?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "application/json", + "title": "Queryables (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/queryables?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/plain", + "title": "Queryables (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/queryables?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/html", + "title": "Queryables (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/queryables?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/png", + "title": "NE1_HR_LC_SR_W_DR (as PNG; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/coverage?f=png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/tiff; application=geotiff", + "title": "NE1_HR_LC_SR_W_DR (as GeoTIFF; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/coverage?f=tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-domainset", + "type": "application/json", + "title": "NE1_HR_LC_SR_W_DR (domain set of the coverage for this collection)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/coverage/domainset?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-rangetype", + "type": "application/json", + "title": "NE1_HR_LC_SR_W_DR (range type of the coverage for this collection)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/coverage/rangetype?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/png", + "title": "Default map (as PNG)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/map.png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/jpeg", + "title": "Default map (as JPG)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/map.jpg" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/tif", + "title": "Default map (as GeoTIFF)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/map.tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets available for this dataset (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets available for this dataset (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets available for this dataset (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/map/tiles?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for NE1_HR_LC_SR_W_DR (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for NE1_HR_LC_SR_W_DR (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for NE1_HR_LC_SR_W_DR (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE1_HR_LC_SR_W_DR/styles?f=econ" + } + ], + "title": "NE1_HR_LC_SR_W_DR", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]], + "grid": [ + { + "cellsCount": 32768, + "resolution": 0.010986328125 + }, + { + "cellsCount": 16384, + "resolution": 0.010986328125 + } + ] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:raster:NE1_HR_LC_SR_W_DR", + "dataType": "map", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125 +} diff --git a/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR.json b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR.json new file mode 100644 index 0000000..da73ce2 --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR.json @@ -0,0 +1,175 @@ +{ + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "Information about the NE2_HR_LC_SR_W_DR data (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR?f=json" + }, + { + "rel": "alternate", + "type": "text/plain", + "title": "Information about the NE2_HR_LC_SR_W_DR data (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR?f=econ" + }, + { + "rel": "alternate", + "type": "text/mapml", + "title": "Information about the NE2_HR_LC_SR_W_DR data (as MapML)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR?f=mapml" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "Information about the NE2_HR_LC_SR_W_DR data (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/dggs-list", + "title": "Discrete Global Grid Systems for NE2_HR_LC_SR_W_DR", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/dggs" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "application/json", + "title": "Schema (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/schema?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/plain", + "title": "Schema (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/schema?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/schema", + "type": "text/html", + "title": "Schema (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/schema?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "application/json", + "title": "Queryables (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/queryables?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/plain", + "title": "Queryables (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/queryables?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables", + "type": "text/html", + "title": "Queryables (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/queryables?f=html" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/png", + "title": "NE2_HR_LC_SR_W_DR (as PNG; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/coverage?f=png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage", + "type": "image/tiff; application=geotiff", + "title": "NE2_HR_LC_SR_W_DR (as GeoTIFF; Note: requesting large extent may result in generalized data)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/coverage?f=tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-domainset", + "type": "application/json", + "title": "NE2_HR_LC_SR_W_DR (domain set of the coverage for this collection)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/coverage/domainset?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/coverage-rangetype", + "type": "application/json", + "title": "NE2_HR_LC_SR_W_DR (range type of the coverage for this collection)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/coverage/rangetype?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/png", + "title": "Default map (as PNG)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/map.png" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/jpeg", + "title": "Default map (as JPG)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/map.jpg" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/map", + "type": "image/tif", + "title": "Default map (as GeoTIFF)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/map.tif" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "application/json", + "title": "Map tilesets available for this dataset (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/map/tiles?f=json" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/plain", + "title": "Map tilesets available for this dataset (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/map/tiles?f=econ" + }, + { + "rel": "http://www.opengis.net/def/rel/ogc/1.0/tilesets-map", + "type": "text/html", + "title": "Map tilesets available for this dataset (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/map/tiles?f=html" + }, + { + "rel": "styles", + "type": "text/html", + "title": "Styles for NE2_HR_LC_SR_W_DR (as HTML)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/styles?f=html" + }, + { + "rel": "styles", + "type": "application/json", + "title": "Styles for NE2_HR_LC_SR_W_DR (as JSON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/styles?f=json" + }, + { + "rel": "styles", + "type": "text/plain", + "title": "Styles for NE2_HR_LC_SR_W_DR (as ECON)", + "href": "/ogcapi/collections/NaturalEarth:raster:NE2_HR_LC_SR_W_DR/styles?f=econ" + } + ], + "title": "NE2_HR_LC_SR_W_DR", + "extent": { + "spatial": { + "bbox": [[-180, -90, 180, 90]], + "grid": [ + { + "cellsCount": 32768, + "resolution": 0.010986328125 + }, + { + "cellsCount": 16384, + "resolution": 0.010986328125 + } + ] + } + }, + "crs": [ + "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "http://www.opengis.net/def/crs/EPSG/0/4326", + "http://www.opengis.net/def/crs/EPSG/0/3857", + "http://www.opengis.net/def/crs/EPSG/0/3395" + ], + "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "id": "NaturalEarth:raster:NE2_HR_LC_SR_W_DR", + "dataType": "map", + "attribution": "Natural Earth", + "minScaleDenominator": 4367830.1877243574709, + "minCellSize": 0.010986328125 +} diff --git a/fixtures/ogc-api/gnosis-earth/conformance.json b/fixtures/ogc-api/gnosis-earth/conformance.json new file mode 100644 index 0000000..de34a38 --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/conformance.json @@ -0,0 +1,141 @@ +{ + "type": "object", + "links": [ + { + "rel": "self", + "type": "application/json", + "title": "This document", + "href": "/gnosis-earth/conformance?f=json" + }, + { + "rel": "alternate", + "type": "text/html", + "title": "this document as HTML", + "href": "/gnosis-earth/conformance?f=html" + } + ], + "conformsTo": [ + "http://www.opengis.net/spec/gnosis-earth-common-1/1.0/conf/core", + "http://www.opengis.net/spec/gnosis-earth-common-1/1.0/conf/landing-page", + "http://www.opengis.net/spec/gnosis-earth-common-1/1.0/conf/html", + "http://www.opengis.net/spec/gnosis-earth-common-1/1.0/conf/json", + "http://www.opengis.net/spec/gnosis-earth-common-1/1.0/conf/oas30", + "http://www.opengis.net/spec/gnosis-earth-common-2/0.0/conf/collections", + "http://www.opengis.net/spec/gnosis-earth-common-2/0.0/conf/hierarchical-collections", + "http://www.opengis.net/spec/gnosis-earth-features-1/1.0/conf/core", + "http://www.opengis.net/spec/gnosis-earth-features-1/1.0/conf/html", + "http://www.opengis.net/spec/gnosis-earth-features-1/1.0/conf/geojson", + "http://www.opengis.net/spec/gnosis-earth-features-1/1.0/conf/oas30", + "http://www.opengis.net/spec/ogcapi-features-2/1.0/conf/crs", + "http://www.opengis.net/spec/ogcapi-features-3/0.0/conf/features-filter", + "http://www.opengis.net/spec/ogcapi-features-3/0.0/conf/filter", + "http://www.opengis.net/spec/ogcapi-features-3/0.0/conf/queryables", + "http://www.opengis.net/spec/ogcapi-features-5/0.0/conf/schemas", + "http://www.opengis.net/spec/ogcapi-features-5/0.0/conf/core-roles-features", + "https://ecere.ca/specs/cmss/0.0/conf/cmss-filter", + "http://www.opengis.net/spec/cql2/0.0/conf/basic-cql2", + "http://www.opengis.net/spec/cql2/0.0/conf/advanced-comparison-operators", + "http://www.opengis.net/spec/cql2/0.0/conf/arithmetic", + "http://www.opengis.net/spec/cql2/0.0/conf/property-property", + "http://www.opengis.net/spec/cql2/0.0/conf/cql2-text", + "http://www.opengis.net/spec/cql2/0.0/conf/case-insensitive-comparison", + "http://www.opengis.net/spec/cql2/0.0/conf/accent-insensitive-comparison", + "http://www.opengis.net/spec/cql2/0.0/conf/basic-spatial-operators", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/core", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/scaling", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/subsetting", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/fieldselection", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/crs", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/tiles", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/geotiff", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/png", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/oas30", + "http://www.opengis.net/spec/ogcapi-coverages-2/0.0/conf/filtering", + "http://www.opengis.net/spec/ogcapi-coverages-2/0.0/conf/derivedfields", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/geodata-coverage", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/coverage-subset", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/coverage-scaling", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/coverage-tiles", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/coverage-rangesubset", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/coverage-bbox", + "http://www.opengis.net/spec/ogcapi-coverages-1/0.0/conf/coverage-datetime", + "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/core", + "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tileset", + "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tilesets-list", + "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/geodata-tilesets", + "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/datetime", + "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/oas30", + "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/png", + "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/jpg", + "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tiff", + "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/geojson", + "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/mvt", + "http://www.opengis.net/spec/tms/2.0/conf/tilematrixset", + "http://www.opengis.net/spec/tms/2.0/conf/variablematrixwidth", + "http://www.opengis.net/spec/tms/2.0/conf/tilematrixsetlimits", + "http://www.opengis.net/spec/tms/2.0/conf/tilesetmetadata", + "http://www.opengis.net/spec/tms/2.0/conf/json-tilematrixset", + "http://www.opengis.net/spec/tms/2.0/conf/json-variablematrixwidth", + "http://www.opengis.net/spec/tms/2.0/conf/json-tilematrixsetlimits", + "http://www.opengis.net/spec/tms/2.0/conf/json-tilesetmetadata", + "http://www.opengis.net/spec/ogcapi-maps-1/0.0/conf/core", + "http://www.opengis.net/spec/ogcapi-maps-1/0.0/conf/collection-map", + "http://www.opengis.net/spec/ogcapi-maps-1/0.0/conf/styled-map", + "http://www.opengis.net/spec/ogcapi-maps-1/0.0/conf/spatial-subsetting", + "http://www.opengis.net/spec/ogcapi-maps-1/0.0/conf/datetime", + "http://www.opengis.net/spec/ogcapi-maps-1/0.0/conf/general-subsetting", + "http://www.opengis.net/spec/ogcapi-maps-1/0.0/conf/tilesets", + "http://www.opengis.net/spec/ogcapi-maps-1/0.0/conf/scaling", + "http://www.opengis.net/spec/ogcapi-maps-1/0.0/conf/display-resolution", + "http://www.opengis.net/spec/ogcapi-maps-1/0.0/conf/crs", + "http://www.opengis.net/spec/ogcapi-maps-1/0.0/conf/png", + "http://www.opengis.net/spec/ogcapi-maps-1/0.0/conf/jpeg", + "http://www.opengis.net/spec/ogcapi-maps-1/0.0/conf/tiff", + "http://www.opengis.net/spec/ogcapi-maps-1/0.0/conf/oas30", + "http://www.opengis.net/spec/ogcapi-maps-2/0.0/conf/filtering", + "http://www.opengis.net/spec/ogcapi-styles-1/0.0/conf/core", + "http://www.opengis.net/spec/ogcapi-styles-1/0.0/conf/resources", + "http://www.opengis.net/spec/ogcapi-styles-1/0.0/conf/html", + "http://www.opengis.net/spec/ogcapi-styles-1/0.0/conf/sld-10", + "http://www.opengis.net/spec/ogcapi-styles-1/0.0/conf/mapbox-style", + "https://ecere.ca/specs/cmss/0.0/conf/cmss-style", + "http://www.opengis.net/spec/ogcapi-styles-1/0.0/conf/style-info", + "http://www.opengis.net/spec/ogcapi-styles-1/0.0/conf/queryables", + "http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/core", + "http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/ogc-process-description", + "http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/json", + "http://www.opengis.net/spec/ogcapi-processes-1/1.0/conf/oas30", + "http://www.opengis.net/spec/ogcapi-processes-3/0.0/conf/collection-input", + "http://www.opengis.net/spec/ogcapi-processes-3/0.0/conf/collection-output", + "http://www.opengis.net/spec/ogcapi-processes-3/0.0/conf/remote-collections", + "http://www.opengis.net/spec/ogcapi-processes-3/0.0/conf/nested-processes", + "http://www.opengis.net/spec/ogcapi-processes-3/0.0/conf/remote-core-processes", + "http://www.opengis.net/spec/ogcapi-routes-1/0.0/conf/core", + "http://www.opengis.net/spec/ogcapi-routes-1/0.0/conf/mode", + "http://www.opengis.net/spec/ogcapi-routes-1/0.0/conf/intermediate-waypoints", + "http://www.opengis.net/spec/ogcapi-routes-1/0.0/conf/height", + "http://www.opengis.net/spec/ogcapi-routes-1/0.0/conf/weight", + "http://www.opengis.net/spec/ogcapi-geovolumes-1/0.0/conf/3dtiles-bvh", + "http://www.opengis.net/spec/ogcapi-geovolumes-1/0.0/conf/referenced-models", + "http://www.opengis.net/spec/ogcapi-geovolumes-1/0.0/conf/refpoints-tilesets", + "http://www.opengis.net/spec/ogcapi-geovolumes-1/0.0/conf/batched-models-tilesets", + "http://www.opengis.net/spec/ogcapi-geovolumes-1/0.0/conf/gltf", + "https://ecere.ca/specs/e3d/0.0/conf/e3d", + "http://www.opengis.net/spec/ogcapi-dggs-1/0.0/conf/core", + "http://www.opengis.net/spec/ogcapi-dggs-1/0.0/conf/dataset-dggs", + "http://www.opengis.net/spec/ogcapi-dggs-1/0.0/conf/geodata-dggs", + "http://www.opengis.net/spec/ogcapi-dggs-1/0.0/conf/data-retrieval", + "http://www.opengis.net/spec/ogcapi-dggs-1/0.0/conf/data-png", + "http://www.opengis.net/spec/ogcapi-dggs-1/0.0/conf/data-tiff", + "http://www.opengis.net/spec/ogcapi-dggs-1/0.0/conf/data-geojson", + "http://www.opengis.net/spec/ogcapi-dggs-1/0.0/conf/zone-query", + "http://www.opengis.net/spec/ogcapi-dggs-1/0.0/conf/zone-json", + "http://www.opengis.net/spec/ogcapi-dggs-1/0.0/conf/zone-geojson", + "http://www.opengis.net/spec/ogcapi-dggs-1/0.0/conf/zone-tiff", + "http://www.opengis.net/spec/ogcapi-dggs-1/0.0/conf/zone-uint64" + ], + "properties": { + "http://www.opengis.net/spec/ogcapi-routes-1/0.0/conf/core": null, + "http://www.opengis.net/spec/ogcapi-routes-1/0.0/conf/mode": null + } +} diff --git a/fixtures/ogc-api/gnosis-earth/tileMatrixSets.json b/fixtures/ogc-api/gnosis-earth/tileMatrixSets.json new file mode 100644 index 0000000..4eecc6e --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/tileMatrixSets.json @@ -0,0 +1,229 @@ +{ + "tileMatrixSets": [ + { + "id": "CDB1GlobalGrid", + "title": "CDB1GlobalGrid", + "links": [ + { + "rel": "self", + "type": "text/html", + "title": "The HTML representation of the CDB1GlobalGrid tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/CDB1GlobalGrid?f=html" + }, + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the CDB1GlobalGrid tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/CDB1GlobalGrid?f=json" + }, + { + "rel": "self", + "type": "text/plain", + "title": "The ECON representation of the CDB1GlobalGrid tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/CDB1GlobalGrid?f=econ" + } + ], + "uri": "http://www.opengis.net/def/tilematrixset/OGC/1.0/CDB1GlobalGrid" + }, + { + "id": "GlobalCRS84Pixel", + "title": "GlobalCRS84Pixel", + "links": [ + { + "rel": "self", + "type": "text/html", + "title": "The HTML representation of the GlobalCRS84Pixel tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/GlobalCRS84Pixel?f=html" + }, + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the GlobalCRS84Pixel tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/GlobalCRS84Pixel?f=json" + }, + { + "rel": "self", + "type": "text/plain", + "title": "The ECON representation of the GlobalCRS84Pixel tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/GlobalCRS84Pixel?f=econ" + } + ], + "uri": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GlobalCRS84Pixel" + }, + { + "id": "GlobalCRS84Scale", + "title": "GlobalCRS84Scale", + "links": [ + { + "rel": "self", + "type": "text/html", + "title": "The HTML representation of the GlobalCRS84Scale tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/GlobalCRS84Scale?f=html" + }, + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the GlobalCRS84Scale tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/GlobalCRS84Scale?f=json" + }, + { + "rel": "self", + "type": "text/plain", + "title": "The ECON representation of the GlobalCRS84Scale tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/GlobalCRS84Scale?f=econ" + } + ], + "uri": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GlobalCRS84Scale" + }, + { + "id": "GNOSISGlobalGrid", + "title": "GNOSISGlobalGrid", + "links": [ + { + "rel": "self", + "type": "text/html", + "title": "The HTML representation of the GNOSISGlobalGrid tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/GNOSISGlobalGrid?f=html" + }, + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the GNOSISGlobalGrid tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/GNOSISGlobalGrid?f=json" + }, + { + "rel": "self", + "type": "text/plain", + "title": "The ECON representation of the GNOSISGlobalGrid tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/GNOSISGlobalGrid?f=econ" + } + ], + "uri": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GNOSISGlobalGrid" + }, + { + "id": "GoogleCRS84Quad", + "title": "GoogleCRS84Quad", + "links": [ + { + "rel": "self", + "type": "text/html", + "title": "The HTML representation of the GoogleCRS84Quad tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/GoogleCRS84Quad?f=html" + }, + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the GoogleCRS84Quad tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/GoogleCRS84Quad?f=json" + }, + { + "rel": "self", + "type": "text/plain", + "title": "The ECON representation of the GoogleCRS84Quad tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/GoogleCRS84Quad?f=econ" + } + ], + "uri": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GoogleCRS84Quad" + }, + { + "id": "ISEA9R", + "title": "ISEA9R", + "links": [ + { + "rel": "self", + "type": "text/html", + "title": "The HTML representation of the ISEA9R tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/ISEA9R?f=html" + }, + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the ISEA9R tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/ISEA9R?f=json" + }, + { + "rel": "self", + "type": "text/plain", + "title": "The ECON representation of the ISEA9R tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/ISEA9R?f=econ" + } + ], + "uri": "http://www.opengis.net/def/tilematrixset/OGC/1.0/ISEA9R" + }, + { + "id": "WebMercatorQuad", + "title": "WebMercatorQuad", + "links": [ + { + "rel": "self", + "type": "text/html", + "title": "The HTML representation of the WebMercatorQuad tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/WebMercatorQuad?f=html" + }, + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the WebMercatorQuad tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/WebMercatorQuad?f=json" + }, + { + "rel": "self", + "type": "text/plain", + "title": "The ECON representation of the WebMercatorQuad tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/WebMercatorQuad?f=econ" + } + ], + "uri": "http://www.opengis.net/def/tilematrixset/OGC/1.0/WebMercatorQuad" + }, + { + "id": "WorldCRS84Quad", + "title": "WorldCRS84Quad", + "links": [ + { + "rel": "self", + "type": "text/html", + "title": "The HTML representation of the WorldCRS84Quad tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/WorldCRS84Quad?f=html" + }, + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the WorldCRS84Quad tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/WorldCRS84Quad?f=json" + }, + { + "rel": "self", + "type": "text/plain", + "title": "The ECON representation of the WorldCRS84Quad tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/WorldCRS84Quad?f=econ" + } + ], + "uri": "http://www.opengis.net/def/tilematrixset/OGC/1.0/WorldCRS84Quad" + }, + { + "id": "WorldMercatorWGS84Quad", + "title": "WorldMercatorWGS84Quad", + "links": [ + { + "rel": "self", + "type": "text/html", + "title": "The HTML representation of the WorldMercatorWGS84Quad tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/WorldMercatorWGS84Quad?f=html" + }, + { + "rel": "self", + "type": "application/json", + "title": "The JSON representation of the WorldMercatorWGS84Quad tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/WorldMercatorWGS84Quad?f=json" + }, + { + "rel": "self", + "type": "text/plain", + "title": "The ECON representation of the WorldMercatorWGS84Quad tiling scheme definition", + "href": "/gnosis-earth/tileMatrixSets/WorldMercatorWGS84Quad?f=econ" + } + ], + "uri": "http://www.opengis.net/def/tilematrixset/OGC/1.0/WorldMercatorWGS84Quad" + } + ] +} diff --git a/fixtures/ogc-api/gnosis-earth/tileMatrixSets/GlobalCRS84Pixel.json b/fixtures/ogc-api/gnosis-earth/tileMatrixSets/GlobalCRS84Pixel.json new file mode 100644 index 0000000..e8d9417 --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/tileMatrixSets/GlobalCRS84Pixel.json @@ -0,0 +1,285 @@ +{ + "id": "GlobalCRS84Pixel", + "title": "GlobalCRS84Pixel", + "uri": "http://www.opengis.net/def/tilematrixset/OGC/1.0/GlobalCRS84Pixel", + "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84", + "orderedAxes": ["Lon", "Lat"], + "wellKnownScaleSet": "http://www.opengis.net/def/wkss/OGC/1.0/GlobalCRS84Pixel", + "tileMatrices": [ + { + "id": "0", + "scaleDenominator": 795139219.9519541, + "cellSize": 2, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 1, + "matrixHeight": 1, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "1", + "scaleDenominator": 397569609.97597706, + "cellSize": 1, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 2, + "matrixHeight": 1, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "2", + "scaleDenominator": 198784804.98798853, + "cellSize": 0.5, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 3, + "matrixHeight": 2, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "3", + "scaleDenominator": 132523203.32532568, + "cellSize": 0.3333333333333, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 5, + "matrixHeight": 3, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "4", + "scaleDenominator": 66261601.66266284, + "cellSize": 0.1666666666667, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 9, + "matrixHeight": 5, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "5", + "scaleDenominator": 33130800.83133142, + "cellSize": 0.0833333333333, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 17, + "matrixHeight": 9, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "6", + "scaleDenominator": 13252320.332532568, + "cellSize": 0.0333333333333, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 43, + "matrixHeight": 22, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "7", + "scaleDenominator": 6626160.166266284, + "cellSize": 0.0166666666667, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 85, + "matrixHeight": 43, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "8", + "scaleDenominator": 3313080.083133142, + "cellSize": 0.0083333333333, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 169, + "matrixHeight": 85, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "9", + "scaleDenominator": 1656540.041566571, + "cellSize": 0.0041666666667, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 338, + "matrixHeight": 169, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "10", + "scaleDenominator": 552180.0138555237, + "cellSize": 0.0013888888889, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 1013, + "matrixHeight": 507, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "11", + "scaleDenominator": 331308.00831331423, + "cellSize": 0.0008333333333, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 1688, + "matrixHeight": 844, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "12", + "scaleDenominator": 110436.00277110474, + "cellSize": 0.0002777777778, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 5063, + "matrixHeight": 2532, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "13", + "scaleDenominator": 55218.00138555237, + "cellSize": 0.0001388888889, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 10125, + "matrixHeight": 5063, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "14", + "scaleDenominator": 33130.80083133142, + "cellSize": 0.0000833333333, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 16875, + "matrixHeight": 8438, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "15", + "scaleDenominator": 11043.600277110474, + "cellSize": 0.0000277777778, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 50625, + "matrixHeight": 25313, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "16", + "scaleDenominator": 3313.080083133142, + "cellSize": 0.0000083333333, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 168750, + "matrixHeight": 84375, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "17", + "scaleDenominator": 1104.3600277110475, + "cellSize": 0.0000027777778, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 506250, + "matrixHeight": 253125, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "18", + "scaleDenominator": 331.3080083133142, + "cellSize": 8.333333e-7, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 1687500, + "matrixHeight": 843750, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "19", + "scaleDenominator": 110.4360027711047, + "cellSize": 2.777778e-7, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 5062500, + "matrixHeight": 2531250, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "20", + "scaleDenominator": 33.1308008313314, + "cellSize": 8.33333e-8, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 16875000, + "matrixHeight": 8437500, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "21", + "scaleDenominator": 11.0436002771105, + "cellSize": 2.77778e-8, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 50625000, + "matrixHeight": 25312500, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "22", + "scaleDenominator": 3.3130800831331, + "cellSize": 8.3333e-9, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 168750000, + "matrixHeight": 84375000, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "23", + "scaleDenominator": 1.104360027711, + "cellSize": 2.7778e-9, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 506250000, + "matrixHeight": 253125000, + "tileWidth": 256, + "tileHeight": 256 + }, + { + "id": "24", + "scaleDenominator": 0.5521800138555, + "cellSize": 1.3889e-9, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [-180, 90], + "matrixWidth": 1012500000, + "matrixHeight": 506250000, + "tileWidth": 256, + "tileHeight": 256 + } + ] +} diff --git a/fixtures/ogc-api/gnosis-earth/tileMatrixSets/ISEA9R.json b/fixtures/ogc-api/gnosis-earth/tileMatrixSets/ISEA9R.json new file mode 100644 index 0000000..b330547 --- /dev/null +++ b/fixtures/ogc-api/gnosis-earth/tileMatrixSets/ISEA9R.json @@ -0,0 +1,196 @@ +{ + "id": "ISEA9R", + "title": "ISEA9R", + "uri": "http://www.opengis.net/def/tilematrixset/OGC/1.0/ISEA9R", + "crs": "http://www.opengis.net/def/crs/OGC/0/153456", + "orderedAxes": ["E", "N"], + "tileMatrices": [ + { + "id": "0", + "scaleDenominator": 112793326.69570677, + "cellSize": 31582.131474797894, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 5, + "matrixHeight": 6, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "1", + "scaleDenominator": 37597775.56523559, + "cellSize": 10527.377158265965, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 15, + "matrixHeight": 18, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "2", + "scaleDenominator": 12532591.85507853, + "cellSize": 3509.125719421988, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 45, + "matrixHeight": 54, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "3", + "scaleDenominator": 4177530.6183595103, + "cellSize": 1169.7085731406628, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 135, + "matrixHeight": 162, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "4", + "scaleDenominator": 1392510.2061198365, + "cellSize": 389.9028577135542, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 405, + "matrixHeight": 486, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "5", + "scaleDenominator": 464170.0687066122, + "cellSize": 129.9676192378514, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 1215, + "matrixHeight": 1458, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "6", + "scaleDenominator": 154723.35623553742, + "cellSize": 43.3225397459505, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 3645, + "matrixHeight": 4374, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "7", + "scaleDenominator": 51574.45207851247, + "cellSize": 14.4408465819835, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 10935, + "matrixHeight": 13122, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "8", + "scaleDenominator": 17191.484026170823, + "cellSize": 4.8136155273278, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 32805, + "matrixHeight": 39366, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "9", + "scaleDenominator": 5730.494675390274, + "cellSize": 1.6045385091093, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 98415, + "matrixHeight": 118098, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "10", + "scaleDenominator": 1910.1648917967582, + "cellSize": 0.5348461697031, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 295245, + "matrixHeight": 354294, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "11", + "scaleDenominator": 636.7216305989193, + "cellSize": 0.1782820565677, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 885735, + "matrixHeight": 1062882, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "12", + "scaleDenominator": 212.2405435329731, + "cellSize": 0.0594273521892, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 2657205, + "matrixHeight": 3188646, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "13", + "scaleDenominator": 70.7468478443244, + "cellSize": 0.0198091173964, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 7971615, + "matrixHeight": 9565938, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "14", + "scaleDenominator": 23.5822826147748, + "cellSize": 0.0066030391321, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 23914845, + "matrixHeight": 28697814, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "15", + "scaleDenominator": 7.8607608715916, + "cellSize": 0.002201013044, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 71744535, + "matrixHeight": 86093442, + "tileWidth": 243, + "tileHeight": 243 + }, + { + "id": "16", + "scaleDenominator": 2.6202536238639, + "cellSize": 0.0007336710147, + "cornerOfOrigin": "topLeft", + "pointOfOrigin": [0, 0], + "matrixWidth": 215233605, + "matrixHeight": 258280326, + "tileWidth": 243, + "tileHeight": 243 + } + ] +} diff --git a/src/ogc-api/endpoint.spec.ts b/src/ogc-api/endpoint.spec.ts index 67aa745..dae59ca 100644 --- a/src/ogc-api/endpoint.spec.ts +++ b/src/ogc-api/endpoint.spec.ts @@ -129,28 +129,28 @@ describe('OgcApiEndpoint', () => { describe('#allCollections', () => { it('returns collection ids', async () => { await expect(endpoint.allCollections).resolves.toEqual([ - 'airports', - 'boundaries', - 'contours', - 'district_buildings', - 'etl', - 'foreshore', - 'greenspace', - 'land', - 'local_buildings', - 'names', - 'national_parks', - 'rail', - 'railway_stations', - 'roads_local', - 'roads_national', - 'roads_regional', - 'sites', - 'surfacewater', - 'urban_areas', - 'waterlines', - 'woodland', - 'dutch-metadata', + { name: 'airports', hasFeatures: true }, + { name: 'boundaries', hasFeatures: true }, + { name: 'contours', hasFeatures: true }, + { name: 'district_buildings', hasFeatures: true }, + { name: 'etl', hasFeatures: true }, + { name: 'foreshore', hasFeatures: true }, + { name: 'greenspace', hasFeatures: true }, + { name: 'land', hasFeatures: true }, + { name: 'local_buildings', hasFeatures: true }, + { name: 'names', hasFeatures: true }, + { name: 'national_parks', hasFeatures: true }, + { name: 'rail', hasFeatures: true }, + { name: 'railway_stations', hasFeatures: true }, + { name: 'roads_local', hasFeatures: true }, + { name: 'roads_national', hasFeatures: true }, + { name: 'roads_regional', hasFeatures: true }, + { name: 'sites', hasFeatures: true }, + { name: 'surfacewater', hasFeatures: true }, + { name: 'urban_areas', hasFeatures: true }, + { name: 'waterlines', hasFeatures: true }, + { name: 'woodland', hasFeatures: true }, + { name: 'dutch-metadata', hasRecords: true }, ]); }); }); @@ -264,6 +264,9 @@ describe('OgcApiEndpoint', () => { type: 'string', }, ], + supportedTileMatrixSets: [], + mapTileFormats: [], + vectorTileFormats: [], }); }); it('returns dutch-metadata collection info', async () => { @@ -340,6 +343,9 @@ describe('OgcApiEndpoint', () => { }, ], sortables: [], + supportedTileMatrixSets: [], + mapTileFormats: [], + vectorTileFormats: [], }); }); it('returns roads_national collection info', async () => { @@ -417,6 +423,9 @@ describe('OgcApiEndpoint', () => { type: 'string', }, ], + supportedTileMatrixSets: [], + mapTileFormats: [], + vectorTileFormats: [], }); }); }); @@ -1561,6 +1570,12 @@ describe('OgcApiEndpoint', () => { ); }); }); + describe('#tileMatrixSets', () => { + it('returns the correct tile matrix sets', async () => { + const result = await endpoint.tileMatrixSets; + expect(result).toEqual(['WebMercatorQuad']); + }); + }); }); describe('a failure happens while parsing the endpoint capabilities', () => { beforeEach(() => { @@ -1715,17 +1730,17 @@ The document at http://local/nonexisting?f=json could not be fetched.` describe('#allCollections', () => { it('returns collection ids', async () => { await expect(endpoint.allCollections).resolves.toEqual([ - 'aires-covoiturage', - 'antenne', - 'armoires', - 'boite_branchement', - 'collecteur_gravitaire', - 'equipements_culturels', - 'etalab_parcelle', - 'gendarmeries', - 'mel_commune_llh', - 'ne_10m_admin_0_countries', - 'ouvrage_surfacique', + { name: 'aires-covoiturage', hasFeatures: true }, + { name: 'antenne', hasFeatures: true }, + { name: 'armoires', hasFeatures: true }, + { name: 'boite_branchement', hasFeatures: true }, + { name: 'collecteur_gravitaire', hasFeatures: true }, + { name: 'equipements_culturels', hasRecords: true }, + { name: 'etalab_parcelle', hasFeatures: true }, + { name: 'gendarmeries', hasRecords: true }, + { name: 'mel_commune_llh', hasFeatures: true }, + { name: 'ne_10m_admin_0_countries', hasFeatures: true }, + { name: 'ouvrage_surfacique', hasFeatures: true }, ]); }); }); @@ -1750,12 +1765,107 @@ The document at http://local/nonexisting?f=json could not be fetched.` }, id: 'aires-covoiturage', itemType: 'feature', + mapTileFormats: [], queryables: [], sortables: [], + supportedTileMatrixSets: [], title: 'aires-covoiturage', + vectorTileFormats: [], }); }); }); }); }); + + describe('endpoint with tiles', () => { + describe('nominal case', () => { + beforeEach(() => { + endpoint = new OgcApiEndpoint('http://local/gnosis-earth/'); + }); + describe('#hasTiles', () => { + it('returns true', async () => { + await expect(endpoint.hasTiles).resolves.toBe(true); + }); + }); + describe('#tileMatrixSets', () => { + it('returns tile matrix sets', async () => { + await expect(endpoint.tileMatrixSets).resolves.toEqual([ + 'CDB1GlobalGrid', + 'GlobalCRS84Pixel', + 'GlobalCRS84Scale', + 'GNOSISGlobalGrid', + 'GoogleCRS84Quad', + 'ISEA9R', + 'WebMercatorQuad', + 'WorldCRS84Quad', + 'WorldMercatorWGS84Quad', + ]); + }); + }); + describe('#allCollections', () => { + it('returns collection ids', async () => { + await expect(endpoint.allCollections).resolves.toEqual([ + { name: 'NaturalEarth' }, + { name: 'NaturalEarth:raster' }, + { name: 'NaturalEarth:raster:HYP_HR_SR_OB_DR', hasMapTiles: true }, + { + name: 'NaturalEarth:raster:NE1_HR_LC_SR_W_DR', + hasMapTiles: true, + }, + { + name: 'NaturalEarth:raster:NE2_HR_LC_SR_W_DR', + hasMapTiles: true, + }, + { name: 'NaturalEarth:physical' }, + { + name: 'NaturalEarth:physical:ne_10m_lakes_pluvial', + hasMapTiles: true, + hasVectorTiles: true, + }, + ]); + }); + }); + describe('#vectorTileCollections', () => { + it('returns vector tile collection ids', async () => { + await expect(endpoint.vectorTileCollections).resolves.toEqual([ + 'NaturalEarth:physical:ne_10m_lakes_pluvial', + ]); + }); + }); + describe('#mapTileCollections', () => { + it('returns map tile collection ids', async () => { + await expect(endpoint.mapTileCollections).resolves.toEqual([ + 'NaturalEarth:raster:HYP_HR_SR_OB_DR', + 'NaturalEarth:raster:NE1_HR_LC_SR_W_DR', + 'NaturalEarth:raster:NE2_HR_LC_SR_W_DR', + 'NaturalEarth:physical:ne_10m_lakes_pluvial', + ]); + }); + }); + describe('#getVectorTileUrl', () => { + it('returns the correct url', async () => { + await expect( + endpoint.getVectorTilesetUrl( + 'NaturalEarth:physical:ne_10m_lakes_pluvial', + 'GlobalCRS84Pixel' + ) + ).resolves.toEqual( + 'http://local/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/tiles/GlobalCRS84Pixel?f=json' + ); + }); + }); + describe('#getMapTileUrl', () => { + it('returns the correct url', async () => { + await expect( + endpoint.getMapTilesetUrl( + 'NaturalEarth:physical:ne_10m_lakes_pluvial', + 'GlobalCRS84Pixel' + ) + ).resolves.toEqual( + 'http://local/gnosis-earth/collections/NaturalEarth:physical:ne_10m_lakes_pluvial/map/tiles/GlobalCRS84Pixel?f=json' + ); + }); + }); + }); + }); }); diff --git a/src/ogc-api/endpoint.ts b/src/ogc-api/endpoint.ts index 7c074b5..a90dbfa 100644 --- a/src/ogc-api/endpoint.ts +++ b/src/ogc-api/endpoint.ts @@ -8,6 +8,7 @@ import { parseCollections, parseConformance, parseEndpointInfo, + parseTileMatrixSets, } from './info.js'; import { ConformanceClass, @@ -15,6 +16,7 @@ import { OgcApiCollectionItem, OgcApiDocument, OgcApiEndpointInfo, + TileMatrixSet, } from './model.js'; import { fetchCollectionRoot, @@ -36,6 +38,7 @@ export default class OgcApiEndpoint { private root_: Promise; private conformance_: Promise; private data_: Promise; + private tileMatrixSetsFull_: Promise; private get root(): Promise { if (!this.root_) { @@ -84,6 +87,19 @@ ${e.message}`); } return this.data_; } + private get tileMatrixSetsFull(): Promise { + if (!this.tileMatrixSetsFull_) { + this.tileMatrixSetsFull_ = this.root.then(async (root) => { + if (!(await this.hasTiles)) return []; + return fetchLink( + root, + ['http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes'], + this.baseUrl + ).then(parseTileMatrixSets); + }); + } + return this.tileMatrixSetsFull_; + } /** * Creates a new OGC API endpoint. @@ -105,10 +121,19 @@ ${e.message}`); get conformanceClasses(): Promise { return this.conformance.then(parseConformance); } + /** * A Promise which resolves to an array of all collection identifiers as strings. */ - get allCollections(): Promise { + get allCollections(): Promise< + { + name: string; + hasRecords?: boolean; + hasFeatures?: boolean; + hasVectorTiles?: boolean; + hasMapTiles?: boolean; + }[] + > { return this.data.then(parseCollections()); } @@ -118,7 +143,8 @@ ${e.message}`); get recordCollections(): Promise { return Promise.all([this.data, this.hasRecords]) .then(([data, hasRecords]) => (hasRecords ? data : { collections: [] })) - .then(parseCollections('record')); + .then(parseCollections('record')) + .then((collections) => collections.map((collection) => collection.name)); } /** @@ -127,7 +153,34 @@ ${e.message}`); get featureCollections(): Promise { return Promise.all([this.data, this.hasFeatures]) .then(([data, hasFeatures]) => (hasFeatures ? data : { collections: [] })) - .then(parseCollections('feature')); + .then(parseCollections('feature')) + .then((collections) => collections.map((collection) => collection.name)); + } + + /** + * A Promise which resolves to an array of vector tile collection identifiers as strings. + */ + get vectorTileCollections(): Promise { + return Promise.all([this.data, this.hasTiles]) + .then(([data, hasTiles]) => (hasTiles ? data : { collections: [] })) + .then(parseCollections()) + .then((collections) => + collections.filter((collection) => collection.hasVectorTiles) + ) + .then((collections) => collections.map((collection) => collection.name)); + } + + /** + * A Promise which resolves to an array of map tile collection identifiers as strings. + */ + get mapTileCollections(): Promise { + return Promise.all([this.data, this.hasTiles]) + .then(([data, hasTiles]) => (hasTiles ? data : { collections: [] })) + .then(parseCollections()) + .then((collections) => + collections.filter((collection) => collection.hasMapTiles) + ) + .then((collections) => collections.map((collection) => collection.name)); } /** @@ -164,10 +217,17 @@ ${e.message}`); ]).then(checkHasRecords); } + /** + * Retrieve the tile matrix sets identifiers advertised by the endpoint. Empty if tiles are not supported + */ + get tileMatrixSets(): Promise { + return this.tileMatrixSetsFull.then((sets) => sets.map((set) => set.id)); + } + private getCollectionDocument(collectionId: string): Promise { return Promise.all([this.allCollections, this.data]) .then(([collections, data]) => { - if (collections.indexOf(collectionId) === -1) + if (!collections.find((collection) => collection.name === collectionId)) throw new EndpointError(`Collection not found: ${collectionId}`); return (data.collections as OgcApiDocument[]).find( (collection) => collection.id === collectionId @@ -190,26 +250,80 @@ ${e.message}`); async getCollectionInfo(collectionId: string): Promise { const collectionDoc = await this.getCollectionDocument(collectionId); const baseInfo = parseBaseCollectionInfo(collectionDoc); - const [queryables, sortables] = await Promise.all([ - fetchLink( - collectionDoc, - ['queryables', 'http://www.opengis.net/def/rel/ogc/1.0/queryables'], - this.baseUrl - ) - .then(parseCollectionParameters) - .catch(() => []), - fetchLink( - collectionDoc, - ['sortables', 'http://www.opengis.net/def/rel/ogc/1.0/sortables'], - this.baseUrl + const [queryables, sortables, tilesetsVector, tilesetsMap] = + await Promise.all([ + fetchLink( + collectionDoc, + ['queryables', 'http://www.opengis.net/def/rel/ogc/1.0/queryables'], + this.baseUrl + ) + .then(parseCollectionParameters) + .catch(() => []), + fetchLink( + collectionDoc, + ['sortables', 'http://www.opengis.net/def/rel/ogc/1.0/sortables'], + this.baseUrl + ) + .then(parseCollectionParameters) + .catch(() => []), + fetchLink( + collectionDoc, + ['http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector'], + this.baseUrl + ) + .then((tilesetDoc) => tilesetDoc.tilesets) + .catch(() => []), + fetchLink( + collectionDoc, + ['http://www.opengis.net/def/rel/ogc/1.0/tilesets-map'], + this.baseUrl + ) + .then((tilesetDoc) => tilesetDoc.tilesets) + .catch(() => []), + ]); + + const tileMatrixSetsFull = await this.tileMatrixSetsFull; + const supportedTileMatrixSets = tilesetsVector + .map( + (tileset) => + tileMatrixSetsFull.find((set) => set.uri === tileset.tileMatrixSetURI) + ?.id ) - .then(parseCollectionParameters) - .catch(() => []), - ]); + .filter(Boolean); + + const firstTilesetVector = tilesetsVector[0]; + let vectorTileFormats = []; + if (firstTilesetVector) { + const tilesetUrl = getLinkUrl(firstTilesetVector, 'self', this.baseUrl); + if (!tilesetUrl) { + throw new Error('No links found for the tileset'); + } + const tilesetDoc = await fetchDocument(tilesetUrl); + vectorTileFormats = tilesetDoc.links + .filter((link) => link.rel === 'item') + .map((link) => link.type); + } + + const firstTilesetMap = tilesetsMap[0]; + let mapTileFormats = []; + if (firstTilesetMap) { + const tilesetUrl = getLinkUrl(firstTilesetMap, 'self', this.baseUrl); + if (!tilesetUrl) { + throw new Error('No links found for the tileset'); + } + const tilesetDoc = await fetchDocument(tilesetUrl); + mapTileFormats = tilesetDoc.links + .filter((link) => link.rel === 'item') + .map((link) => link.type); + } + return { ...baseInfo, queryables, sortables, + mapTileFormats, + vectorTileFormats, + supportedTileMatrixSets, }; } @@ -330,4 +444,94 @@ ${e.message}`); throw error; }); } + + /** + * Asynchronously retrieves a URL to render a specified collection as vector tiles, with a given tile matrix set. + * @param collectionId - The unique identifier for the collection. + * @param tileMatrixSet - The identifier of the tile matrix set to use. Default is 'WebMercatorQuad'. + */ + getVectorTilesetUrl( + collectionId: string, + tileMatrixSet = 'WebMercatorQuad' + ): Promise { + return this.getCollectionDocument(collectionId) + .then(async (collectionDoc) => { + const collectionTilesLink = getLinkUrl( + collectionDoc, + 'http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector', + this.baseUrl + ); + const collectionTiles = await fetchDocument(collectionTilesLink); + const matrixSet = (await this.tileMatrixSetsFull).find( + (set) => set.id === tileMatrixSet + ); + if (!matrixSet) { + throw new Error( + `The following tile matrix set does not exist on this endpoint: '${tileMatrixSet}'.` + ); + } + const tileset = collectionTiles.tilesets.find( + (tileset) => tileset.tileMatrixSetURI === matrixSet.uri + ); + if (!tileset) { + throw new Error( + `The collection '${collectionId}' does not support the tile matrix set '${tileMatrixSet}'.` + ); + } + const tilesetUrl = getLinkUrl(tileset, 'self', this.baseUrl); + if (!tilesetUrl) { + throw new Error('No links found for the tileset'); + } + return tilesetUrl; + }) + .catch((error) => { + console.error('Error fetching collection tileset URL:', error.message); + throw error; + }); + } + + /** + * Asynchronously retrieves a URL to render a specified collection as map tiles, with a given tile matrix set. + * @param collectionId - The unique identifier for the collection. + * @param tileMatrixSet - The identifier of the tile matrix set to use. Default is 'WebMercatorQuad'. + */ + getMapTilesetUrl( + collectionId: string, + tileMatrixSet = 'WebMercatorQuad' + ): Promise { + return this.getCollectionDocument(collectionId) + .then(async (collectionDoc) => { + const collectionTilesLink = getLinkUrl( + collectionDoc, + 'http://www.opengis.net/def/rel/ogc/1.0/tilesets-map', + this.baseUrl + ); + const collectionTiles = await fetchDocument(collectionTilesLink); + const matrixSet = (await this.tileMatrixSetsFull).find( + (set) => set.id === tileMatrixSet + ); + if (!matrixSet) { + throw new Error( + `The following tile matrix set does not exist on this endpoint: '${tileMatrixSet}'.` + ); + } + const tileset = collectionTiles.tilesets.find( + (tileset) => tileset.tileMatrixSetURI === matrixSet.uri + ); + if (!tileset) { + throw new Error( + `The collection '${collectionId}' does not support the tile matrix set '${tileMatrixSet}'.` + ); + } + const tilesetUrl = getLinkUrl(tileset, 'self', this.baseUrl); + if (!tilesetUrl) { + throw new Error('No links found for the tileset'); + } + return tilesetUrl; + }) + .catch((error) => { + console.error('Error fetching collection tileset URL:', error.message); + throw error; + }); + } } diff --git a/src/ogc-api/info.ts b/src/ogc-api/info.ts index 80bc71e..190c313 100644 --- a/src/ogc-api/info.ts +++ b/src/ogc-api/info.ts @@ -6,6 +6,7 @@ import { OgcApiCollectionInfo, OgcApiDocument, OgcApiEndpointInfo, + TileMatrixSet, } from './model.js'; import { assertHasLinks } from './link-utils.js'; import { EndpointError } from '../shared/errors.js'; @@ -37,13 +38,54 @@ export function parseConformance(doc: OgcApiDocument): ConformanceClass[] { export function parseCollections( itemType: 'record' | 'feature' | null = null -): (doc: OgcApiDocument) => string[] { +): (doc: OgcApiDocument) => Array<{ + name: string; + hasRecords?: boolean; + hasFeatures?: boolean; + hasVectorTiles?: boolean; + hasMapTiles?: boolean; +}> { return (doc: OgcApiDocument) => (doc.collections as OgcApiCollectionInfo[]) .filter( (collection) => itemType === null || collection.itemType === itemType ) - .map((collection) => collection.id as string); + .map((collection) => { + const result: { + name: string; + hasRecords?: boolean; + hasFeatures?: boolean; + hasVectorTiles?: boolean; + hasMapTiles?: boolean; + } = { + name: collection.id as string, + }; + if (collection.itemType === 'record') { + result.hasRecords = true; + } + if (collection.itemType === 'feature') { + result.hasFeatures = true; + } + if ( + collection.links.some( + (link) => + link.rel === + 'http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector' + ) + ) { + result.hasVectorTiles = true; + } + if ( + collection.links.some( + (link) => + link.rel === 'http://www.opengis.net/def/rel/ogc/1.0/tilesets-map' + ) + ) { + result.hasMapTiles = true; + } + + return result; + }); } export function checkTileConformance(conformance: ConformanceClass[]) { @@ -149,3 +191,15 @@ export function parseCollectionParameters( } return []; } + +export function parseTileMatrixSets(doc: OgcApiDocument): TileMatrixSet[] { + if (Array.isArray(doc.tileMatrixSets)) { + return doc.tileMatrixSets.map((set) => { + return { + id: set.id, + uri: set.uri, + }; + }); + } + return []; +} diff --git a/src/ogc-api/model.ts b/src/ogc-api/model.ts index 189196c..b03c7f3 100644 --- a/src/ogc-api/model.ts +++ b/src/ogc-api/model.ts @@ -27,6 +27,7 @@ export interface CollectionParameter { } export interface OgcApiCollectionInfo { + links: any; title: string; description: string; id: string; @@ -54,9 +55,13 @@ export interface OgcApiCollectionInfo { license?: string; queryables: CollectionParameter[]; sortables: CollectionParameter[]; + // will be empty if the endpoint does not support tiles + mapTileFormats: MimeType[]; + vectorTileFormats: MimeType[]; + supportedTileMatrixSets: string[]; // identifiers } -export interface OgcApiDocumentLinks { +export interface OgcApiDocumentLink { rel: string; type: string; title: string; @@ -70,6 +75,13 @@ export type OgcApiDocument = { title: string; href: string; }[]; + tilesets?: { + title: string; + tileMatrixSetURI: string; + crs: string; + dataType: string; + links: OgcApiDocumentLink[]; + }[]; } & Record; interface OgcApiItemExternalId { @@ -92,7 +104,7 @@ interface OgcApiTime { } export interface OgcApiRecordContact { name: string; - links: OgcApiDocumentLinks[]; + links: OgcApiDocumentLink[]; contactInstructions: string; roles: string[]; } @@ -118,8 +130,13 @@ export type OgcApiRecord = { time: OgcApiTime; geometry: Geometry; properties: OgcApiRecordProperties; - links: OgcApiDocumentLinks[]; + links: OgcApiDocumentLink[]; conformsTo?: string[]; }; export type OgcApiCollectionItem = OgcApiRecord; + +export interface TileMatrixSet { + id: string; + uri: string; +}