Language

WMTS basics

This section aims at describing the basics of the Web Map Tile Service (WMTS) standard to ease the understanding of Basemap streaming. For a detailed description of the WMTS standard, please refer to the Open Geospatial Consortium (OGC) https://www.ogc.org/standards/wmts. The WMTS standard provides an efficient way to display worldwide maps through a network called streaming. Instead of requesting the full image, the client requests, for each zoom level, a set of tiles to display its Basemap area of interest. At each zoom level, the Basemap is divided in a number of tiles starting from zoom level 0 up to zoom level 19 for the Basemap. As the zoom level increases, the number of tiles dividing the Basemap increases in a way that the resolution of a tile increases with the zoom level:

wmts number of tiles matrix according to zoom level

The WMTS standard defines that every tile, at each zoom level, is 256 pixels by 256 pixels. In the epsg:3857 projection, the first level of zoom is composed of a single tile representing the whole world. The next level represents the whole world in 4 tiles (2x2) and so on in powers of 4. The WMTS tiling scheme in epsg:3857 projection is consequently:


Zoom levelPixel sizeNb tiles on abscissaNb tiles on ordinate
0156543,033911
178271,517022
239135,758544
319567,879288
49783,93961616
54891,96983232
62445,98496464
71222,9925128128
8611,4962256256
9305,7481512512
10152,874110241024
1176,437020482048
1238,218540964096
1319,109381928192
149,55461638416384
154,77733276832768
162,38876553665536
171,1943131072131072
180,5972262144262144
190.2986524288524288

The WMTS standard also defines the way to uniquely identify a tile. At a given zoom level, abscises and ordinates are numbered from 0 to (Nb tiles - 1). Starting from top left corner, abscises increment towards the east, while ordinates increment towards the south.

wmts identification of each tile of a matrix

The WMTS standard defines a GetTile request API which is a HTTP request for a unique tile. When requesting a tile from GetTile API, the client requests a tile providing its zoom level and coordinates: TileMatrix=zoom level, TileCol=abscises and TileRow=ordinates. When a client wants to display a map on a screen, it requests the tiles needed to fill the screen. For example, if the screen is 1024 pixels by 1024 pixels, it requests 16 tiles of 256 pixels by 256 pixels each.

The WMTS standard also comes with a ‘layer’ mechanism allowing to stream different contents from the same server. ‘Layer’ mechanism is implemented by the Basemap server, meaning that you could stream 2 different basemaps with 2 different contents from the Basemap server. The 2 layers information are provided by a GetCapibilities request answer. You specify the layer in the GetTile request to get a tile from one layer or the other.

Contact Us