Skip to content

BAG verwerking

Jip Claassens edited this page Jun 10, 2026 · 2 revisions

De Basisregistratie Adressen en Gebouwen (BAG) is de belangrijkste bron voor de gebouwde omgeving in het model. Uit de BAG worden panden en verblijfsobjecten (vbo's) afgeleid, inclusief hun gebruiksdoel, oppervlakte, bouwjaar en status. Deze pagina beschrijft hoe de BAG wordt verwerkt: van de ruwe XML-levering van het Kadaster tot de jaarlijkse snapshots waarmee het model rekent.

Het kernidee van de BAG-verwerking is dat niet één momentopname wordt ingelezen, maar de volledige levensloop van elk object: alle statussen en geldigheidsperioden. Daardoor kan het model on-the-fly een snapshot maken van de BAG op elke gewenste peildatum, zonder dat per jaar een aparte BAG-levering nodig is. Dit gebeurt ook daadwerkelijk: voor elk jaar vanaf 2012 tot en met BAG_RecentYear wordt een snapshot per 1 januari gegenereerd.

De verwerkingsketen

LVBAG-extract (XML, Kadaster)
  │
  │  BAG-tools: XML2FSS (buiten RSopen)
  ▼
FSS-bestanden per objecttype          %BAG_DataDir%/<BAG_file_date>/
  │
  │  MaakVolledigeBAG (eenmalig per BAG-levering)
  ▼
VolledigeTabel                        %RSo_DataDir%/Vastgoed/VolledigeTabel_<BAG_file_date>/
  │                                   (pand.mmd, vbo.mmd, nummeraanduiding.mmd, ...)
  │
  │  VolledigeBAG (inlezen + verrijken)
  ▼
On-the-fly snapshots per jaar         BAG/PerJaar/Y2012 ... Y<BAG_RecentYear>
  (peildatum 1 januari)

Stap 1 — Downloaden van de BAG (XML)

Het Kadaster levert de BAG als LVBAG-extract: een verzameling XML-bestanden met daarin álle voorkomens van alle objecten, dus inclusief de volledige mutatiehistorie. Dit extract wordt gedownload en lokaal opgeslagen.

Stap 2 — XML naar FSS: BAG-tools

Met het script XML2FSS uit de BAG-tools (een aparte GeoDMS-configuratie van Object Vision) worden de XML-bestanden omgezet naar FSS-bestanden (het binaire opslagformaat van GeoDMS). Het resultaat staat in %BAG_DataDir%/<BAG_file_date>/, met per objecttype een bestand of — voor de grote objecttypen pand en vbo — een reeks deelbestanden ("filesets": pand/fs_1.fss t/m pand/fs_N.fss). Deze stap valt buiten de RSopen-configuratie.

Stap 3 — MaakVolledigeBAG: de VolledigeTabel genereren

De container MaakVolledigeBAG leest de FSS-deelbestanden in, voegt ze samen tot één tabel per objecttype, vereenvoudigt de geometrieën en schrijft het resultaat weg als de VolledigeTabel. Deze stap hoeft maar één keer per BAG-levering te draaien. Zie VolledigeBAG voor de details.

Stap 4 — VolledigeBAG: inlezen en verrijken

De container VolledigeBAG leest de VolledigeTabel in en leidt per record attributen af, waaronder:

  • status_rel: koppeling van de statusstring aan de statusclassificatie (zie BAG statussen en voorraad);
  • Begindatum / Einddatum: de geldigheidsperiode van het voorkomen, als yyyymmdd-getal;
  • IsVoorraad: telt dit object mee in de voorraad volgens de CBS-definitie?
  • Bouwjaar_trunc: bouwjaar, getrunceerd (implausibele bouwjaren ≤ 1005 worden null, bouwjaren vóór 1500 worden 1500);
  • Footprint: pandoppervlakte op maaiveldniveau (m²);
  • gebruiksdoel-vlaggen per vbo (zie hieronder);
  • selectiecondities: alleen records met een geometrie binnen de bounding box van Nederland, panden met een omvang kleiner dan 1×1 km, en binnen het gekozen studiegebied (ModelParameters/StudyArea).

Belangrijk: één pand of vbo kan in deze tabel meerdere records hebben — elk voorkomen (elke statuswijziging) is een eigen record met een eigen geldigheidsperiode. Dat is precies wat de on-the-fly snapshots mogelijk maakt.

Stap 5 — Snapshots per jaar

De container BAG/PerJaar maakt via het template PerJaar_T voor elk jaar een snapshot met als peildatum 1 januari. Een record telt mee in het snapshot van jaar JJJJ als:

Begindatum < JJJJ0101  &&  Einddatum >= JJJJ0101

Per jaar worden drie selecties gemaakt, voor zowel panden als vbo's:

Selectie Aanvullend criterium Gebruik
pand / vbo ("Voorraad") IsVoorraad De voorraad volgens de CBS-definitie. Dit is de hoofdselectie waar de startstaat, geschiktheden en de meeste analyses op draaien.
pand_alle_statussen / vbo_alle_statussen geen (alle statussen) Identificatie van objecten in aanbouw of gevormd, t.b.v. BAG nieuwbouw.
pand_alle_statussen_toekomst / vbo_alle_statussen_toekomst Begindatum >= JJJJ0101 (in plaats van <) Voorkomens die pas ná de peildatum geldig worden: verleende bouw- en sloopvergunningen. Ook t.b.v. BAG nieuwbouw.

Welke statussen wel en niet tot de voorraad horen staat uitgewerkt op BAG statussen en voorraad.

Afgeleiden per snapshot

Binnen elk jaarsnapshot worden vervolgens de modelrelevante grootheden berekend:

  • Woonpandtype (WP5): op basis van de pandgeometrie (buurpanden) en het aantal woon-vbo's wordt elk pand getypeerd als vrijstaand, twee-onder-één-kap, hoekwoning, tussenwoning of appartement (AfleidingPandType, in SourceData/Vastgoed/BAG/AfleidingPandtype.dms). Hieruit worden de grovere indelingen WP4/WP3/WP2/WP1 afgeleid.
  • Gebruiksdoelen: een vbo kan meerdere van de elf BAG-gebruiksdoelen hebben; deze worden opgeslagen als bitmask (functie_code). Het dominante gebruiksdoel volgt de CBS-methodiek: heeft het vbo een woonfunctie, dan woon; anders bij precies één utiliteitsfunctie die functie; bij meerdere utiliteitsfuncties utiliteit_combi. Aanvullend kent RSopen de categorie Logistiek (op basis van een aparte pandenlijst) en wordt voor panden zonder vbo (loodsen, kassen) het gebruiksdoel afgeleid uit ligging op IBIS-bedrijventerreinen of BRT-glastuinbouw.
  • Oppervlaktes en counts: vbo-oppervlakte per pand, footprint per gebruiksdoel, aantallen vbo's per pand en per gridcel.
  • Uitsmeermatrix: een toedelingsmatrix die panden verdeelt over de 25m-gridcellen die ze overlappen (Uitsmeer_key.dms), zie de uitleg bij BAG nieuwbouw in details.

Sturende parameters

Parameter Locatie Betekenis
BAG_file_date ModelParameters.dms Welke BAG-levering (bestandsdatum, yyyymmdd) wordt gebruikt; bepaalt de map VolledigeTabel_<datum>.
BAG_RecentYear ModelParameters.dms Het meest recente jaar waarvoor een snapshot wordt gemaakt; tevens het "recentste jaar" in het BAG-nieuwbouwmechanisme.
BAG_DataDir ConfigSettings.dms Map met de FSS-bestanden uit BAG-tools (bron voor MaakVolledigeBAG).
StudyArea ModelParameters.dms Studiegebied-selectie; alleen objecten binnen dit gebied worden meegenomen.

Gebruik in het model

De jaarsnapshots worden op veel plekken gebruikt, onder andere:

  • de startstaat voor wonen en verblijfsrecreatie (snapshot van Model_StartYear);
  • het BAG-nieuwbouwmechanisme, dat het snapshot van het modeljaar vergelijkt met dat van BAG_RecentYear;
  • geschiktheidskaarten (o.a. nabijheid detailhandel, monumentale panden, sloopkosten);
  • de eigendomsstaat (verdeling vrije sector / sociale huur) en de koppeling met LISA-banen.

Relevante bronbestanden

Bestand Rol
SourceData/Vastgoed/BAG.dms Hoofdbestand: VolledigeBAG (inlezen VolledigeTabel) en PerJaar (snapshots via PerJaar_T)
SourceData/Vastgoed/BAG/MaakVolledigeBAG.dms Genereert de VolledigeTabel uit de FSS-bestanden van BAG-tools
SourceData/Vastgoed/BAG/AfleidingPandtype.dms Afleiding woonpandtype (WP5) per snapshot
SourceData/Vastgoed/BAG/Uitsmeer_key.dms Toedelingsmatrix pand → gridcellen
Classifications/Vastgoed/BAG.dms Statusclassificaties, voorraad-vlaggen, gebruiksdoelen, WP-indelingen

Clone this wiki locally