As last official act of the last semester, we finally could publish our map renderer as AGPL-licensed open source software. Yay!
What is alaCarte?
Let me just quote the release announcement we sent to the OpenStreetMap talk-de mailing list:
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 tilename convention. (As you can see on the right.)
To compute which data is needed for rendering a tile, alaCarte uses a variant of a kd-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 student software project at KIT.
We have a live demo, you can check out the code at github and if you speak German you can view the slides of the finishing presentation of the project I held together with Simon.
I must say I’m glad that we had this specific project. Not only that I learned much about C++ (and why to value Qt), as most other projects were written in Java, this is also one of the very few projects which ended in a result that I can explain or just show to non-technical people.
And finally, the project is, in a way, something that’s actually useful.
Just now after the release, most of us take their time to work on another project of theirs as there was barely time to do that during the last semester, but I’m sure some of us will return to alaCarte and continue to work on it.
Additionally, there’s a similar student lab course module in a few semesters, when we go four our master degree.
Chances are that we take it again and do alaCarte right with all the lessons from the first implementation and all new algorithms and data structures we will have learned by then, reduce the memory footprint and speed it up by an order of magnitude, like our supervisors said. Let’s see! :)