How Tiled Maps work

The first web maps were provided by services that would generate map images on demand. The Web Map Service (e.g. WMS ), part of the first generation of OGC standards, is an example of this.

Following some precursor work in the 1980's, which included products such as Wings Mission Rehearsal and Edge Whole Earth, in the early 2000's, Google popularized a more efficient way of serving maps, by pre-rendering images (e.g.: tiles) and organising them into pyramids of regular grids (e.g.: tilesets). The conceptual model that allows clients to retrieve tiles in this pyramid is called a tiling scheme. In a XYZ scheme, which is what we see in most of the web map services today, each tile can be identified by three parameters: zoom level ( Z ), column ( X ), and row ( Y )

In an XYZ tileset, the top tile (0/0/0) covers the minimum zoom level (generally the entire world) and subsequent levels contain four tiles, for each one of the tiles above until we reach the maximum zoom level (e.g.: generally around 18-25). The url template to request a tile is usually something like:{z}/{x}/{y}.png , where {z} is a placeholder for the zoom level, {x} for the column number, and {y} for the row number.

Things like the projection used to render the tiles, the available zoom levels and even the url template may vary from tileset to tileset. The fact that there was no standard way of advertising this information was responsible for degrading the interoperability between web map servers and clients. In other words, if one wrote a mapping client there would be no guarantee that they would be able to consume tiles from different servers and vice-versa.