Slippy Map

From OpenStreetMap Wiki
(Redirected from Slippy map)
Jump to: navigation, search
Help
Available languages
Deutsch English Français Italiano 日本語 한국어 Русский
Slippymap redirects here. For inserting slippymaps into wiki pages via <slippymap>, see Slippy Map MediaWiki Extension.
Slippy map

Slippy Map is a term referring to the main openstreetmap.org map display, a web interface for browsing rendered OpenStreetMap data. By default the slippy map is showing tiles rendered by Mapnik. You can also switch it (using the + symbol at the top-right of the map) to show Osmarender renderings (produced by the tiles@home project), which look a little different. Alternative renderings also include the Cycle Map layer and the NoName layer.

See the Browsing page for more basic help information.

Contents

Technical details

The slippy map is an Ajax component. JavaScript runs in the browser, which dynamically requests tiles from the server in the background (without reloading the whole HTML page) to give a smooth slippy zoomy map browsing experience. The implementation of this is mostly provided by OpenLayers.

Tile rendering

Rendering is a fairly resource intensive process. The server does not render tiles in realtime, for each user browsing the map. The tiles are pre-rendered and stored on disk. See component overview

As mentioned above, there are two different sets of tiles. One rendered with the Mapnik renderer, the other with the Osmarender renderer.

Mapnik tile rendering

See the Mapnik page for details of the mapnik renderer.

Mapnik tiles are currently generated on tile.openstreetmap.org. The Mapnik database is updated with minutely diffs so that most data changes should get rendered within a few minutes. This was put in place 2009-02-09. In the past the Mapnik layer was updated solely based on the weekly Planet.osm dump which is performed on a Wednesday morning (GMT/BST). The full planet dump is still imported occasionally (not weekly anymore) to correct any quirks in the applying of diffs.

Mapnik rendering runs as an apache module called mod tile developed especially for our high performance needs.

Every tile has a timestamp for when it was rendered and a dirty flag signifying that it is ready to be re-rendered. The renderer follows these rules:

Thus if nobody is looking at an area it won't get re-rendered often. Tiles are rendered on a (sort-of) interest/attention-first basis. Marking a tile dirty does not mark all sub tiles as dirty. If you get 'More OpenStreetMap coming soon...' on a tile, it means there was no data for that tile and it is now in the queue to be rendered. You can find a tile status by getting a tile URL (right click and 'get URL for image' or similar):

and then add /status on the end:

which will tell you its creation timestamp and dirty status.

If you want to make a tile render before the seven day expiry then you can mark it as dirty by appending /dirty:

Osmarender tile rendering (Tiles@Home)

See the Osmarender page for details of the osmarender renderer.

Osmarender tile rendering is being done by Tiles@home.

You can view tiles@home tiles on the osm home page or

http://www.informationfreeway.org/ – allows users to enqueue tiles@home re-rendering requests for chosen map tiles by hovering over a tile and either pressing "r" or pressing ctrl and clicking on the tile.

Other TileCache deployments

Some other OSM maps use a Python-based WMS-C server implementation from MetaCarta Labs called TileCache,

See also

Deploying your own Slippy Map
Putting maps on your own site using various slippy map APIs and other approaches.
Static map images
Embed StaticMaps by using an <img /> tag.
Tiles
Definition of tiles and various related links.
Slippy map tilenames
Calculate a tile name (URL of the .png file) from the known coordinates (zoom, x, y).
URL templates for Mapnik, Osmarender (Tiles@Home), OpenCycleMap, CloudMade and MapQuest.
Browsing
Basic user guide for the slippy map on the openstreetmap.org homepage
Layer URL parameter
How layers work on the homepage (which is dictated by OpenLayers).
Personal tools
Namespaces
Variants
Actions
site
Toolbox