I. Abstract
The OGC API — Tiles Standard defines building blocks for implementing Web APIs that support the retrieval of tiled geospatial information. A Web API is an application programming interface for either a web server or a web browser [Wikipedia, 2022].
The OGC suite of Web API standards is an extensible framework for building HTTP based services that can be accessed in different applications on different platforms such as the Web, desktop, mobile, etc. The OGC API — Tiles Standard specifies how different forms/types of geospatial resources are supported, such as tiles of vector features (“vector tiles”), coverages, and maps (or imagery). Although OGC API — Tiles can be used independently, the building blocks can be combined with other OGC API Standards for additional capabilities or increased interoperability for specific types of data. The OGC API — Tiles Standard references the OGC Two-Dimensional Tile Matrix Set (TMS) and Tile Set Metadata Standard [OGC 17-083r4]. That Standard defines logical models and encodings for specifying tile matrix sets and describing tile sets. A tile matrix set is a tiling scheme that enables an application to partition and index space based on a set of regular grids defined for multiple scales in a Coordinate Reference System (CRS).
The OGC API — Tiles Standard is an alternative to the OGC’s Web Map Tile Service (WMTS) Standard. Instead of a fixed Web interface, OGC API — Tiles focuses on simple reusable REST API building blocks which can be described using the OpenAPI specification. Whereas WMTS focused on map tiles, the OGC API — Tiles Standard is designed to support any form of tiled data.
II. Keywords
The following are keywords to be used by search engines and document catalogues.
ogcdoc, OGC document, tiling, tiles, WMTS, map tiles, vector tiles, tiled feature data
III. Preface
This document defines the OGC API — Tiles — Part 1: Core Standard. A Web API conforming to this Standard can serve tiles of spatially referenced data or maps with predefined content, extent, and resolution. Suggested additions, changes and comments on this standard are welcome and encouraged. Such suggestions may be submitted using the issues log on the GitHub repository: https://github.com/opengeospatial/ogcapi-tiles .
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights.
Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the standard set forth in this document, and to provide supporting documentation.
IV. Security considerations
No security considerations have been made for this document.
V. Submitting Organizations
The following organizations submitted this Document to the Open Geospatial Consortium (OGC):
- Universitat Autònoma de Barcelona (CREAF)
- US Army Geospatial Center
- Ecere Corporation
- Esri
VI. Submitters
All questions regarding this submission should be directed to the editor or the submitters:
Name | Affiliation |
Joan Masó | Universitat Autònoma de Barcelona (CREAF) |
Chuck Heazel | Heazel Tech |
Jeff Harrison | US Army Geospatial Center (AGC) |
Jérôme Jacovella-St-Louis | Ecere Corporation |
Satish Sankaran | Esri |
OGC API - Tiles - Part 1: Core
1. Scope
The OGC API — Tiles Standard specifies the behavior of Web APIs that provide access to tiles of one or more geospatial data resources (collections) that the Web API offers. This Standard defines how to discover which resources offered by the Web API can be retrieved as tiles, get metadata about the available tile sets (including according to which tile matrix set each tile set is partitioned and the limits of that tile set within a common potentially global tile matrix set) and how to request a tile. This Standard is sometimes referred to as the Tiles API.
The core conformance class is defined in a way that could be easily included in a web API, even if that API does not conform to the OGC API — Common Standard. A web API can combine some requirements classes of this OGC API Standard with those of other OGC API Standards (including OGC API — Common) to extend the scope of the Web API by adding functionality.
2. Conformance
The OGC API — Tiles Standard defines multiple requirements classes and their associated conformance classes.
The standardization targets of all conformance classes are “Web APIs”.
The Tiles API requirements classes are summarized below and in more detail in subsequent clauses.
2.1. Requirements classes defining resources
Requirements Class “Core” (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/req/core)
The Core Requirements Class specifies requirements that all implementation instances of the Tiles API must support if claiming conformance with this Standard. The Core class defines how to retrieve individual tiles by building a URI from three variables corresponding to the tile matrix, tile row and tile column for that tile.
Table 1 — Overview of resource and common direct links that correspond to tiles defined in the Core Requirements Class
Resource name | Common path |
---|---|
Tile | …/{tileMatrix}/{tileRow}/{tileCol} |
NOTE The path template is recommended, but not prescribed. Ordering the parameters differently within the URI is allowed. |
Requirements Class “TileSet” (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/req/tileset)
The TileSet Requirements Class defines a mechanism for describing a tileset using a specific tile matrix set and a way of obtaining a templated link to the individual tiles.
Table 2 — Overview of resources and common direct links that correspond to the tileset
Resource name | Common path |
---|---|
Tileset | …/tiles/{tileMatrixSetId} |
Tile | …/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol} |
Requirements Class “TileSets List” (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/req/tilesets-list)
The TileSets List Requirements Class defines a generic operation for retrieving a list of tilesets, without association to any particular type of resources.
Table 3 — Overview of resource and common direct link that corresponds to the tileset list
Resource name | Common path |
---|---|
Tileset list | …/tiles |
2.2. Requirements Classes defining data origins
Requirements Class “Dataset TileSets” (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/req/dataset-tilesets)
The Dataset Tilesets Requirements Class defines how to retrieve all tiles for a dataset that could potentially consist of multiple geospatial data resources. All implementation instances of the Tiles API must implement this Requirements Class if they are claiming to support dataset tiles following this OGC API — Tiles — Part 1: Core Standard. Dataset tiles may combine content from multiple geospatial resources, regardless of whether those are available separately (as tiles or otherwise).
Table 4 — Overview of resource and common direct links that correspond to the dataset tileset
Resource name | Common path |
---|---|
Vector tileset list | /tiles |
Map tileset list | /map/tiles |
Styled Map tileset list | /styles/{styleId}/map/tiles |
Requirements Class “GeoData TileSets” (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/req/geodata-tilesets)
The GeoData TileSets Requirements Class supports the retrieval of tiles from a specific geospatial data resource.
Table 5 — Overview of resource and common direct links that correspond to the geospatial data resources tilesets
Resource name | Example of possible paths |
---|---|
Vector tileset list | /collections/{collectionId}/tiles |
Map tileset list | /collections/{collectionId}/map/tiles |
Styled Map tileset list | /collections/{collectionId}/styles/{styleId}/map/tiles |
2.3. Requirements classes defining query parameters
Requirements Class “Collections Selection” (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/req/collections-selection)
The Collections Selection Requirements Class supports the listing of specific geospatial data resources from which to retrieve tiles such as for use with data set tiles.
Table 6 — Overview of resource and common direct links that correspond to geodata selection
Resource name | Example of possible paths |
---|---|
Vector Tileset | /tiles/{tileMatrixSetId}?collections={collectionId},{collectionId},… |
Vector Tile | /tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}?collections={collectionId},{collectionId},… |
Map tileset | /map/tiles/{tileMatrixSetId}?collections={collectionId},{collectionId},… |
Map tile | /map/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}?collections={collectionId},{collectionId},… |
Requirements Class “DateTime” (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/req/datetime)
The DateTime Requirements Class specifies how to provide tiles in a domain that has a generic time dimension.
2.4. Requirements classes for specific resource representations
Requirements Class “OpenAPI Specification 3.0 API definition” (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/req/oas30)
The OpenAPI Specification 3.0 Requirements Class specifies requirements for an OpenAPI 3.0 definition in addition to those defined in OGC API — Common — Part 1: Core.
Requirements Class “XML TileSet Metadata” (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/req/xml)
The XML TileSet Metadata Requirements Class specifies how to use XML as an alternative encoding for describing tilesets.
Requirements Classes for tile encodings
The OGC API — Tiles Standard does not mandate a specific encoding or format for representing tiles and remains flexible and extensible to other formats that users and providers might need. However, Requirements Classes are provided for the following common tile encodings:
PNG (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/req/png)
JPEG (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/req/jpeg)
TIFF (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/req/tiff)
NetCDF (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/req/netcdf)
GeoJSON (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/req/geojson)
Mapbox Vector Tiles (http://www.opengis.net/spec/ogcapi-tiles-1/1.0/req/mvt)
All Tiles API Requirements Classes can be viewed as building blocks that can be implemented in combination with other more fundamental requirements classes that provide support for Web API discovery, conformity and Web API formal definition (e.g., OpenAPI). Possible alternatives for these fundamental Requirements Classes are OGC API — Common — Part 1: Core or OGC API — Features — Part 1: Core.
All requirements-classes and conformance-classes described in this document are owned by the Standard(s) identified.
NOTE Despite the fact that full paths and full path templates in the above resource tables are used in many implementations of the OGC API — Tiles Standard, these exact paths are ONLY examples and are NOT required by this Standard. Other paths are possible if correctly described by the Web API definition document and the links between resources.
2.5. Declaration of conformance
Conformance with this Standard shall be checked using all the relevant tests specified in Annex A (normative) of this document if the respective conformance class URIs listed in Table 7 are present in the Conformance Declaration response. The framework, concepts, and methodology for testing, and the criteria to be achieved to claim conformance are specified in the OGC Compliance Testing Policies and Procedures (OGC 08-134r11) and the OGC Compliance Testing website.
Table 7 — Conformance class URIs
3. Normative references
The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
Carl Reed: OGC 19-014r3, Topic 22 — Core Tiling Conceptual and Logical Models for 2D Euclidean Space. Open Geospatial Consortium (2020). https://docs.ogc.org/as/19-014r3/19-014r3.html.
Joan Masó , Jérôme Jacovella-St-Louis: OGC 17-083r4, OGC Two Dimensional Tile Matrix Set and Tile Set Metadata. Open Geospatial Consortium (2022). https://docs.ogc.org/is/17-083r4/17-083r4.html.
Charles Heazel: OGC API — Common — Part 1: Core (Draft). OGC 19-072, Open Geospatial Consortium, http://docs.ogc.org/DRAFTS/19-072.html
Charles Heazel: OGC API — Common — Part 2: Geospatial Data (Draft). OGC 20-024, Open Geospatial Consortium, http://docs.ogc.org/DRAFTS/20-024.html
Ben Domenico: OGC 10-090r3, OGC Network Common Data Form (NetCDF) Core Encoding Standard version 1.0. Open Geospatial Consortium (2011). https://portal.ogc.org/files/?artifact id=43732.
H. Butler, M. Daly, A. Doyle, S. Gillies, S. Hagen, T. Schaub: IETF RFC 7946, The GeoJSON Format. (2016). https://www.rfc-editor.org/info/rfc7946.
Adobe Developers Association: TIFF Specification Revision 6.0. (1992)
Emmanuel Devys, Ted Habermann, Chuck Heazel, Roger Lott, Even Rouault: OGC 19-008r4, OGC GeoTIFF Standard. Open Geospatial Consortium (2019). https://docs.ogc.org/is/19-008r4/19-008r4.html.
ISO/IEC: ISO/IEC 10918-1, Information technology — Digital compression and coding of continuous-tone still images: Requirements and guidelines. International Organization for Standardization, International Electrotechnical Commission, Geneva https://www.iso.org/standard/18902.html.
ISO/IEC: ISO/IEC 15948, Information technology — Computer graphics and image processing — Portable Network Graphics (PNG): Functional specification. International Organization for Standardization, International Electrotechnical Commission, Geneva https://www.iso.org/standard/29581.html.
NOTE Certain conformance classes have a dependency on OGC API — Common — Part 1: Core or OGC API — Common — Part 2: Geospatial data. In some cases, it is possible to replace these dependencies with OGC 17-069r3 OGC API — Features — Part 1: Core.
4. Terms and definitions
This document uses the terms defined in OGC Policy Directive 49, which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this document and OGC documents do not use the equivalent phrases in the ISO/IEC Directives, Part 2.
This document also uses terms defined in the OGC Standard for Modular specifications (OGC 08-131r3), also known as the ‘ModSpec’. The definitions of terms such as standard, specification, requirement, and conformance test are provided in the ModSpec.
For the purposes of this document, the following additional terms and definitions apply.
4.1. Terms and definitions
This document also uses terms defined in Sub-clause “Terms and Definitions” of OGC API — Common, Part 1: Core.
For the purposes of this document, the following additional terms and definitions apply.
4.1.1. coverage tile
tile that contains information, often in a gridded form, where the values represent observations or measurements as a count, or quantity using some unit of measure.
Note 1 to entry: Coverage tiles are generated in combination with OGC API — Coverages, and can also be generated by combining a subset (trim) and resampling operation. Usually, visualizing a coverage tile on a rendering device implies mapping those values to colors.
4.1.2. dataset
a set of data, published or curated by a single agent, and available for access or download in one or more representations (modified from DCAT: https://www.w3.org/TR/vocab-dcat-2/#dcat-scope).
Note 1 to entry: A Web API implementing OGC API — Common often gives access to a single dataset which may be comprised of one or more geospatial data resources.
4.1.3. geospatial data resource
web accessible resource that consists of a set of geospatial data.
Note 1 to entry: In Web APIs implementing OGC API — Common — Part 2: Geospatial Data, geospatial data resources are referred to as collections and are defined in the collections conformance class.
Note 2 to entry: geodata is sometimes used in this document as an abbreviation of geospatial data
4.1.4. geospatial resource aspect
web accessible resource that represents a component of geospatial information (metadata, schemas…) or geospatial data accessed using a particular mechanism and data model (e.g., feature items, tiles, maps, coverages,…) of a more generic geospatial data resource (e.g., a collection).
Note 1 to entry: Not to be confused with a web accessible resource representation. While resource representations share the same path and are selected by format negotiation, geospatial aspects use different paths. Commonly a geospatial aspect is a subpath of a geospatial data resource.
4.1.5. landing page
any page whose primary purpose is to contain a description of something else. Landing pages often provide summaries or additional information about the thing that they describe. (W3C, URLs in Data Primer)
In the context of the OGC API Standards, a landing page serves as the root node of the API Resource tree and provides the information needed to navigate all the resources exposed through the API. The landing page provides access to the root of a dataset.
4.1.6. map tile
tile that contains information in a raster form where the values of cells are colors which can be readily displayed on rendering devices.
Note 1 to entry: Map tiles are generated in combination with OGC API — Maps.
4.1.7. tile
geometric shape with known properties that may or may not be the result of a tiling (tessellation) process. A tile consists of a single connected “piece” without “holes” or “lines” (topological disc).
In the context of a 2D tile matrix, a tile is one of the rectangular regions of space, which can be uniquely identified by row and column integer indices, making up the tile matrix.
In the context of a geospatial data tile set, a tile contains data for such a partition of space as part of an overall set of tiles for that tiled geospatial data.
Note 1 to entry: From OGC 19-014r1: Core Tiling Conceptual and Logical Models for 2D Euclidean Space
Note 2 to entry: From OGC 17-083r4: OGC Two Dimensional Tile Matrix Set and Tile Set Metadata standard
Note 3 to entry: Tiles are useful to efficiently request, transfer, cache, display, store and process geospatial data for a specific resolution and area of interest, providing deterministic performance and scalability for arbitrarily large datasets.
Note 4 to entry: Tiles can contain a variety of data types, such as grid-based pictorial representations (map tiles), coverage subsets (coverage tiles), or feature-based representations (vector tiles).
4.1.8. tile matrix
tiling grid in a given 2D coordinate reference system, associated to a specific scale and partitioning space into regular conterminous tiles, each of which being assigned a unique identifier.
Note 1 to entry: From OGC 17-083r4: OGC Two Dimensional Tile Matrix Set and Tile Set Metadata standard
Note 2 to entry: Each tile of a tile matrix is uniquely identifiable by integer indices for the row and the column. The number of rows is referred to as the matrix height, while the maximum number of columns is referred to as the matrix width (the number of columns can vary for different rows in variable width tile matrices).
4.1.9. tile matrix set
tiling scheme consisting of a set of tile matrices defined at different scales covering approximately the same area and having a common coordinate reference system.
Note 1 to entry: From OGC 17-083r4: OGC Two Dimensional Tile Matrix Set and Tile Set Metadata standard
4.1.10. tile indexing scheme
scheme to uniquely reference a tile in a tiling scheme by the use of a unique identifier (or set of identifiers), and reversely, which unique identifier (or unique set of identifiers) corresponds to a space satisfying the geometric properties of a specific tile.
Note 1 to entry: From OGC 17-083r4: OGC Two Dimensional Tile Matrix Set and Tile Set Metadata standard
4.1.11. tile set
a set of tiles resulting from tiling data according to a particular tiling scheme.
Note 1 to entry: From OGC 19-014r1: Core Tiling Conceptual and Logical Models for 2D Euclidean Space, but adapted to clarify that in the context of this document, a tile set refers specifically to a set of tiles containing data and following a common tiling scheme.
4.1.12. tiling scheme
scheme that defines how space is partitioned into individual tiles, potentially featuring multiple levels of detail (each tiling at a different granularity to reflect a different resolution or scale).
A tiling scheme defines the spatial reference system and the geometric properties of each tile defined by the scheme. Those properties include which space each tile occupies (the tile’s spatial extent), as well as a tile coordinate origin if a particular corner of origin convention is established.
Note 1 to entry: A tiling scheme can be defined on top of a CRS as well as other spatial reference systems such as DGGS and other organizations including irregular ones. In this document, only tiling schemes based on CRSs are supported.
Note 2 to entry: From OGC 17-083r4: OGC Two Dimensional Tile Matrix Set and Tile Set Metadata standard
4.1.13. tile set metadata
additional metadata beyond the common properties defining the tile set. Such metadata could be an abstract, the owner, the author, or other common metadata. [OGC 19-014r3]
metadata describing common properties defining a tile set, layers and styles used to produce the tile set, the limits of the tile matrix with actual data and common metadata such as abstract, owner, author, etc.
Note 1 to entry: From OGC 17-083r4: OGC Two Dimensional Tile Matrix Set and Tile Set Metadata standard
4.1.14. vector tile
tiled vector feature data ADMITTED
tile that contains vector data that has been generalized (simplified) at the tile scale resolution and clipped by the tile boundaries.
Note 1 to entry: From OGC 17-083r4: OGC Two Dimensional Tile Matrix Set and Tile Set Metadata standard
4.1.15. Web API
API using an architectural style that is founded on the technologies of the Web. [source: OGC API — Features — Part 1: Core]
Note 1 to entry: See Best Practice 24: Use Web Standards as the foundation of APIs (W3C Data on the Web Best Practices) for more detail.
4.1.16. Web API based implementation
a server software that implements a Web API.
Note 1 to entry: The Web API based implementations mentioned in the context of this Standard declare conformity to at least one Conformance Class defined by this Standard.
5. Conventions
This section provides details of conventions used in this document.
5.1. Identifiers
The normative provisions in this standard are denoted by the URI http://www.opengis.net/spec/ogcapi-tiles-1/1.0 .
All requirements and conformance tests that appear in this document are denoted by partial URIs which are relative to this base.
5.2. Link relations
To express relationships between resources, RFC 8288 (Web Linking) is used.
The following IANA link relation types are used in this Standard:
alternate: Refers to a substitute for this context.
self: Conveys an identifier for the link’s context.
item: The target IRI points to a resource that is a member of the collection represented by the context IRI.
service-desc: Identifies a service description for the context that is primarily intended for consumption by machines. (Web API definitions are considered service descriptions)
service-doc: Identifies service documentation for the context that is primarily intended for human consumption.
The following link relation types specified in the Two Dimensional Tile Matrix Set and Tileset Metadata Standard are used:
http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme: The target IRI points to a resource that describes the TileMatrixSet according to the 2D-TMS standard.
http://www.opengis.net/def/rel/ogc/1.0/dataset: The target IRI points to a resource representing the dataset (e.g., the root of an OGC Web API).
http://www.opengis.net/def/rel/ogc/1.0/geodata: The target IRI points to a resource representing a collection of geospatial data.
In addition, the following link relation types are used for which no applicable IANA-registered link relation type could be identified:
http://www.opengis.net/def/rel/ogc/1.0/tilesets-vector: The target IRI points to a resource that describes how to provide tile sets of the context resource in vector format.
http://www.opengis.net/def/rel/ogc/1.0/tilesets-map: The target IRI points to a resource that describes how to provide tile sets of the context resource in map format.
http://www.opengis.net/def/rel/ogc/1.0/tilesets-coverage: The target IRI points to a resource that describes how to provide tile sets of the context resource in coverage format.
http://www.opengis.net/def/rel/ogc/1.0/tiling-schemes: The target IRI points to a resource that lists one or more TileMatrixSets according to the 2D-TMS standard.
Used in combination with OGC API — Features — Part 1: Core or OGC API — Common - Part 1: Core, other link relation types will be used, including:
http://www.opengis.net/def/rel/ogc/1.0/conformance: Refers to a resource that identifies the specifications that the link’s context conforms to.
Used in combination with OGC API — Features — Part 1: Core or OGC API — Common - Part 2: Geospatial Data, other link relation types will be used, including:
http://www.opengis.net/def/rel/ogc/1.0/data: Refers to the list of collections available for a dataset.
Each resource representation includes an array of links. Implementations are free to add additional links for all resources provided by the Web API.
6. Overview
6.1. Introduction
The OGC API — Tiles Standard defines building blocks that can be used in the implementation of Web API based servers and compatible clients to support the retrieval of tiled geospatial data that follow the structure defined in the OGC Two Dimensional Tile Matrix Set and Tile Set Metadata 2.0 Standard (OGC 17-083r4) (see Clause 7), which is also known as the 2D TMS Standard. The OGC API — Tiles Standard assumes that the reader is familiar with the concepts in the OGC 17-083r4 Standard, such as a tile, tile set, tile set metadata, tile matrix and tile matrix set. If that is not the case, reading the OGC 17-083r4 overview subsection is recommended.
Services and clients are encouraged to support as many of the TileMatrixSets defined in Annex D and E of the OGC 17-083r4 Standard as possible. Other TileMatrixSets defined in the OGC TileMatrixSet register for all geospatial data resources to maximize interoperability should be considered. However, support for any specific TileMatrixSet is not required. Tiles that share the same TileMatrixSet definition can be easily visualized together in a data integration client.
The OGC API — Tiles standard is an alternative to the OGC Web Map Tile Service (WMTS) Standard [10]. The fundamental concept TileMatrixSet has not changed from the one used in WMTS. Therefore tiles provided via a WMTS instance and the ones generated by an OGC API — Tiles implementation instance that are based on the same TileMatrixSet can also be easily visualized and/or processed together. If the selected tile matrix set is the one called WebMercatorQuad (see OGC 17-083r4 Annex D.1), tiles are also compatible with the ones made available by some popular mass market approaches.