Mapnik
   HOME

TheInfoList



OR:

Mapnik is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
mapping toolkit for desktop and server based map rendering, written in
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
. Artem Pavlenko, the original developer of Mapnik, set out with the explicit goal of creating beautiful mapsBeautiful Maps as an explicit goal in the Mapnik FAQ
/ref> by employing the sub-pixel anti-aliasing of the
Anti-Grain Geometry Anti-Grain Geometry (AGG) is a 2D rendering graphics library written in C++. It features anti-aliasing and sub-pixel resolution. It is not a graphics library, per se, but rather a framework to build a graphics library upon. The library is opera ...
(AGG) library. Mapnik now also has a
Cairo Cairo ( ; ar, القاهرة, al-Qāhirah, ) is the capital of Egypt and its largest city, home to 10 million people. It is also part of the largest urban agglomeration in Africa, the Arab world and the Middle East: The Greater Cairo metro ...
rendering backend. For handling common software tasks such as memory management,
file system In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one larg ...
access, regular expressions, and XML parsing, Mapnik utilizes the
Boost C++ libraries Boost is a set of libraries for the C++ programming language that provides support for tasks and structures such as linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions, and unit testing. It conta ...
. An
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
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 Node.js is an open-source server environment. Node.js is cross-platform and runs on Windows, Linux, Unix, and macOS. Node.js is a back-end JavaScript runtime environment. Node.js runs on the V8 JavaScript Engine and executes JavaScript code o ...
.


Data format

A number of data formats are supported in Mapnik using a plugin framework. Current plugins exist that utilize OGR and
GDAL The Geospatial Data Abstraction Library (GDAL) is a computer software library for reading and writing raster and vector geospatial data formats (e.g. shapefile), and is released under the permissive X/MIT style free software license by the Ope ...
to read a range of vector and raster datasets. Mapnik also has custom
Shapefile The shapefile format is a geospatial vector data format for geographic information system (GIS) software. It is developed and regulated by Esri as a mostly open specification for data interoperability among Esri and other GIS software product ...
,
PostGIS PostGIS ( ) is an open source software program that adds support for geographic objects to the PostgreSQL object-relational database. PostGIS follows the Simple Features for SQL specification from the Open Geospatial Consortium (OGC). Technicall ...
and GeoTIFF readers. There is also an osm2pgsql utility, that converts
OpenStreetMap OpenStreetMap (OSM) is a free, open geographic database updated and maintained by a community of volunteers via open collaboration. Contributors collect data from surveys, trace from aerial imagery and also import from other freely licensed g ...
data into a format that can be loaded into
PostgreSQL PostgreSQL (, ), also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. It was originally named POSTGRES, referring to its origins as a successor to the In ...
. 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 A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
systems like Linux and Solaris (since release 0.4).


Usage

One of its many users is the
OpenStreetMap OpenStreetMap (OSM) is a free, open geographic database updated and maintained by a community of volunteers via open collaboration. Contributors collect data from surveys, trace from aerial imagery and also import from other freely licensed g ...
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.OpenStreetMap's main Slippy Map layer
/ref> Mapnik is also used by CloudMade,
MapQuest MapQuest (stylized as mapquest) is an American free online web mapping service. It was launched in 1996 as the first commercial web mapping service. MapQuest vies for market share with competitors such as Google Maps and Here. History MapQuest's ...
, and
MapBox Mapbox is an American provider of custom online maps for websites and applications such as Foursquare, Lonely Planet, the ''Financial Times'', The Weather Channel, Instacart Inc. and Snapchat. Since 2010, it has rapidly expanded the niche of cus ...
.


License

Mapnik is free software and is released under
LGPL The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
(GNU Lesser General Public Licence).


References


External links

* {{OpenStreetMap Distributed computing projects Free GIS software Free software programmed in C++ Free-content websites Geographic information systems OpenStreetMap Web Map Services Web mapping