Home / Blog / Postcodekaart van Nederland genereren vanuit de BAG

Postcodekaart van Nederland genereren vanuit de BAG

Posted on

Dit artikel beschrijft een methode om postcodegebieden te genereren door gebruik te maken van open data en open source software.

Op zoek naar postcodegebieden

Een tijdje terug was ik op zoek naar postcodegebieden om allerlei gegevens aan te kunnen koppelen. Helaas bleken deze gebieden alleen tegen betaling beschikbaar. Echter, de BAG (Basisregistratie Adressen en Gebouwen) is beschikbaar als open data en laat die nou ook postcodes bevatten.

Als echte Hollander ging ik dus op zoek naar een manier om de postcodegebieden gratis en voor niets uit de BAG te genereren. Zoals Gert-Jan van der Weijden schreef op zijn blog, is na het faillisement van Bridgis er veel interesse vanuit zowel de open source gemeentschap als de grote commerciele partijen om postcodegebieden te generen via open data.

Daarom leek me de tijd rijp om mijn experimenten om postcodegebieden met jullie te delen. Ik hoop dan ook op jullie feedback om de methode verder te kunnen verfijnen.

Van BAG-panden naar postcodegebieden

Om te beginnen hebben we natuurlijk het BAG-bestand nodig. Gelukkig leggen onze vrienden van NLExtract stap voor stap uit hoe je de BAG in een PostGIS database krijgt. Een mooie bijkomstigheid is dat ze ook een script meeleveren die adressen uit de BAG genereert, inclusief postcodes. Die kunnen we dus mooi gebruiken als uitgangspunt voor onze postcodegebieden. Als testgebied heb ik mijn woonplaats Pijnacker-Nootdorp gepakt.

Driehoekjes tekenen (Voronoi-analyse)

Zodra je de adrespunten hebt, kun hier een voronoi-analyse op los laten. Bij een voronoi-diagram wordt een loodrechte lijn getrokken precies in het midden van 2 punten. Deze lijnen vormen tenslotte vlakken rondom ieder adrespunt en het vlak kun je de eigenschappen van dat adrespunt meegeven. Waaronder dus de postcode. Het resultaat zie je hieronder. BAG_postoces_TIN

Van driehoekjes naar postcodegebieden (dissolve)

Om de postcodegebieden vervolgens te genereren hoef je alleen nog de voronoi-vlakken samen te voegen via de postcode (dissolve). Uiteindelijk krijg je dan het volgende resultaat, waarbij ieder vlak een postcodegebied voorstelt.

postcodegebieden

Probeer het zelf!

Ik heb de bovenstaande analyse uitgevoerd met zowel QGIS als ArcGIS. Via GitHub kun je een QGIS-model downloaden waarmee je het zelf uit kunt proberen. Je kunt het model toevoegen in QGIS door in het ‘Processing Toolbox’ panel te kiezen voor “Add model from file” (zie afbeelding hieronder).

add_model_qgis

Beperkingen

Via deze methode kun je snel postcodegebieden genereren. Echter er zitten een paar beperkingen aan deze methode, namelijk:

  • het houdt geen rekening met de loop van wegen, watergangen, grote gebouwen e.d.. Hierdoor lopen de lijnen van de postcodegebieden soms dwars door de stedelijke infrastructuur. N.B. bij het ‘oorspronkelijke’ postcodegebiedenbestand dit ook het geval.
  • de methode is vooral geschikt om postcodegebieden van 1 gemeente te bepalen. Om het van heel Nederland te doen, moet nog een extra stap ingevoegd worden die rekening houdt met de gemeentegrenzen. Een postcodegebied kan namelijk niet in meerdere gemeenten liggen.
  • de methode gaat er nu vanuit dat de BAG perfect wordt bijgehouden. Er zitten echter regelmatig fouten in de BAG. Daardoor ontstaan soms vreemde gekartelde gebiedjes binnen gebouwen omdat deze adressen bevatten met verschillende postcodes.

Al met al ben ik tevreden met de eerste resultaten, maar er zijn dus nog een paar verbeterpunten. Ik ben erg benieuwd of je iets aan deze methode hebt, of dat je misschien een betere manier weet om postcodegebieden te bepalen. Laat het me weten door hieronder een reactie achter te laten.

4 thoughts on “Postcodekaart van Nederland genereren vanuit de BAG

    1. Mark

      dank voor je reactie. helaas werkt het niet bij mij. ik krijg geen extra model te zien nadat ik het bestand heb toegevoegd zoals jij hebt aangegeven. heb geprobeert qgis af te sluiten en daarna weer op te starten, maar ook dat hielp niet.

      1. Ha Marcel. Vreemd dat het niet werkt. Ik heb het model gemaakt op een Mac, maar ik heb hem net zonder problemen toegevoegd onder windows. Ik gebruik momenteel QGIS 2.6.1. Gebruik jij misschien een oudere versie?

  1. Ik heb de beschreven werkwijze gevolgd met QGIS voor een 6-positiekaart en dat geeft al een heel aardig resultaat.
    Ik moest nog wel eerst de verblijfsobjecten uitfilteren zonder postcode. En ik heb de gebieden geclipt op de gemeentegrens. Wat op valt is dat er niet altijd aaneengesloten gebieden mogelijk zijn. Toch voldoet dit wel voor visualiseren van gegevens.
    Ik heb het model nog niet getest, want ik heb een rechtstreekse export vanuit onze BAG-applicatie gebruikt. Dat scheelde het inrichten van een PostGIS-database.
    Ik ben heel benieuwd naar nieuwe ontwikkelingen, bijvoorbeeld voor het maken van een landelijke kaart.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Top