Recently, I got the challenge to get all postal codes in Belgium. Turns out that there is no open dataset available to do this (yet).
OpenStreetMap already got me a long way (hooray!) but Wallonia is still a bit… lacking and has big holes. Time to fix this!
(Of course, I also setup a MapComplete theme with the postal codes)
So, after some talk on Matrix, I downloaded an Open Address dataset (with postal codes) of Wallonia. A few scripts later, I had a geojson of addresses for every postal code, which I then could run through a convex hull algorithm, getting the boundaries of each postal code with an open license…
The last step is to get these outlines integrated into OSM. While it is quite fun to map, adding a few hundred of them is a bit too much work, which is why I’m asking you all for some help. If you have experience with JOSM and have spare time, please, pick out a few postal code boundaries and add them.
How to add a postal code boundary
- Grab the dataset over here
- Load the data into JOSM
- Download the OSM-boundary data of the relevant area (e.g. with the ‘query overpass’-mode in the download field)
- Create a multipolygon-relation, reusing already existing border lines of create a new line alltogether. It is discouraged to use the actual geometry, as they can be jittery and jump from address point to address point. The tagging for a postal code boundary relation is:
type=boundary; boundary=postal_code; postal_code=*. Alternatively, if a postal code aligns 100% with an administrative boundary, one can also add
- Upload the data
addr:postcode or addr:postalcode are incorrect for this purpose - there are still a few boundaries of those out there, but I’m gradually cleaning them up.