Grandine: Vector Tiles, Summary March 2017

Some of you already might know that I am in the lucky, but stressful position of being funded for six months to work on Vector Tile related infrastructure. This is coming from Prototype Fund, a fairly new initiative by the Open Knowledge Foundation Germany and the German Ministry for Education and Research.

Warning: This blog post might contain information that is only relevant to myself.


When I saw the call for projects last year I wished to be able to work on Vector Tiles without other distractions. At that moment I just imagined to put together some existing bits and pieces, simplify the setup, improve and speed-up some software, write documentation. In short: Make hosting Vector Tiles painless and reproducible.

Due to unexpected free time last year I have been able to experiment around with existing software and dig deeper into existing solutions. When it became clear that I would be selected for Prototype Fund, I started talking more about the future. What started to became clear: Just putting together pieces would not be enough and possibly just a waste of valuable time that could be used to improve things and swap out unnecessary components.

Quickly I reached into the conclusion that we needed to form a bigger network. Start to talk with people who do maps for a long time and find out what they need and expect. We would need more people that are willing to push it further. To make it a sustainable effort and not just a temporary project.


I got into conversations with people and discussed about needs and possible solutions. Most notably I have talked about:

  • Localization of names
  • Simplification and generalization
  • Generation of bitmap tiles from vector tiles
  • Transitioning bitmap styling into vector tiles
  • Vector Tile schemas
  • Operational aspects/hosting

Furthermore I have been doing experiments with Tilemaker, which has a desirable approach of not needing a database, but unfortunately is rather slow when confronted with any larger dataset. Nevertheless it enabled me to generate maps of the German railway system, which will be published in a journal soon.

Additionally I was able to travel to FOSSGIS Conference and give a talk about rendering techniques. This has been a great opportunity to talk about relevant innovation and for forming a network around the project.

Even though the project mostly consisted of talking and thinking, there has been some first source code: In order to be able to create rich pipelines for transforming OpenStreetMap data into flexible, high quality Vector Tiles, there is the necessity for a geo data format which can be passed between applications. Because we are talking about datasets with several gigabytes of size, it needs to be small and efficient to read and write. This is still a draft and work in progress. Please don’t use it at the moment, as it will probably change several times before there is a first release.


To be honest, at the moment I don’t exactly know which goals will be reached after six months, but I am optimistic and highly motivated. There is a lot to work on. Stay tuned.