Skip to content

Koppeling met RuimteScanner

Jip Claassens edited this page Aug 17, 2026 · 2 revisions

De RuimteScanner (repo RSopen) is de zwaarste afnemer van deze pipeline. Deze pagina beschrijft wat er precies overgaat, welke schakelaars er aan de RS-kant zitten, en wat er tussen beide repo's synchroon moet blijven.

De RS-kant van hetzelfde verhaal staat op Hedonisch woningprijsmodel in de RSopen-wiki: daar staat de prijsfunctie zelf, de variabelenkeuze, en per toepassing hoe de functie wordt ingevuld.

Wat de RuimteScanner ermee doet

De coëfficiënten worden op drie manieren gebruikt:

Toepassing Wat het model doet RSopen-wiki
Verwervingskosten Prijsfunctie invullen met de bestaande BAG-voorraad per cel; kostenpost in het exploitatiesaldo, en indicator voor uitkoop van nieuwe natuur Geschiktheid, Uitkoop en sloopkosten nieuwe natuur
Nieuwbouwopbrengsten Prijsfunctie invullen met de kenmerken van een ontwikkelpakket, per cel; opbrengstenpost in het exploitatiesaldo Uitwerking wonen, Woningwaarde nieuwbouw
Waardering groenverandering Alleen de twee groenblauwtermen, toegepast op het verschil tussen basisjaar en zichtjaar Woningwaarde agv groenveranderingen

Belangrijk voor het begrip van de eisen hieronder: de eerste twee toepassingen sturen de allocatie (ze bepalen waar gebouwd wordt), de derde evalueert de uitkomst. De prijsfunctie is in RSopen dus geen naschrift maar een van de motoren van het model.

Welke bestanden overgaan

Bestand Waar geproduceerd Wat RSopen ermee doet
Estimates_<tag>_rs_groen_<type>.csv R-pipeline stap 5 Coëfficiënten per woningtype, ingelezen in BaseData/Suitabilities/Wonen/PrijsIndex
NVM_Regiokarakteristieken_<tag>/WP4/<type>_<kenmerk>.tif Regiokarakteristieken Invullen van kenmerken die niet in de BAG staan (perceel, kamers, onderhoud, hoogbouw)
NVM_Nationalekarakteristieken_<tag>/WP4.fss idem Landelijke terugval waar de regionale waarde onbruikbaar is

De RuimteScanner leest de rs_groen-set. De redev-set (zonder groentermen) is voor het densification-paper, de overige specs zijn sensitiviteiten. Zie R-pipeline voor de volledige speclijst.

Schakelaars aan de RS-kant

In cfg/main/BaseData/Suitabilities/PrijsIndex.dms:

Parameter Huidige waarde Betekenis
ModelParameters/NVM_filedate 20260711 Welke versietag van de coëfficiëntenbestanden wordt gelezen. Komt overeen met cfg$tag hier
ModelParameters/NVM_coeff_Year 2023 Welke transactiejaar-dummy als prijspeil geldt

Het prijspeil van NVM_coeff_Year wordt in RSopen met een landelijke factor (CBS, gemiddelde verkoopprijs bestaande koopwoningen) doorgeschaald naar het startjaar van het model.

Termnamen

De R-pipeline levert termnamen die direct geldige GeoDMS-itemnamen zijn. Aan de RS-kant staat een whitelist in Classifications/Vastgoed/HouseCharacteristics_src; termen matchen daar een op een, met twee uitzonderingen die RSopen zelf hernoemt:

bouwperiode_va2002  ->  d_constrgt2001
trans_year_2023     ->  Y2023

