WMS? WMTS? XYZ? TMS? These are terms you will find while working with different geospatial mapping libraries. They all are relating to making web map tiles, but their definitions can be confusing and seemingly overlapping. One of the simplest explanations is found on the leaflet documentation1.
Some of my confusion was because these terms are, in fact, mostly doing the same thing2:- Creating small RGB images of your map to be loaded by some viewing software. Ordering from simplest to most complex, we have:
{z}/{x}/{y}
in the name to represent the current Zoom and X/Y tile location. All images are 256 x 256 pixels. When serving pre-computed tile images, each zoom is a directory.
https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z}
is the Google Satellite tile URL. E.g. https://mt1.google.com/vt/lyrs=s&x=2&y=4&z=4Tile Map Service (TMS): one specification for making tiled web maps. Uses a URL or URI, generally following a client-server architecture (some client requests tiles, a serve provides them). XYZ maps are an example of this. Because of this structure, it’s most Served as the basis for….
Web Map Tile Service (WMTS): Specification by the Open Geospatial Consortium (OGC) for serving map tiles over the internet.
TileMatrixSet
(TMS) is standard for the describing a scheme to divide a 2D planar surface into a regular grid. Not going into the details here except to say that the standard early web maps (like slippy tiles) all use the Web Mercator project, EPSG:3857, so if you want tiles of a web map over Antarctica you need a different TileMatrixSet. The morecantile
tool was made to work with these TMS’s.
Fitting, since Leaflet is one of the simplest and easiest to use libraries in the GIS space. ↩
Why do we need all these? As much as I don’t like linking to XKCD, it feels like this is another instance of the software standards problem. ↩