Mapnik

Mapnik is an open source mapping toolkit, written in C++ and useful for both desktop and server based map rendering. One of its many users is the OpenStreetMap project (OSM) which uses it in combination with an Apache Web Server module (mod_tile) to render tiles that make up the OSM 'Slippy Map' Layer. An XML file can also be used to define a collection of mapping objects that determine the appearance of a map, or objects can be constructed programatically in C++ or Python. Artem Pavlenko, the original developer of Mapnik, set out with the explicit goal of creating beautiful maps by employing the subpixel anti-aliasing of the Anti-Grain Geometry (AGG) library. Mapnik now also has a powerful cairo graphics rendering backend. When it comes to handling common software tasks such as memory management, file system access, regular expressions, and XML parsing, Mapnik utilizes the Boost C++ Libraries.

Data Format
A number of data formats are supported in Mapnik using a plug-in framework. Current plug-ins exist that utilize OGR and GDAL to read a range of vector and raster datasets. Mapnik also has custom ESRI Shapefile, PostGIS and TIFF 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 you want.

Platforms
Mapnik is a cross platform toolkit that runs on Windows, Mac, and Linux (since release 0.4). Users commonly run Mapnik on Mac 10.4.x - 10.5.x (Intel only), as well as the Debian/Ubuntu, Fedora, OpenSuse Linux distributions and FreeBSD.

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