| CARVIEW |
Select Language
HTTP/2 301
server: GitHub.com
content-type: text/html
location: https://mapnik.org/
x-github-request-id: 5AD2:26A2B2:A2F6F:BCE05:69731084
accept-ranges: bytes
age: 0
date: Fri, 23 Jan 2026 06:09:10 GMT
via: 1.1 varnish
x-served-by: cache-bom-vanm7210085-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1769148551.647223,VS0,VE205
vary: Accept-Encoding
x-fastly-request-id: 638860c5c7d192f7b3610903c14e3b4df35ac545
content-length: 162
HTTP/2 200
server: GitHub.com
content-type: text/html; charset=utf-8
last-modified: Tue, 30 Dec 2025 09:27:16 GMT
access-control-allow-origin: *
etag: W/"69539af4-3d64"
expires: Fri, 23 Jan 2026 06:19:11 GMT
cache-control: max-age=600
content-encoding: gzip
x-proxy-cache: MISS
x-github-request-id: 0E7E:200853:A1B5A:BBA7C:69731086
accept-ranges: bytes
age: 0
date: Fri, 23 Jan 2026 06:09:11 GMT
via: 1.1 varnish
x-served-by: cache-bom-vanm7210055-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1769148551.923313,VS0,VE224
vary: Accept-Encoding
x-fastly-request-id: a6caf2aff0f9f96eea1709558212d342cc0ddf07
content-length: 3362
Mapnik.org - the core of geospatial visualization & processing
mapnik
the core of geospatial visualization & processing
mapnik combines pixel-perfect image output with lightning-fast cartographic algorithms, and exposes interfaces in C++, Python, and Node.
code in your language
mapnik's high-quality bindings let's you choose from Node.js, Python, and C++.
- Python
- Node
- C++
import mapnik
m = mapnik.Map(256,256)
mapnik.load_map(m, "path/to/file.xml")
m.zoom_all()
mapnik.render_to_file(m, "the_image.png")var mapnik = require("mapnik");
var fs = require("fs");
mapnik.register_default_fonts();
mapnik.register_default_input_plugins();
var map = new mapnik.Map(256, 256);
map.load("./test/stylesheet.xml", function(err, map) {
map.zoomAll();
var im = new mapnik.Image(256, 256);
map.render(im, function(err, im) {
im.encode("png", function(err, buffer) {
fs.writeFile("map.png", buffer);
});
});
});#include <mapnik/map.hpp>
#include <mapnik/load_map.hpp>
#include <mapnik/agg_renderer.hpp>
#include <mapnik/image.hpp>
#include <mapnik/image_util.hpp>
main()
{
mapnik::Map m(256,256);
mapnik::load_map(m, "path/to/file.xml");
m.zoom_all();
mapnik::image_rgba8 im(256,256);
mapnik::agg_renderer<mapnik::image_rgba8> ren(m, im);
ren.apply();
mapnik::save_to_file(im, "the_image.png");
}style with a stylesheet
Only a single XML stylesheet for your map, regardless of the code binding.
XML Configuration
<Map background-color="blue" srs="+init=epsg:4326">
<Style name="My Style">
<Rule>
<PolygonSymbolizer fill="#f2eff9" />
<LineSymbolizer stroke="rgb(50%,50%,50%)" stroke-width="0.1" />
</Rule>
</Style>
<Layer name="world" srs="+init=epsg:4326">
<StyleName>My Style</StyleName>
<Datasource>
<Parameter name="file">path/to/shapefile.shp</Parameter>
<Parameter name="type">shape</Parameter>
</Datasource>
</Layer>
</Map>above all else, beautiful maps
