-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #9231 from cfis/map_tiles_content_negotiation
OGC API - Map Tiles Content Negotiation
- Loading branch information
Showing
9 changed files
with
1,002 additions
and
74 deletions.
There are no files selected for viewing
195 changes: 195 additions & 0 deletions
195
autotest/gdrivers/data/ogcapi/request_collections_blueMarble.http_data
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,195 @@ | ||
HTTP/1.1 200 OK | ||
Date: Wed, 14 Feb 2024 05:33:24 GMT | ||
Server: Apache/2.4.52 (Ubuntu) | ||
Expires: Tue, 11 Feb 2025 05:49:25 GMT | ||
Access-Control-Allow-Origin: * | ||
Vary: Accept,Accept-Encoding,Prefer | ||
Content-Length: 7564 | ||
Access-Control-Allow-Headers: x-requested-with, Content-Type, origin, authorization, acc$ | ||
Age: 171838 | ||
Keep-Alive: timeout=5, max=100 | ||
Connection: Keep-Alive | ||
Content-Type: application/json | ||
|
||
{ | ||
"links" : [ | ||
{ | ||
"rel" : "self", | ||
"type" : "application/json", | ||
"title" : "Information about the Blue Marble Next Generation (2004) data (as JSON)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble?f=json" | ||
}, | ||
{ | ||
"rel" : "alternate", | ||
"type" : "text/plain", | ||
"title" : "Information about the Blue Marble Next Generation (2004) data (as ECON)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble?f=econ" | ||
}, | ||
{ | ||
"rel" : "alternate", | ||
"type" : "text/mapml", | ||
"title" : "Information about the Blue Marble Next Generation (2004) data (as MapML)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble?f=mapml" | ||
}, | ||
{ | ||
"rel" : "alternate", | ||
"type" : "text/html", | ||
"title" : "Information about the Blue Marble Next Generation (2004) data (as HTML)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble?f=html" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/dggs-list", | ||
"title" : "Discrete Global Grid Systems for Blue Marble Next Generation (2004)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/dggs" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/schema", | ||
"type" : "application/json", | ||
"title" : "Schema (as JSON)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/schema?f=json" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/schema", | ||
"type" : "text/plain", | ||
"title" : "Schema (as ECON)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/schema?f=econ" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/schema", | ||
"type" : "text/html", | ||
"title" : "Schema (as HTML)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/schema?f=html" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/queryables", | ||
"type" : "application/json", | ||
"title" : "Queryables (as JSON)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/queryables?f=json" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/queryables", | ||
"type" : "text/plain", | ||
"title" : "Queryables (as ECON)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/queryables?f=econ" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/queryables", | ||
"type" : "text/html", | ||
"title" : "Queryables (as HTML)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/queryables?f=html" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/coverage", | ||
"type" : "image/png", | ||
"title" : "Blue Marble Next Generation (2004) (as PNG; Note: requesting large extent may result in generalized data)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/coverage?f=png" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/coverage", | ||
"type" : "image/tiff; application=geotiff", | ||
"title" : "Blue Marble Next Generation (2004) (as GeoTIFF; Note: requesting large extent may result in generalized data)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/coverage?f=tif" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/coverage-domainset", | ||
"type" : "application/json", | ||
"title" : "Blue Marble Next Generation (2004) (domain set of the coverage for this collection)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/coverage/domainset?f=json" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/coverage-rangetype", | ||
"type" : "application/json", | ||
"title" : "Blue Marble Next Generation (2004) (range type of the coverage for this collection)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/coverage/rangetype?f=json" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/map", | ||
"type" : "image/png", | ||
"title" : "Default map (as PNG)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/map.png" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/map", | ||
"type" : "image/jpeg", | ||
"title" : "Default map (as JPG)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/map.jpg" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/map", | ||
"type" : "image/tif", | ||
"title" : "Default map (as GeoTIFF)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/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" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/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" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/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" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/map/tiles?f=html" | ||
}, | ||
{ | ||
"rel" : "styles", | ||
"type" : "text/html", | ||
"title" : "Styles for Blue Marble Next Generation (2004) (as HTML)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/styles?f=html" | ||
}, | ||
{ | ||
"rel" : "styles", | ||
"type" : "application/json", | ||
"title" : "Styles for Blue Marble Next Generation (2004) (as JSON)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/styles?f=json" | ||
}, | ||
{ | ||
"rel" : "styles", | ||
"type" : "text/plain", | ||
"title" : "Styles for Blue Marble Next Generation (2004) (as ECON)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/styles?f=econ" | ||
} | ||
], | ||
"title" : "Blue Marble Next Generation (2004)", | ||
"extent" : { | ||
"spatial" : { | ||
"bbox" : [ [ -180, -90, 180, 90 ] ], | ||
"grid" : [ | ||
{ | ||
"cellsCount" : 131072, | ||
"resolution" : 0.0027465820312 | ||
}, | ||
{ | ||
"cellsCount" : 65536, | ||
"resolution" : 0.0027465820312 | ||
} | ||
] | ||
}, | ||
"temporal" : { | ||
"interval" : [ [ "2004-01", "2004-12" ] ], | ||
"grid" : { | ||
"cellsCount" : 12, | ||
"resolution" : "P1M" | ||
} | ||
} | ||
}, | ||
"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" : "blueMarble", | ||
"dataType" : "map", | ||
"attribution" : "NASA Earth Observatory", | ||
"minScaleDenominator" : 1091957.5469310893677, | ||
"minCellSize" : 0.0027465820312 | ||
} |
Binary file added
BIN
+55.6 KB
...gcapi/request_collections_blueMarble_map_tiles_WorldMercatorWGS84Quad_0_0_0.jpg.http_data
Binary file not shown.
Binary file added
BIN
+79.9 KB
...gcapi/request_collections_blueMarble_map_tiles_WorldMercatorWGS84Quad_0_0_0.png.http_data
Binary file not shown.
Binary file added
BIN
+91.6 KB
...gcapi/request_collections_blueMarble_map_tiles_WorldMercatorWGS84Quad_0_0_0.tif.http_data
Binary file not shown.
138 changes: 138 additions & 0 deletions
138
...a/ogcapi/request_collections_blueMarble_map_tiles_WorldMercatorWGS84Quad_f_json.http_data
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,138 @@ | ||
HTTP/1.1 200 OK | ||
Date: Wed, 14 Feb 2024 05:33:25 GMT | ||
Server: Apache/2.4.52 (Ubuntu) | ||
Expires: Thu, 13 Feb 2025 04:01:39 GMT | ||
Access-Control-Allow-Origin: * | ||
Vary: Accept,Accept-Encoding,Prefer | ||
Content-Length: 5775 | ||
Access-Control-Allow-Headers: x-requested-with, Content-Type, origin, authorization, acc$ | ||
Age: 5505 | ||
Keep-Alive: timeout=5, max=100 | ||
Connection: Keep-Alive | ||
Content-Type: application/json | ||
|
||
{ | ||
"title" : "Blue Marble Next Generation (2004)", | ||
"tileMatrixSetURI" : "http://www.opengis.net/def/tilematrixset/OGC/1.0/WorldMercatorWGS84Quad", | ||
"crs" : "http://www.opengis.net/def/crs/EPSG/0/3395", | ||
"dataType" : "map", | ||
"tileMatrixSetLimits" : [ | ||
{ "tileMatrix" : "0", "minTileRow" : 0, "maxTileRow" : 0, "minTileCol" : 0, "maxTileCol" : 0 }, | ||
{ "tileMatrix" : "1", "minTileRow" : 0, "maxTileRow" : 1, "minTileCol" : 0, "maxTileCol" : 1 }, | ||
{ "tileMatrix" : "2", "minTileRow" : 0, "maxTileRow" : 3, "minTileCol" : 0, "maxTileCol" : 3 }, | ||
{ "tileMatrix" : "3", "minTileRow" : 0, "maxTileRow" : 7, "minTileCol" : 0, "maxTileCol" : 7 }, | ||
{ "tileMatrix" : "4", "minTileRow" : 0, "maxTileRow" : 15, "minTileCol" : 0, "maxTileCol" : 15 }, | ||
{ "tileMatrix" : "5", "minTileRow" : 0, "maxTileRow" : 31, "minTileCol" : 0, "maxTileCol" : 31 }, | ||
{ "tileMatrix" : "6", "minTileRow" : 0, "maxTileRow" : 63, "minTileCol" : 0, "maxTileCol" : 63 }, | ||
{ "tileMatrix" : "7", "minTileRow" : 0, "maxTileRow" : 127, "minTileCol" : 0, "maxTileCol" : 127 }, | ||
{ "tileMatrix" : "8", "minTileRow" : 0, "maxTileRow" : 255, "minTileCol" : 0, "maxTileCol" : 255 }, | ||
{ "tileMatrix" : "9", "minTileRow" : 0, "maxTileRow" : 511, "minTileCol" : 0, "maxTileCol" : 511 } | ||
], | ||
"links" : [ | ||
{ | ||
"rel" : "self", | ||
"type" : "application/json", | ||
"title" : "The JSON representation of the WorldMercatorWGS84Quad map tileset for blueMarble", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/map/tiles/WorldMercatorWGS84Quad?f=json" | ||
}, | ||
{ | ||
"rel" : "alternate", | ||
"type" : "text/plain", | ||
"title" : "The ECON representation of the WorldMercatorWGS84Quad map tileset for blueMarble", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/map/tiles/WorldMercatorWGS84Quad?f=econ" | ||
}, | ||
{ | ||
"rel" : "alternate", | ||
"type" : "text/html", | ||
"title" : "The HTML representation of the WorldMercatorWGS84Quad map tileset for blueMarble", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/map/tiles/WorldMercatorWGS84Quad?=html" | ||
}, | ||
{ | ||
"rel" : "alternate", | ||
"type" : "application/json+tile", | ||
"title" : "The TileJSON representation of the WorldMercatorWGS84Quad map tileset for blueMarble", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/map/tiles/WorldMercatorWGS84Quad?f=tilejson" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme", | ||
"type" : "application/json", | ||
"title" : "WorldMercatorWGS84QuadTileMatrixSet definition (as JSON)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/tileMatrixSets/WorldMercatorWGS84Quad" | ||
}, | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/geodata", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble" | ||
}, | ||
{ | ||
"rel" : "item", | ||
"type" : "application/vnd.gnosis-map-tile", | ||
"title" : "WorldMercatorWGS84Quad map tiles for blueMarble (as GNOSIS Map Tiles)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/map/tiles/WorldMercatorWGS84Quad/{tileMatrix}/{tileRow}/{tileCol}.gmt", | ||
"templated" : true | ||
}, | ||
{ | ||
"rel" : "item", | ||
"type" : "image/png", | ||
"title" : "WorldMercatorWGS84Quad map tiles for blueMarble (as PNG)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/map/tiles/WorldMercatorWGS84Quad/{tileMatrix}/{tileRow}/{tileCol}.png", | ||
"templated" : true | ||
}, | ||
{ | ||
"rel" : "item", | ||
"type" : "image/jpeg", | ||
"title" : "WorldMercatorWGS84Quad map tiles for blueMarble (as JPG)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/map/tiles/WorldMercatorWGS84Quad/{tileMatrix}/{tileRow}/{tileCol}.jpg", | ||
"templated" : true | ||
}, | ||
{ | ||
"rel" : "item", | ||
"type" : "image/tiff; application=geotiff", | ||
"title" : "WorldMercatorWGS84Quad map tiles for blueMarble (as GeoTIFF)", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble/map/tiles/WorldMercatorWGS84Quad/{tileMatrix}/{tileRow}/{tileCol}.tif", | ||
"templated" : true | ||
} | ||
], | ||
"layers" : [ | ||
{ | ||
"id" : "blueMarble", | ||
"dataType" : "map", | ||
"minScaleDenominator" : 1091957.5469310893677, | ||
"minCellSize" : 305.748113140705, | ||
"maxTileMatrix" : "9", | ||
"links" : [ | ||
{ | ||
"rel" : "http://www.opengis.net/def/rel/ogc/1.0/geodata", | ||
"href" : "http://127.0.0.1:8080/fakeogcapi/collections/blueMarble" | ||
} | ||
], | ||
"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" : "4", | ||
"scaleDenominator" : 34942641.501794859767, | ||
"cellSize" : 9783.9396205025605, | ||
"crs" : "http://www.opengis.net/def/crs/OGC/1.3/CRS84" | ||
} | ||
} |
Oops, something went wrong.