Skip to content

Web Map Tile Service (WMTS)

A RESTful implementation of the WMTS OGC Standard.

WARNING

We only support the GetCapabilities and GetTile operation through a RESTful API endpoint. KVP and SOAP encodings are not not available.

GetCapabilities

The GetCapabilities document provides information about the service, along with layer description, both in German and French.

https://wmts.geo.admin.ch/1.0.0/WMTSCapabilities.xml?lang=<Lang>
ParameterDescription
Lang (optional)The language. Supported values: de, fr (Defaults to de)

Supported Projections

Tiles are available in four supported projections:

Notes:

  • Partly due to a limitation of the WMTS 1.0.0 recommendations, each projection has its own GetCapabilities document.
  • The same timestamps are available in all projections. New timestamps are added to the former ones.
  • The layer ch.kantone.cadastralwebmap-farbe uses a WMS service as its source.
  • All layers are available at all scales. You have to check for which tileMatrixSets a particular layer is defined. Your WMTS client may either stretch the tiles from the last available level or display nothing.

GetTile

http://wmts.geo.admin.ch/<Version>/<LayerBodId>/<StyleName>/<Time>/<TileMatrixSet>/<TileSetId>/<TileRow>/<TileCol>.<FormatExtension>

Use the following parameters to define your request:

ParameterExampleDescription
Version1.0.0WMTS protocol version
Layernamech.bfs.arealstatistik-1997The technical layer name. See the <ows:Identifier> tag of the layer in the WMTS GetCapabilities document.
StyleNamedefaultOnly default is supported.
Time2010, 2010-01Date of tile generation in (ISO-8601) or logical value like current. A list of available values is provided in the GetCapabilities document under the <Dimension tag. We recommend to use the value under the <Default> tag. Note that these values might change frequently - check for updates regularly.
TileMatrixSet2056 (constant)EPSG code for LV03/CH1903
TileSetId22Zoom level (see table below)
TileRow236
TileCol284
FormatExtensionpngMostly png, except for some raster layer (pixelkarte and SWISSIMAGE)

With the tileOrigin in the top left corner of the bounding box:

Resolution [m]Zoom LevelMap zoomTile width [m]Tiles XTiles YTilesApprox. scale at 96 dpi per zoom level
4000010240001111
375019600001111
350028960001111
325038320001111
300047680001111
275057040001111
250066400001111
225075760001111
200085120001111
175094480002122
1500103840002122
1250113200002122
1000122560002244
750131920003266
6501401664003261 : 2’456’694
50015112800043121 : 1’889’765
2501626400085401 : 944’882
1001732560019132471 : 377’953
501841280038259501 : 188’976
20195512094635’9221 : 75’591
10206256018812523’5001 : 37’795
5217128037525093’7501 : 18’898
2.5228640750500375’0001 : 9’449
2239512938625586’2501 : 7’559
1.52438412508341’042’500
12510256187512502’343’7501 : 3’780
0.52611128375025009’375’0001 : 1’890
0.252712647500500037’500’0001 : 945
0.1281325.61875012500234’375’0001 : 378
Notes:
  1. The projection for the tiles is LV95 (EPSG:2056). Other projection are available, see Supported Projections.
  2. The tiles are generated on-the-fly and stored in a cache.
  3. Zoom level 24, with a resolution of 1.5m, is available in the tile pyramid but it is not currently made available through the API.
  4. The zoom levels 27 and 28 (resolution 0.25m and 0.1m) are only available for a few layers, e.g. SWISSIMAGE or cadastral web map. For the other layers it is only a client zoom (tiles are stretched).
  5. You have to use the ResourceURL to construct the GetTile request.
  6. Axis order: for historical reasons, EPSG:21781 WMTS tiles use the non-standard row/col order, while all other projections use the usual col/row order. However, most desktop GIS allow you to either use the advertised order or to override it.
  7. The tiles of a given layer might be updated without resulting in a new <Time> dimension in the GetCapabilities dimension. If your application caches tiles locally, you need to invalidate your local cache for this layer. To check the latest change of any layer, use the Cache Update service.

Example of a GetTile request:

bash
curl -o demo.jpg https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/21781/20/58/70.jpeg

The output image:

Cache Update

As noted in the GetTile section, the tiles of a given <Time> dimension might be updated for technical reasons. If you are caching tiles locally, this might result in your cache being outdated. Use the Cache Update service to query the date of the last update for a given layer. If your cache is older than the returned date, you have to clear your local cache.

https://api3.geo.admin.ch/rest/services/api/MapServer/<LayerBodId>/cacheUpdate

The latest cache update for the product SWISSIMAGE:

Request
Response
sh
curl https://api3.geo.admin.ch/rest/services/api/MapServer/ch.swisstopo.swissimage-product/cacheUpdate

Examples: OpenLayers

This OpenLayers example shows how the CadastralWebMap appears differently when loaded using a WMTS compared to a tiled WMS.


Using geo.admin.ch WMTS tiles in the new LV95 frame (EPSG:2056).