Mapnik

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.

Data format
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. 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.

Platforms
Mapnik is a cross platform toolkit that runs on Windows, Mac, Unix-like systems like Linux and Solaris (since release 0.4).

Usage
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.

License
Mapnik is free software and is released under LGPL (GNU Lesser General Public Licence).