|Original author(s)||Artem Pavlenko|
|Developer(s)||The Mapnik Contributors|
3.0.20 / April 20, 2018
Mapnik is an open source mapping toolkit for desktop- and server-based map rendering, written in C++. Artem Pavlenko, the original developer of Mapnik, set out with the explicit goal of creating beautiful maps by employing the sub-pixel anti-aliasing of the Anti-Grain Geometry (AGG) library. Mapnik now also has a Cairo rendering backend. For handling common software tasks such as memory management, file system access, regular expressions, and XML parsing, Mapnik utilizes the Boost C++ libraries. An XML file can be used to define a collection of mapping objects that determine the appearance of a map, or objects can be constructed programmatically in C++, Python, and Node.js.
A number of data formats are supported in Mapnik using a plugin framework. Current plugins exist that utilize OGR and GDAL to read a range of vector and raster datasets. Mapnik also has custom Shapefile, PostGIS and GeoTIFF readers. More data access plug-ins will be available in the future. There is also an osm2pgsql utility, that converts OpenStreetMap data into a format that can be loaded into PostgreSQL. Mapnik can then be used to render the OSM data into maps with the appearance the user wants.
Mapnik is a cross platform toolkit that runs on Windows, Mac, Unix-like systems like Linux and Solaris (since release 0.4).
One of its many users is the OpenStreetMap project (OSM), which uses it in combination with an Apache Web Server module (mod_tile) and openstreetmap-carto style to render tiles that make up the OSM default layer. Mapnik is also used by CloudMade, MapQuest, and MapBox.
Mapnik is free software and is released under LGPL (GNU Lesser General Public Licence).