What is Mapnik? (archive)

rweait's picture

The terms Mapnik and osmarender can be confusing to OpenStreetMap newcomers. The OSM community uses the term Mapnik to refer to multiple things. osmarender also refers to more than one thing. And if that weren't enough, each of Mapnik and osmarender refer to things that are similar. We can't fix this, but perhaps we can clear it up.

Clear it up might be too lofty a goal. Let's aim to make you aware of the potential for confusion.

Mapnik.org is a web site

Mapnik.org is the web site of the Mapnik project.

Mapnik project is a library

The Mapnik library creates images of maps from map data. It was created by Artem Pavlenko and is maintained by Artem Pavlenko and Dane Springmeyer. The Mapnik project is hosted at the Mapnik.org web site.

So far, so good. This isn't too confusing. Let's continue.

Mapnik tools are OpenStreetMap tools

Separate from the Mapnik project is a set of OpenStreetMap tools, called Mapnik. The OpenStreetMap Mapnik tools make it simpler to use the Mapnik project with OpenStreetMap.

Okay, this is getting a little silly. The OSM Mapnik tools and the Mapnik project are both collections of software. One can understand which is the topic of discussion from context. But stay alert or this one might trick you.

Mapnik layer is a rendering style

Mapnik layer is one of the rendering styles available for visitors to the OpenStreetMap web site. Different layers are selected by the layer menu at the top right of the map. These layers, including the Mapnik layer, are created by assembling smaller square map images into a larger map to suit your browser window. These smaller square images are sometimes called Mapnik tiles. These Mapnik tiles are created in the Mapnik rendering style.

The Mapnik rendering style is a combination of cartography decisions, like motorway colour, primary highway width and which icon to show for a fire station. These cartography decisions are collected in a style file sometimes called Mapnik style, but usually with the file name osm.xml. When people speak of changing the Mapnik style they generally mean making changes to osm.xml.

The Mapnik tiles are created by using almost everything listed above.

The Mapnik library is invoked by the OSM Mapnik tools with information from the Mapnik style file (osm.xml). The result is the Mapnik tiles which are then shown to viewers in their web browser as the Mapnik layer.

Is that all clear to you now? Probably not. When discussing Mapnik, context can be very important.

osmarender is a rendering tool

osmarender v3 rendering of Lower Sunbury by 80n
osmarender is a rule-based rendering tool for generating SVG images of OSM data. osmarender is used in the Tiles @ Home distributed rendering project.

osmarender layer is a rendering style

osmarender is also a rendering style of cartography decisions that is shown as a selectable layer on the OpenStreetMap.org web site. Like, Mapnik, whether osmarender refers to a mapping style, mapping tool, or layer of map tiles is a matter of context. Sorry for the confusion.

So what is the problem?

We're overusing these two terms and confusing newcomers to the OpenStreetMap project. Naming two different presentation layers after the tools that creates them is firmly rooted in Hysterical Raisins. It will likely never change. But it makes as much sense as building two houses and calling one house Clay Brick Company and the other house Aluminum Siding Company.

Back to the tutorials.


Sunbury rendering by 80n http://wiki.openstreetmap.org/wiki/File:LowerSunbury.png
is licensed CC-By http://creativecommons.org/licenses/by/2.0/deed.en

Double Vision image cropped from image by amyelyse http://www.flickr.com/photos/amytakespictures/
Licensed CC-By http://creativecommons.org/licenses/by/2.0/deed.en


This tutorial is one of a series of tutorials for OpenStreetMap beginners. Find more tutorials here.

This article from the archive was originally published on 07/29/2010 - 14:30