Twee dingen die hier makkelijk misgaan:

  • Referentieniveaus moeten expliciet in het bestand staan, met coëfficiënt 0. De GeoDMS-kant zoekt elk kenmerk op met rlookup; een ontbrekende basiscategorie geeft daar een null-coëfficiënt en daarmee een null-prijs voor de hele cel. Stap 5 schrijft ze daarom mee (het equivalent van Stata's allbaselevels).
  • Een nieuwe verklarende variabele in een spec is geen vrijblijvende toevoeging: hij moet aan de RS-kant een invulwaarde krijgen (voor bestaande voorraad én voor ontwikkelpakketten) en in de whitelist staan. Zonder invulwaarde valt de term stil weg en klopt het prijsniveau niet meer.

Wat synchroon moet blijven

De coëfficiënten zijn alleen overdraagbaar als de variabelen aan beide kanten hetzelfde meten. Dit zijn de punten waar dat concreet wordt.

Onderwerp PriceIndices RSopen
Natuurdefinitie (hedonisch) main/Classifications/LGNKlasse.dms cfg/main/Classifications/Grondgebruik.dms, LGNKlasse/IsNatuur_hedonisch
Waterdefinitie idem IsWater_hedonisch
Stralen, kernels, randcorrectie main/SourceData/LGN.dms (Flat2, noemer op gedekt oppervlak, buitenring op 100m) cfg/main/SourceData/Grondgebruik/LGN.dms (Groenfracties)
LGN-bron en klassevolgorde LGN<jaar>_m25.tif Dezelfde tif, door RSopen gegenereerd
Hoogbouwgrens cfg$hoogbouwgrens_cm (15 m) ModelParameters/Hoogbouwgrens (15 m)
Woningtype-indeling (WP4) Classifications/WP4 Classifications/Vastgoed

De LGN-fracties zijn hier het gevoeligst. De bron is bewust de door RSopen gegenereerde LGN<jaar>_m25.tif, zodat de RS-indicator in het basisjaar exact dezelfde fracties reproduceert als waarop is geschat. Celwaarden in die tif zijn klasse-indices, geen LGN-codes: verandert de klassevolgorde aan de RSopen-kant, dan verschuift hier stilzwijgend de betekenis van elke categorie. LGN/Checks in deze repo controleert de celtellingen per categorie en is bedoeld om precies dat te vangen.

Er is één bewust verschil: d_highrise is in de regressie 0 bij onbekende pandhoogte (met een aparte d_hoogte_onbekend-dummy), terwijl het in de regiokarakteristieken null blijft en dus uit het gemiddelde valt. Zie Regiokarakteristieken voor de reden.

Checklist bij een nieuwe schattingsronde

  1. Nieuwe cfg$tag zetten in R/00_config.R en dezelfde waarde in nvm_filedate in main.dms. Bestaande bestanden nooit overschrijven: Estimates_20251024_*.csv en Estimates_20260711_*.csv kunnen bij afnemers in gebruik zijn.
  2. Pipeline draaien, inclusief de twee GeoDMS-handshakes. Zie R-pipeline.
  3. Regiokarakteristieken opnieuw genereren als de onderliggende transactieset is veranderd; RSopen leest die rasters via dezelfde NVM_filedate.
  4. Estimates_<tag>_modelinfo.csv controleren: n, R2 en spec per woningtype, en vergelijken met de vorige ronde.
  5. Aan de RS-kant NVM_filedate (en zo nodig NVM_coeff_Year) omzetten en controleren of alle termen in de whitelist voorkomen.
  6. Een run doen en de woningprijzen vergelijken met de vorige versie voordat de nieuwe set als productieset geldt.

Wat de RuimteScanner niet gebruikt

  • De redev-set en de limit-varianten. redev_limit heeft sinds 2026 geen actieve afnemer meer.
  • De groensensitiviteiten (rs_groen_donut, rs_groen_vol, rs_groen_g500, rs_groen_g100). Die bestaan om de keuze voor twee groentermen te onderbouwen, niet om te draaien.
  • De prijsvolatiliteit uit stap 6. Die is voor het Redevelopment-paper.
  • De BGT-groenfracties. Alleen de twee LGN-termen (fr_natuur_tot2500m, fr_water_500m) gaan mee naar RSopen.

Clone this wiki locally