Magnacarto is a CartoCSS map style processor that generates Mapnik XML and MapServer map files.
Magnacarto is a CartoCSS map style processor that generates Mapnik XML and MapServer map files.
It is released as open source under the Apache License 2.0.
The development of Magnacarto is sponsored by Omniscale and development will continue as resources permit. Please get in touch if you need commercial support or if you need specific features.
There are binary releases available for Windows, Linux and Mac OS X (Darwin): http://download.omniscale.de/magnacarto/rel/
First create a
GOPATHdirectory for all your Go code, if you don't have one already:
mkdir -p go cd go export GOPATH=`pwd`
Then you need to enable GO15VENDOREXPERIMENT, if you are using Go 1.5. You can skip this if you are using 1.6 or higher:
export GO15VENDOREXPERIMENT=1
Next you can fetch the source code and build/install it:
go get -u github.com/omniscale/magnacarto cd $GOPATH/src/github.com/omniscale/magnacarto make install
The web-frontend of Magnacarto can render map images with Mapserver and Mapnik.
The Mapserver plugin is already included in the default
magnaservinstallation and it requires the
mapservbinary in your
PATHon runtime.
The Mapnik plugin needs to be compiled as an additional binary (
magnacarto-mapnik). You need to have Mapnik installed with all header files. It supports Mapnik 2.2 and 3.0. Make sure
mapnik-configis in your
PATH. Call
make installto build the plugin binary.
magnacartotakes a single
-mmlfile.
magnacarto -mml project.mml > /tmp/magnacarto.xml
To build a MapServer map file:
magnacarto -builder mapserver -mml project.mml > /tmp/magnacarto.map
See
magnacarto -helpfor more options.
Magnaserv is a web-frontend for Magnacarto. Make sure the
./appdirectory is in your working directory or next to the
magnaservexecutable.
To start magnaserv on port 7070:
magnaserv
Magnaserv will search for .mml files in the current working directory or in direct sub-directories.
To start magnaserv on port 8080 with the Mapserver plugin enabled:
magnaserv -builder mapserver -listen 127.0.0.1:8080
You can configure the location of stylings, shapefiles or images, and database connection parameters with a configuration file. See
example-magnacarto.tml:
magnaserv -builder mapserver -config magnacarto.tml
See docs/examples for example files and usage instructions.
Refer to the Carto project for documentation of the CartoCSS format.
Refer to the following CartoCSS projects for larger .mml and .mss examples.
Please note that openstreetmap-carto relies on a few advanced Mapnik features that are not supported by Mapserver. Future versions of Magnacarto might work around these limitations.
Please use GitHub for questions: https://github.com/omniscale/magnacarto/issues
For commercial support contact Omniscale.
The latest developer documentation can be found here: http://godoc.org/github.com/omniscale/magnacarto
The source code is available at: https://github.com/omniscale/magnacarto/
You can report any issues at: https://github.com/omniscale/magnacarto/issues
go test -short ./...
There are regression tests that generate Mapnik and MapServer map files, renders images and compares them. These tests require Image Magick (
compare) and MapServer >=7 (
shp2img).
go test ./...