De 3: drie bomen zien vanuit je woning
Ziet elke woning minstens drie bomen? Voor elke boom in de provincie is berekend welke plekken binnen 30 meter hem kunnen zien, rekening houdend met gebouwen, heggen en het terrein. Daarna krijgt elke woning het aantal bomen dat je direct voor de gevel kunt zien.
Zuid-Holland, run van 8–9 oktober 2026.
Wat wordt er gemeten?
De 3-30-300-regel (Konijnendijk, 2023) vraagt dat iedereen vanuit zijn woning, school en werkplek minstens drie goed ontwikkelde bomen ziet. Het artikel zegt niet vanaf welke afstand of vanuit welk raam. Wij hebben dat voor woningen zo concreet gemaakt:
- Een boom telt als zichtbaar als er een vrije zichtlijn is van de top van zijn kruin naar een punt op 1,8 m hoogte (ooghoogte) dat binnen 30 m van de boom ligt.
- Een woning ziet N bomen als er ergens direct voor de gevel (binnen 1,5 m buiten het pand) een plek is die N bomen ziet.
Wat de uitkomst aanneemt
Het artikel laat open vanaf waar en hoe ver je meet. De keuzes hieronder vullen dat in en maken het meeste verschil voor de cijfers. Achter elke keuze staat de kant waarop ze de uitkomst duwt; de redenen staan onder "Keuzes en waarom".
- Eén goede plek is genoeg. Ziet één vakje van 0,5 × 0,5 m in de ring rond het pand drie bomen, bijvoorbeeld in de achtertuin, dan haalt het hele pand de norm, ook als de woonkamer op een blinde muur uitkijkt. (gunstiger)
- Alle woningen in een pand krijgen dezelfde score. De 80 flats in een blok delen één getal, en tellen per gebied 80 keer mee.
- Zicht op straatniveau. We rekenen op 1,8 m boven de grond voor de gevel; vanaf hogere verdiepingen en balkons zie je vaak meer. (strenger)
- Een boom telt als de top van de kroon zichtbaar is. Wie alleen de zijkant van een kroon of een overhangende tak ziet, terwijl de top achter een dak verdwijnt, telt die boom niet. Net de top boven een dak uit zien telt wel.
- De 30 m wordt vanaf de stam gemeten, niet vanaf de rand van de kroon. Een grote boom met de stam op 32 m telt niet, ook als de kroon dichterbij hangt. (strenger)
- Elke boom telt even zwaar. Een jonge straatboom telt als een oude eik, bomen die in de bron als "verdwenen, kleine boom" of "één keer niet gezien, kleine boom" staan tellen niet mee (24,5%). (gunstiger)
- Alles in het hoogtemodel is massief. Een dichte heg of schutting telt als muur, ook in de winter. (strenger)
Stappen
- Hoogtemodel en bomen per gemeente verzamelen. Het hoogtemodel is AHN4, 0,5 m, de ruwe versie: een oppervlaktemodel waarin gebouwen, heggen en boomkronen zitten, niet alleen de grond. De bomen zijn punten uit de NEO-boomdata. Per provincie worden alle gemeenten samengevoegd tot één hoogtemozaïek en één bomenbestand.
- Het hoogtemodel in tegels knippen. Tegels van 500 × 500 m met een rand van 35 m extra. Bomen en hoogtes in die rand worden meegenomen, maar alleen het binnendeel wordt bewaard. Zo passen de tegels naadloos op elkaar en telt een boom net over een tegel- of gemeentegrens gewoon mee. Gaten in het hoogtemodel (water, onder bruggen) worden eerst gevuld (zie keuzes).
- Per boom: waar is hij te zien?
De waarnemer staat op de top van de kruin. Met
ViewshedGeneratevan GDAL wordt voor elke cel van 0,5 m binnen 30 m bepaald of er een vrije zichtlijn is naar 1,8 m boven het oppervlak. Elke zichtbare cel krijgt +1. Het resultaat is een kaart waarin elke cel het aantal bomen telt dat daar te zien is. - Woningen bepalen. Een pand uit de BAG is een woonpand als minstens één adres (verblijfsobject) erin een woonfunctie heeft en in gebruik is. Het aantal woningen in een pand is het aantal van die adressen.
- Score per woning. Rond elk woonpand ligt een ring van 1,5 m buiten de gevel, zonder de panden zelf. De score van het pand is de hoogste waarde in die ring. Panden zonder vrije gevel (helemaal ingebouwd) krijgen geen score.
- Samenvatten per gemeente, wijk en buurt. Elk pand gaat naar zijn huidige gemeente en CBS-buurt (2025), op basis van het middelpunt. Per gebied: het aandeel woningen met ≥ 3 zichtbare bomen, gewogen naar het aantal woningen per pand.
Keuzes en waarom
| Keuze | Waarom | Alternatief dat we niet kozen |
|---|---|---|
| Straal van 30 m | De regel noemt geen afstand. 30 m is de straal van de eerdere 3-analyse (QGIS/ArcGIS), zodat de uitkomsten vergelijkbaar blijven. Op die afstand is een boom nog duidelijk als boom te herkennen. | Een grotere straal telt verre bomen mee die je nauwelijks nog als "uitzicht op een boom" ervaart en maakt de berekening veel zwaarder. |
| Ruw oppervlaktemodel (AHN4 DSM) | Gebouwen, heggen en kronen moeten het zicht kunnen blokkeren. In een maaiveldmodel is alles open. | AHN-maaiveld (DTM): te optimistisch. De AHN-puntenwolk met klassen zou beter zijn, maar is veel zwaarder om te verwerken. |
| Waarnemer op de top van de kruin | Een boom is zichtbaar als je zijn kruin ziet. De kruintop is het hoogste punt van het oppervlak binnen 1,5 m van de boom (daken tellen niet mee). Staat de waarnemer op het boompunt zelf, dan zit hij ín zijn eigen kruin en blokkeert die het zicht: in Delft zag 35,5% van de bomen dan vrijwel niets. | Het boompunt + 1 m (ArcGIS-standaard). Een vaste boomhoogte voor alle bomen. |
| Hoogtecontrole: 0–35 m boven de grond | Het hoogtemodel weet niet wat een boom is. Een hoogspanningslijn of dakrand naast een boom kan als "kruin" worden gemeten. Is de gemeten hoogte boven de lokale grond (laagste punt binnen 5 m) niet positief of hoger dan 35 m, dan geldt een vaste 1,7 m. Dat gebeurt bij minder dan 1 op de 80.000 bomen. De controle is op hoogte boven de grond, niet op NAP, omdat de provincie van −6 m tot +40 m NAP loopt. | Een controle op NAP-hoogte (eerder gebruikt): die wees 3% van de Delftse bomen ten onrechte af. |
| Doelhoogte 1,8 m | Ooghoogte van een staand mens. Dezelfde waarde als de surface offset in de ArcGIS-methode. | Per verdieping rekenen: kan niet met één oppervlaktemodel (zie beperkingen). |
| Score = hoogste waarde in een ring van 1,5 m rond de gevel | Binnen de omtrek van een pand is het oppervlaktemodel het dak: "1,8 m boven het dak" is niet wat een bewoner ziet. Direct voor de gevel is 1,8 m wél ooghoogte. De hoogste waarde, omdat de regel vraagt óf je vanuit je woning bomen ziet, niet vanuit elk raam. | Het gemiddelde langs de gevel (straft woningen met één blinde gevel). Alleen de voorgevel (niet te bepalen uit de BAG). |
| Woning = adres in gebruik met woonfunctie | Ook woningen boven winkels tellen mee. Adressen die nog gebouwd moeten worden ("gevormd") of buiten gebruik zijn tellen niet: die zitten meestal niet in het hoogtemodel. | Panden met woonfunctie in de BAG-pandgegevens: te grof voor gemengde panden. |
| Klassen 0, 1–2, 3–5, 6–7, 8+ | De grens van 3 is de regel zelf; 0 en 1–2 laten zien hoe ver een woning eronder zit, 6–7 en 8+ hoe ruim. Dezelfde klassen als het QGIS-validatieproject. | Alleen voldoet/voldoet niet: verbergt het verschil tussen 0 en 2 bomen. |
| Rand van 35 m rond elke tegel | Moet minstens de straal van 30 m zijn, anders missen cellen aan de rand bomen van de buurtegel. Zonder rand ontstonden zichtbare naden in 10–12% van het oppervlak. | Grotere tegels zonder rand: kost te veel geheugen voor de grote gemeenten. |
| Gaten vullen: klein interpoleren, groot op laagste waarde | GDAL behandelt een NoData-waarde als echte hoogte: een gat van −9999 wordt een klif. Kleine gaten (≤ 25 m) worden uit de omgeving ingevuld, groot open water krijgt het laagste punt van de tegel, zodat het nooit zicht blokkeert. | Alles interpoleren: correct maar uren rekentijd bij kustgemeenten. |
| GDAL in plaats van ArcGIS | Open source, scriptbaar en herhaalbaar voor elke provincie. Getoetst tegen een exacte zichtlijntest per cel: 95,5–99,7% van de cellen gelijk. Met dezelfde waarnemer geven ArcGIS Visibility, GDAL en de exacte test vrijwel hetzelfde. | ArcGIS Pro (licentie, lastig te automatiseren; de oude rekenkern van Visibility loopt vast op mapnamen met een cijfer en een streepje). |
| Minder dan 10 woningen: geen percentage | Bij heel kleine aantallen zegt een percentage weinig en is het te herleiden tot individuele adressen. | — |
Klopt dit voor mijn woning?
De kaart laat voor bijna 1,8 miljoen woningen zien hoeveel bomen er in de buurt zichtbaar zijn. Per buurt, wijk en gemeente geeft dat een betrouwbaar beeld: kleine afwijkingen middelen daar uit. Per woning is de uitkomst een goede indicatie, maar geen meting ter plekke. Staat jouw woning op rood of oranje terwijl je vanuit huis wel bomen ziet? Dan zit het verschil meestal in een van deze punten:
- De boom staat verder dan 30 meter weg. Alleen bomen binnen 30 m van de gevel tellen mee. Een rij bomen aan de overkant van een breed water of een groot plein zie je wel, maar valt buiten de regel zoals wij die meten.
- Je kijkt vanaf een hogere verdieping. We rekenen op ooghoogte (1,8 m) vlak voor de gevel, dus op straat- of tuinniveau. Vanaf een balkon of bovenverdieping kijk je over heggen, schuttingen en auto's heen en zie je vaak meer bomen dan de kaart aangeeft.
- De boom is nieuw of staat niet in het bomenbestand. Het bomenbestand en het hoogtemodel zijn van 2020–2022. Bomen die later zijn geplant ontbreken, en heel jonge of kleine bomen staan er soms niet in.
- De situatie is veranderd. Is er sinds 2020–2022 een gebouw gesloopt, een schutting weggehaald of een nieuwe wijk gebouwd, dan rekent het model nog met de oude situatie. Dat geldt ook andersom.
- Iets blokkeert het zicht in het model. Het hoogtemodel ziet heggen, schuttingen, bushokjes en de kronen van andere bomen als obstakel. Een dichte heg van twee meter voor je raam telt dus als muur, ook als je er in het echt tussendoor kijkt, bijvoorbeeld in de winter.
- De woning heeft weinig vrije gevel. We kijken rondom het hele pand, maar bij ingebouwde woningen, hoekjes en binnenplaatsen is er weinig ruimte direct voor de gevel waar de berekening kan "staan".
Zie je een fout die niet door deze punten verklaard wordt? Meld het via de open punten in de repository; zo wordt de kaart beter.
Beperkingen en open punten
- Ooghoogte alleen op straatniveau. Het uitzicht vanaf hogere verdiepingen is niet berekend; bewoners van flats zien in werkelijkheid vaak meer (of andere) bomen.
- Boomstatus. Sinds 8 oktober 2026 tellen bomen die in de bron als "verdwenen, kleine boom" (21%) of "één keer niet gezien, kleine boom" (3%) staan niet meer mee. Minder bomen betekent dat minder woningen de norm halen, en dat is veiliger dan bomen tellen die er misschien niet meer staan. Nog open: met NEO nagaan wat de statussen precies betekenen (open punt #1).
- Actualiteit. Hoogtemodel en bomen komen uit 2020–2022, de woningen uit 2026. Nieuwbouw staat op de kaart met de omgeving van toen (3 à 5% van de woningen).
- Geen puntclassificatie. Het hoogtemodel onderscheidt boom, gebouw en hoogspanningsleiding niet. De hoogtecontrole vangt het grootste deel af; de geclassificeerde AHN-puntenwolk zou het oplossen.
- Vergelijking met ArcGIS. Het eerdere ArcGIS-resultaat voor Delft zag meer bomen. Dat bleek te komen door een fout in de waarnemershoogte van die run, niet door de rekenmethode (punt #2, opgelost).
Code en bronnen
| Stap | Script |
|---|---|
| Instellingen (straal, hoogtes, tegels) | etl/config.py |
| BAG downloaden (PDOK) | etl/download_bag_pdok.py |
| 1. Tegels knippen, gaten vullen | etl/01_tile_dem.py |
| 2. Zichtbaarheid per boom | etl/02_compute_viewsheds.py |
| 3. Tegels samenvoegen | etl/03_merge_tiles.py |
| 4. Score per woning | etl/04_score_buildings.py |
| 5. Provincie samenvoegen | etl/05_merge_province.py |
| 6. Per gemeente, wijk, buurt | etl/06_area_summaries.py |
| Technische achtergrond (Engels) | ARCHITECTURE.md |
| Gegevens | Bron | Stand |
|---|---|---|
| Hoogtemodel | AHN4, oppervlaktemodel 0,5 m, ruw | ingewonnen 2020–2022 |
| Bomen | NEO boomdata (aangekocht, niet openbaar) | 2020–2022 |
| Panden en adressen | BAG via PDOK | 27 september 2026 |
| Gemeentegrenzen | Bestuurlijke gebieden (Kadaster) via PDOK | 28 september 2026 |
| Wijken en buurten | CBS Wijk- en Buurtkaart 2025 via PDOK | 2025 |