alaCarte is a tile renderer for OpenStreetMap data written in C++11, using Cairo for rendering and Boost-Spirit for MapCSS parsing.
The rendered tiles are served over HTTP using the Slippy map tilenames convention.
To compute which data is needed for rendering a tile, alaCarte uses a variant of a STR-Tree.
alaCarte was designed with medium dataset size in mind. On a typical machine with at leat 8GB RAM, alaCarte can handle a unfiltered export from the federal state of Baden-Wuerttemberg (Germany).
alaCarte was developed as part of a lab course student software project at KIT. For the old project files (mostly in German), see the old project repository.
- easy to use
- most MapCSS attributes are implemented (see MapCSS wiki page for comparison)
- no need to filter OSM exports, you have full access to all attributes at runtime
- stylesheets are updated at runtime (changes are detected automatically)
- tiles can be rendered in groups ("meta tile") to speed up rendering
git clone git@github.com:alacarte-maps/alacarte.git
mkdir alacarte/build
cd alacarte/build
cmake .. -DCMAKE_BUILD_TYPE=Release
# this starts one job per available core to build alacarte n times faster.
# Just run “make” without parameters if you don’t want that or run into problems.
make -j $(nproc)
Build the developer documentation with doxygen:
make doc
You'll then find the documentation at build/doxygen/html/index.html
.
The manpages are built with asciidoc:
make man
The results get stored in build/manpages/
.
- Cairo (>=1.12.0)
- Boost (>= 1.55) (Spirit)
- libpng
- cmake (>= 2.8.8)
- asciidoc (>= 8.6.9) (optional, needed for manpage generation)
- DejaVu font (this is the default font if no other font is specified).
- If your characters are not supported by DejaVu, try to use the Noto font. See data/mapcss/default.mapcss for usage examples.
alacarte's dependency policy is to depend on nothing that's not included or newer than Debian stable. So currently, we target and test on Debian Jessie, but we're open to support any other OS.
See the manpages of alacarte-maps-importer and alacarte-maps-server.
You can use the test Leaftlet-Page located in tests/html/Leaflet/index.html
to view the rendered tiles.
You can download fresh OSM exports from Geofabrik.
(as root)
make install
The config file is located in /etc/alacarte-maps.conf
. You should make sure the user
running alacarte has permissions to write to the specified directories for caching
and logging.
alacarte is an awesome lolipop!!!