For Coverage Tiles, see also the OGC API - Coverages coverage tiles conformance class.
For Map Tiles, see also the OGC API - Maps map tiles conformance class.
from an OGC API landing page or collection of geospatial data step by step
NOTE: This approach is recommended for generic clients to ensure maximum interoperability.
NOTE: The link relation types shown here are abbreviated and should be prefixed by http://www.opengis.net/def/rel/ogc/1.0/
unless they are registered with IANA.
- Visit the landing page (start here if you have a link to an OGC API landing page)
- discover a link to collections (rel:
data
) or to a list of tilesets (rel:tilesets-map
for map tiles,tilesets-vector
for vector tiles,tilesets-coverage
for coverage tiles)
- discover a link to collections (rel:
- Visit the /collections page (if wishing to access tiles from a specific collection)
- look for a collection of interest in the
collections
array and select one - look for a link with rel:
self
in that collection for a link to the collection
- look for a collection of interest in the
- Visit the selected collection link (if requesting tiles for a specific collection, start here if you already have a link to a collection)
- look for the
links
property and select a link of the relation type for the desired type of tiles (e.g. rel=tilesets-map
,tilesets-vector
ortilesets-coverage
)
- look for the
- Visit that link to the list of tilesets
- look for a tileset in the
tilesets
array using a supported TileMatrixSet, based on thetileMatrixSetURI
(for registered TileMatrixSets) and/or a link to a TileMatrixSet definition (rel:tiling-scheme
) - look for the
links
property and select the link for the tileset itself (rel:self
)
- look for a tileset in the
- Visit the link to the tileset (start here if you already have a link to a tileset)
- look for the
links
property and select alink
with rel=item
(templated) andtype
with the format you like to obtain the tile URL template. - if no
type
is provided, multiple formats may be supported: use HTTP content negotiation with anAccept:
header specifiying your preferred format(s) - the tileset may contain additional useful information, such as the list of vector layers and properties schemas for vector tiles.
- look for the
- Be aware of the tile matrix set in use based on either the
tileMatrixSetURI
(if available, for well-known TileMatrixSets) or the TileMatrixSet definition- use that information to determine the values and limits for {tileMatrix} {tileRow} {tileCol} and imply the geo-referencing of requested tiles accordingly
- If the
tileMatrixSetLimits
property exists in the tileset, avoid requesting tiles beyond those limits - Use the URL template and substitute the {tileMatrix} {tileRow} {tileCol} variables by values to get a URL
- get your tiles!
- If the service offers styled maps or styled vector tiles, follow rel:
styles
to obtain a list of styles from a landing page or collection, and discover links to tilesets from within thestyles
array inside that list of styles, using thetilesets-*
relation types
WARNING: OGC API - Tiles implementations are not required to use a {tileMatrixSetId}
variable or offer local tile matrix set definitions, and TileSets URL templates are not required to follow a fixed path.
- Visit the API page directly
- look for the /tileMatrixSets path (if local tile matrix set definitions and
{tileMatrixSetId}
are supported) - look for the /collections path (for tiles of a specific collections)
- look for the /tiles or /collections/{collectionId}/tiles path (for vector tiles)
- look for the /map/tiles or /collections/{collectionId}/map/tiles path (for map tiles)
- look for the /collections/{collectionId}/coverage/map/tiles path (for coverage tiles)
- look for the .../tiles/{tileMatrixSetId} path (if
{tileMatrixSetId}
is supported) - look for the .../tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol} path (if
{tileMatrixSetId}
is supported)
- look for the /tileMatrixSets path (if local tile matrix set definitions and
- Visit the /collections page (for tiles of a specific collections)
- look for a collection of interest in the
collections
array and select an id (the{collectionId}
).
- look for a collection of interest in the
- If the API supports a global list of TileMatrixSets and a
{tileMatrixSetId}
, visit/tileMatrixSets
to select one - Alternatively, discover the path to the tileset of interest from the API
- Access the tileset resource at e.g. /collections/{collectionId}/map/tiles/{tileMatrixSetId} and/or the tile matrix set definition at /tileMatrixSets/{tileMatrixSetId} to be aware of the TileMatrixSet in use
- use that information to determine the values and limits for {tileMatrix} {tileRow} {tileCol} and imply the geo-referencing of requested tiles accordingly.
- the tileset may contain additional useful information, such as the list of vector layers and properties schemas for vector tiles.
- If the
tileMatrixSetLimits
property exists in the tileset, avoid requesting tiles beyond those limits - Use the .../tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol} template and substitute the variables by values to get a URL
- get your tiles!
- If the service offers styled maps or styled vector tiles, replace .../map/tiles by .../styles/{styleId}/map/tiles (or .../tiles by .../styles/{styleId}/tiles), after having selected a style from those listed at .../styles.
- If an API or a collection contains data from multiple collections, use the
collections=
query parameter to select specific collections to be included in the tileset.