From OpenStreetMap Wiki
Jump to: navigation, search

TMS (Tile Map Service) is a protocol for serving maps as tiles i.e. splitting the map up into a pyramid of images at multiple zoom levels.

The Tile Map Service Specification is the documentation for this standard. Full support for the protocol involves supporting alternate spatial referencing systems, so TMS can be regarded as half way between the flexibility of WMS and the rigid simplicity of the Slippy map tilenames used on the main OpenStreetMap tile server, and also used by google maps and many other map providers.

TileCache is one of the most popular server softwares for running a TMS with full compliance.

Public TMS Servers

OSM TMS Servers

Here we list Servers that can be used as OSM tile maps e.g. for OpenLayers as a Slippy Map

Name Free Updated Coverage Style sep. Layers
AND no World customizable yes
Cloudmade no World customizable yes
MapQuest no
Sign up for a plan is required
World no
Omniscale no minutely World Custom style yes
Stamen yes World Toner, Watercolor, Terrain yes
MapSurfer.NET yes World yes
Toolserver World Mapnik yes yes
Tile usage policy
EU Mapnik German no
Main yes
Tile usage policy
minutely World Mapnik default no
CartoDB yes World Positron, Dark Matter yes

The Y coordinate

A common partial implementation of TMS provides something similar to Slippy map tilenames but with one important, and somewhat annoying difference. The Y coordinates are numbered from the south northwards (like latitudes and graphical/bitmap axes) in the TMS standard whereas google tile coordinates have their origin at top left (NW). This is really just an unfortunate historical misalignment.

See Converting TMS Tile Coordinates to Google/Bing/OSM Tile Coordinates for a javascript converting function enabling use of TMS Y-flipped tiles via a normal slippy map display library.

In JOSM or Potlatch 2 you can use TMS tile sources (''e.g.'', for imagery background) which do the Y coordinates the TMS way, by simply inserting a minus in the tile URL specifier. Merkaartor also allows this.

See also