2012-10-20

rewrite. Drop tiles@home info. Talk in terms of "standard" OpenStreetMap style rather than "Mapnik" style. Other modernisations of the terminology

← Older revision

Revision as of 15:50, 20 October 2012

Line 1:

Line 1:

{{Language-Slippy Map}}

{{Language-Slippy Map}}

-

:''Slippymap redirects here. For inserting slippymaps into wiki pages via <slippymap>, see [[Slippy Map MediaWiki Extension]].

[[Image:Bedford new slippy map 2.png|thumb|200px|Slippy map]]

[[Image:Bedford new slippy map 2.png|thumb|200px|Slippy map]]

-

'''Slippy Map''' is a term referring to the [http://www.openstreetmap.org/index.html main openstreetmap.org map display], a web interface for [[browsing]] rendered OpenStreetMap data. By default the slippy map shows tiles rendered by [[Mapnik]]. But, you can select different renderings if you wish (including [[Cycle_map|Cycle Map]]) on the openstreetmap web site.

+

'''Slippy Map''' is, in general, a term referring to modern web maps which let you zoom and pan around (the map slips around when you drag the mouse).

-

See the [[Browsing]] page for more basic help information.

+

Here we often talk about "The Slippy Map" to mean the map display on the [http://www.openstreetmap.org/index.html openstreetmap.org front page]. This is is a web interface for [[browsing]] rendered OpenStreetMap data.

+

+

By default the slippy map shows tiles rendered in our "standard" OpenStreetMap style, but you we offer several other [[featured tiles]] as layers to select and to link to.

+

+

* See the [[Browsing]] page for more basic help information on how to use the slippy map and link to it.

+

* See [[Deploying your own Slippy Map]] for different ways of setting up such a map on your own website

+

* See [[OpenLayers]] for the software we are using for "''The'' slippy map" (and how to use it on your own website)

+

* See [[Slippy Map MediaWiki Extension]] for how to embed a slippy map within this wiki.

== Technical details ==

== Technical details ==

-

The slippy map is an [[Wikipedia:Ajax (programming)|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]].

+

The slippy map is an [[Wikipedia:Ajax (programming)|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 the javascript library called [[OpenLayers]].

=== Tile rendering ===

=== Tile rendering ===

-

Rendering is a fairly resource-intensive process. Therefore, the server does not render tiles in real time for each user browsing the map. The tiles are rendered ahead of time and stored on disk. See [[component overview]]

+

The slippy map presents a map image built up of many little square images called "[[tiles]]". These are rendered and served from a "tile server". The process of rendering, going from vector to raster map data, baking style choices into bitmap images, is a fairly resource-intensive process. It can be accomplished by many different [[rendering]] software options. A tile server typically does not render tiles in real time for each user browsing the map. The tiles are rendered ahead of time and stored on disk. Even so, relatively few rendering softwares have a proven track record for serving high traffic regularly updating worldwide maps.

-

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

+

==== OpenStreetMap "Standard" tile server ====

+

[[Mapnik]] is the rendering software used for generating the "standard" OpenStreetMap style. Mapnik also powers many third parties renderings including the [[MapQuest]] open, [[Cycle Map]] and [[Transport Map]] styles which are [[Featured tiles]] shown on the front page slippy map.

-

==== Mapnik tile rendering ====

+

The standard tiles are generated on tile.openstreetmap.org. The OpenStreetMap standard tile server database is updated with minute diffs, so that most data changes should get rendered within a few minutes. In the past this server was updated solely based on a weekly [[Planet.osm]] dump, which is performed on a Wednesday morning (GMT/BST). Imagine having to wait that long to see your map edits appearing? Those were the days! The full planet dump is still imported occasionally to correct any quirks in the applying of diffs.

-

See the [[Mapnik]] page for details of the Mapnik renderer.

-

Mapnik tiles currently are generated on tile.openstreetmap.org. The Mapnik database is updated with minute diffs, so that most data changes should get rendered within a few minutes. This was put in place on 2009-02-09. In the past the Mapnik layer was updated solely based on a 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.

+

The Mapnik rendering for OpenStreetMap is run via an Apache module called [[mod tile]], developed especially for OSM's high-performance needs, which also manages caching and queueing for re-render requests. Every tile has a time stamp for when it was rendered and a dirty flag signifying that it is ready to be rendered again. The renderer follows these rules:

-

-

Mapnik rendering runs as an Apache module called [[mod tile]], developed especially for OSM's high-performance needs.

-

-

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

* Whenever you look at a tile, it's checked if it is older than seven days.

* Whenever you look at a tile, it's checked if it is older than seven days.

Line 23:

Line 22:

** Once it has finished, it queries the list of dirty tiles again.

** Once it has finished, it queries the list of dirty tiles again.

-

Thus if nobody is looking at an area it won't get rerendered often. Tiles are rendered on a (sort-of) interest/attention-first basis. Marking a tile dirty '''does not''' mark all subtiles 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.

+

Thus if nobody is looking at an area it won't get rerendered often. Tiles are rendered on a (sort-of) interest/attention-first basis. Marking a tile dirty does not mark all subtiles as dirty.

-

You can find the status of a tile by getting the URL of the tile (right click and 'get URL for image' or similar):

+

+

If you get 'More OpenStreetMap coming soon...' on a tile, it means there was no data for that tile and the server was not able to render it on-demand. It is now in the queue to be rendered. You can find the status of a tile by getting the URL of the tile (right click and 'get URL for image' or similar):

*
http://tile.openstreetmap.org/7/63/42.png

*
http://tile.openstreetmap.org/7/63/42.png

-

and then add /status on the end:

+

...and then add /status on the end:

* http://tile.openstreetmap.org/7/63/42.png/status

* http://tile.openstreetmap.org/7/63/42.png/status

-

which will tell you its creation time stamp and dirty status.

+

..which will tell you its creation time stamp 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 to the URL:

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

Line 38:

Line 37:

* http://tile.openstreetmap.org/7/63/42.png/dirty

* http://tile.openstreetmap.org/7/63/42.png/dirty

-

==== Osmarender tile rendering (Tiles@Home)====

+

==== 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 at

-

http://www.informationfreeway.org/ – allows users to enqueue [[tiles@home]] rerendering requests for chosen map tiles by hovering over a tile and pressing either "r" or Ctrl, and clicking on the tile.

+

In the past we were offering another featured layer called "Osmarender" which used the [[Osmarender]] rendering system running on a distributed rendering set-up called [[Tiles@home]]. This project was discontinued and the "Osmarender" layer is no longer available, although you can do one-off renders still using [[Osmarender]].

==See also==

==See also==

Show more