Traffic sign project: 4000 Flemish traffic signs waiting to be mapped

In Flanders, all traffic signs are open data. This information is hugely useful. Well, it could be. Most of the traffic signs date from several years back and have not been updated since. The Flemish project intends to change that. Municipality by municipality, we see updates starting to happen. Several of them have done a complete update, or at least do occasional additions.

In a perfect world, when the municipality decides to change a traffic situation (a new speed limit, a new one-way restriction,…), they start to work in this database. First there’s a planned sign. Then when it is installed, it becomes a real sign. The real sign is offered to the OSM mapping community (and Waze, TomTom, Here, …) and they add the info to the affected street - almost in real time.

We’re not quite there just yet, but the edits in the database that do happen are still useful. Obviously because it makes for a better map. Less obviously because it saves everyone a lot of time. We often get a mail from municipalities: “hey, we have changed reality, can you now change your map”. Imagine being able to answer: oh we know, we already updated it!

So we’ve built a tool in good Road Completion tradition to make sure that if the government provides the data, we can guarantee that we’ll be up to date. This in turn might be a little incentive for more municipalities to keep their bit of the database online. Just like in Road Completion, we “accidentally review” the government data as well. When we map traffic signs, we spot errors. Often user error, sometimes logical errors. These can then help municipalities improve their data quality or even local reality. OSM data users will be able to see our backlog - they won’t have to trust us on our word.

In practice

Thanks to support from TomTom, we have a working version online. We can trigger a Github Action that does an update totally automatically. We have manually run this in July of 2023 and have 4000 signs waiting to be mapped! We will soon schedule automatic updates as well.

What happens:

  • we download all the signs using the WFS
  • we enrich the data with information about its name and effects. This is harvested from the JOSM plugin for traffic signs
  • we keep only traffic signs that are “interesting” to us. For example, the traffic sign to say “you are on a priority road” has no effect on an OSM road. The sign “give way” does.
  • we keep only traffic signs that are new since the previously processed dump. The weekly dumps don’t actually work right now, so we just used the date of installation. Note that we will also have a look at removed traffic signs in further trials
  • at the end of the process, a GeoJSON with relevant signs is put online. This is then harvested by MapRoulette

The task is available at MapRoulette . Please read the instructions carefully, and give it a shot. Make sure to select “nearby” not “random” when going to the next task; because you might end up mapping the effects of several nearby signs. Mapillary imagery might often be outdated with this hyper recent stuff. Please leave a comment if there is something wrong with the traffic sign data or if you have other remarks. Please refer to the wiki to learn which tags are associated with which traffic sign.

The code is available on Github. You can also post issues there.
A full project text is available on

De nieuwe borden zijn nog eens toegevoegd - er zijn terug 4000 borden te mappen!
Voor de liefhebbers: je kunt nu ook alle Vlaamse borden als een handige CSV downloaden via Fetch New Signs · osmbe/traffic-sign-project@6d7940f · GitHub


We have :smile: