Boomkroon in kaart brengen in QGIS: 6 methoden

Om boomkronen in
uit multispectrale beelden in kaart te brengen, bouw je NDVI op in Raster > Raster Calculator…, knip je die op een drempelwaarde met Reclassify by table en voer je daarna Raster > Conversion > Polygonize (raster to vector) uit. Daarmee krijg je bedekking, geen afzonderlijke bomen. Vijf andere methoden behandelen LiDAR, open data en het geval waarin je één polygon per kroon nodig hebt.
Waar het internet de mist in gaat
Drie antwoorden blijven terugkomen in tutorials en forumdiscussies, en elk daarvan kost je een middag.
"Pas een drempel toe op NDVI en je hebt je bomen." NDVI scheidt groen van niet-groen. Een gazon, een tarweveld en een eik zijn allemaal groen, dus ze komen alle drie in dezelfde klasse terecht. NDVI geeft je vegetatiebedekking, en die canopy noemen is een beslissing die je moet kunnen verdedigen.
"Voer het canopy height model rechtstreeks uit op het LAS-bestand." Het grondoppervlak komt uit de punten die als ground zijn geclassificeerd, en QGIS 3.44 heeft geen algoritme dat ze classificeert. Op een niet-geclassificeerde point cloud levert het filter niets op en wordt het terrein vlak.
"Installeer de Semi-Automatic Classification Plugin, de nieuwste versie." Release 9.0.4 heeft QGIS 3.99 nodig, de QGIS 4-lijn. Op QGIS 3.44 biedt de manager je 8.5.0 uit november 2024 aan, dus controleer eerst welke versie je werkelijk hebt gekregen voordat je je samples de schuld geeft.
Het korte antwoord
| Wat je hebt | Methode | Wat het kost |
|---|---|---|
| Multispectrale beelden met een nabij-infraroodband | Methode 1, NDVI en daarna polygoniseren | Gratis, QGIS-kern |
| LiDAR, of een DSM en een DTM | Methode 2, canopy height model | Gratis, QGIS-kern |
| Beelden en meerdere klassen om te scheiden | Methode 3, supervised classification | Gratis, één plugin |
| Een groot gebied, waarbij de datum van vorig jaar goed genoeg is | Methode 4, een open canopy-dataset | Gratis download |
| RGB-beelden en een NVIDIA-kaart | Methode 5, een lokaal segmentation model | Gratis, plus een model dat je moet vinden |
| RGB-beelden, geen kaart, en je wilt boomkronen | Methode 6, een cloud segmentation model | Gratis tier, daarna een abonnement |
Voordat je begint
Werk in een geprojecteerde CRS. Elke methode hier eindigt in een oppervlakte, en een oppervlakte in graden is niets waard.
Bepaal of je bedekking of boomkronen nodig hebt. Bedekking is één oppervlak waar een percentage uit volgt. Boomkronen zijn telbare objecten, precies wat een straatinventarisatie of parkregistratie nodig heeft.
Methode 1: NDVI-drempel
NDVI scheidt groene vegetatie van daken, wegen en water. Open Raster > Raster Calculator… en voer ("nir@1" - "red@1") / ("nir@1" + "red@1") in.

Voer daarna Reclassify by table uit (native:reclassifybytable, Processing Toolbox, Raster analysis), met één rij boven de drempel en één eronder, en stel het outputgegevenstype in op Byte. Polygoniseer het resultaat.
Gebruik dit wanneer: de beelden een nabij-infraroodband bevatten en je bedekking wilt.
Sla dit over wanneer: bomen van gazon of gewassen moeten worden onderscheiden. NDVI kan dat niet, omdat ze alle drie groen zijn.
Methode 2: Canopy height model uit LiDAR
Hoogte is het enige signaal dat een boom wel van een gazon scheidt, en QGIS bouwt beide oppervlakken rechtstreeks uit een LAS- of LAZ-bestand met Export to raster (pdal:exportraster, Point Cloud Conversion). Stel Attribute in op Z. Voeg voor het terrein de filterexpressie Classification == 2 toe, wat in de ASPRS-klassen die QGIS gebruikt Ground is. Filter voor het oppervlak op ReturnNumber == 1.

Trek de ene van de andere af in Raster > Raster Calculator… met "dsm@1" - "dtm@1", of in grass:r.mapcalc.simple voor grotere tegels. Classificeer opnieuw op de hoogte die je specificatie als canopy beschouwt en polygoniseer daarna. De uitvoer bevat een hoogte per pixel, iets wat niets anders op deze pagina je geeft.
Gebruik dit wanneer: je LiDAR hebt, of een nationale DSM- en DTM-combinatie.
Sla dit over wanneer: je punten niet geclassificeerd zijn. QGIS 3.44 heeft geen algoritme voor grondclassificatie, dus niet-geclassificeerde punten gaan eerst buiten QGIS door PDAL.
Methode 3: Supervised classification
Teken trainingspolygonen voor boom, gras, dak en weg, laat daarna een classifier elke pixel labelen en polygoniseer de boomklasse. dzetsaka is de plugin die ik vandaag zou installeren. Hij is GPL, versie 5.0.11, werkt op QGIS 3.0 tot en met 4.99 en bevat elf classifiers, waaronder Random Forest en SVM.
De Semi-Automatic Classification Plugin is bekender en verwerkt ook band sets en preprocessing, maar controleer eerst de versie. Release 9.0.4 heeft QGIS 3.99 nodig, de QGIS 4-lijn. Op QGIS 3.44 krijg je 8.5.0 uit november 2024.
Gebruik dit wanneer: canopy één klasse is uit meerdere klassen die je uit dezelfde scène nodig hebt.
Sla dit over wanneer: bomen het enige zijn wat je wilt. Trainingssamples kosten meer tijd dan Methode 1.
Methode 4: Een open canopy-dataset
Misschien heeft iemand jouw gebied al in kaart gebracht.

Vier datasets zijn de moeite waard om te kennen. De Meta and WRI canopy height map is wereldwijd beschikbaar, versie 2 sinds maart 2026, met pixels van 1,2 m en een gemiddelde absolute fout van 3,0 m ten opzichte van airborne LiDAR. De kaart van ETH Zurich heeft een resolutie van 10 m voor 2020, is gebaseerd op Sentinel-2 en GEDI en valt onder CC BY 4.0.
De andere twee zijn regionaal of historisch. De Copernicus Tree Cover Density-layer dekt Europa op 10 m, jaarlijks van 2018 tot en met 2024, en voor het downloaden heb je een EU Login nodig. Hansen Global Forest Change heeft een resolutie van 30 m en begint in 2000, dus dit is de dataset voor veranderingen door de tijd.
Steden publiceren hun eigen data. Parijs biedt 219.432 bomen als punten aan, Melbourne 57.980 canopy-polygonen voor 2021, beide als een GeoJSON-URL die je in QGIS plakt.
Alle vier de globale rasters beantwoorden range requests, dus stream een tegel met /vsicurl/ in plaats van die te downloaden. Copernicus biedt WMTS aan op https://land.copernicus.eu/cdse/tcd_europe_10m_yearly, waar je het jaar handmatig instelt. De service adverteert elke datum terug tot 1984, terwijl bijna geen daarvan data bevat.
Gebruik dit wanneer: het gebied groot is en de opnamedatum niet per se van jou hoeft te zijn.
Sla dit over wanneer: je de locatie vorige maand hebt gevlogen, of wanneer je boomkronen nodig hebt. De meeste hiervan zijn percentage-rasters, geen telbare objecten.
Methode 5: Een lokaal segmentation model
Deepness, Geo-SAM en samgeo draaien segmentation models op je eigen machine. Er verlaat niets je machine en er wordt niets gefactureerd.
Gebruik dit wanneer: de beelden je machine niet mogen verlaten.
Sla dit over wanneer: je geen NVIDIA-kaart hebt, of geen zin hebt om een model te zoeken, gewichten op te vragen en een Python-omgeving te bouwen.
Methode 6: Een cloud segmentation model
Een segmentation model heeft geleerd hoe een boomkroon eruitziet en splitst een bosbestand op in telbare objecten waar een drempel één aaneengesloten vlak oplevert. Wij bouwen er één, AI Segmentation. Deze sectie gaat over onze eigen tool.
Teken een zone over de beelden die al openstaan in QGIS en typ één woord. De polygonen komen in de CRS van je project terecht, elk met een oppervlakte en een confidence score. Typ tree voor één polygon per boomkroon, tree canopy voor de bedekking als oppervlak.

Het beste voor: één polygon per boomkroon uit RGB-beelden, op een machine zonder GPU.
Prijs: gratis voor 3 km² grond per maand plus 50 cloud Semi-Auto-objecten, zonder kaart. Pro kost 39 euro per maand exclusief btw voor 200 km² en 500 objecten.
Draait op: QGIS 3.22 en hoger, Windows, macOS of Linux. Het model draait op onze servers in de Europese Unie.
Installatie: plugin manager, daarna een e-mailadres om in te loggen. Geen packages, geen gewichten.
Waar het wint: het gewone woord werkt goed. Over 90 dagen met echte runs kwam tree leeg terug op 10.5 procent van de tegels, tegenover 47.3 procent voor orchard over 716 tegels, dus de plugin stuurt het tweede woord naar het eerste voordat je iets uitgeeft.
Waar het tekortschiet: in een gesloten bosbestand zijn geen kroonranden te vinden, dus een tree-run levert één vlak op in plaats van één polygon per stam. Gebruik daar tree canopy en accepteer bedekking. Beide cloud-modi sturen beelden naar onze servers, alleen Semi-Auto op je eigen machine doet dat niet.
De zes methoden naast elkaar
| Wat je nodig hebt | Methode |
|---|---|
| Bedekking uit je eigen multispectrale beelden | Methode 1 |
| Canopy height, of bomen gescheiden van gras | Methode 2 |
| Canopy als één klasse uit meerdere | Methode 3 |
| Een groot gebied, snel en gratis | Methode 4 |
| Boomkronen, zonder dat er iets van de machine vertrekt | Methode 5 |
| Boomkronen uit RGB-beelden, zonder GPU | Methode 6 |
Wat je moet onthouden
Kies tussen bedekking en boomkronen voordat je een methode kiest, want dat gaat over je eindproduct en niet over je beelden.
Hoogte verslaat kleur wanneer je die kunt krijgen, dus een canopy height model uit LiDAR wint overal waar LiDAR beschikbaar is.
NDVI leest een gazon, een gewas en een eik als hetzelfde, dus een drempel alleen levert nooit bomen op.
In een gesloten bosbestand zijn geen kroonranden te vinden, dus elke methode op deze pagina levert daar bedekking op en geen enkele levert een stamtelling.
Voor een percentage boomkroonbedekking in heel Europa is de Copernicus-layer gratis en al af, dus een model over dat gebied draaien betekent twee keer betalen voor hetzelfde antwoord.
Try it free in QGIS, no card needed
Vragen die mensen stellen
Kan QGIS boomkroonbedekking in kaart brengen zonder plugin?
Ja, met Methoden 1, 2 en 4, die bestaan uit QGIS-kern plus een download. Wat je krijgt is bedekking als polygonen, nooit afzonderlijke boomkronen.
Eén polygon per boom, of één voor de hele kroonbedekking?
Een NDVI-drempel of een hoogtemodel geeft je bedekking. Alleen een segmentation model splitst een bosbestand op in telbare boomkronen, en in Methode 6 bepaalt het woord dat je typt welke van de twee je krijgt.
Hoe bereken ik een percentage boomkroonbedekking?
Elke polygon heeft zijn eigen oppervlakte, dus tel de kolom met oppervlakten op en deel die door de oppervlakte die je hebt gemeten. Dat is één veldberekening op geometrie die je kunt openen en controleren.
Wat is nauwkeuriger, NDVI of een LiDAR-hoogtemodel?
Het hoogtemodel, en het verschil is groot. NDVI leest een gazon en een eik als hetzelfde, terwijl een canopy height model ze met meerdere meters verschil van elkaar scheidt.
Is iets hiervan gratis?
Methoden 1 tot en met 5 kosten niets behalve je eigen data en voor Methode 5 een grafische kaart. Methode 6 geeft 3 km² per maand gratis, daarna kost het 39 euro per maand exclusief btw.
De handleiding van raster naar vector loopt door de polygoniseer- en opruimstappen waar elke methode hier mee eindigt, en de SAM in QGIS-post vergelijkt de plugins die segmentation models draaien. De QGIS AI-hub staat boven beide.
Verder lezenAI Segmentation voor QGIS: complete gids


