Gebouwcontouren detecteren in QGIS: 3 methoden
Gepubliceerd op Bijgewerkt op
Om gebouwcontouren te detecteren in QGIS heb je drie routes: download een open dataset, draai een AI-detectie-plugin over je eigen beelden, of digitaliseer met de hand. De snelle is de tweede. Installeer de plugin vanuit de plugin manager, laad je beelden, teken een zone, typ buildings, klik op Detect, en een polygoon-layer belandt in je project-CRS.
Filteren is de tweede helft van het werk. Een groot deel van wat terugkomt is geen gebouw, dus snoei de ruwe output op confidence en oppervlakte. Ik draaide één pass over het centrum van Parijs, kreeg 635 polygonen, en beslissen welke 82 ik zou houden kostte meer tijd dan de detectie zelf.
| Je input | Methode | Tijd |
|---|---|---|
| Een gebied dat OpenStreetMap, Microsoft of Google al dekken | Methode 1: download open contouren | Minuten |
| Honderden tot duizenden gebouwen, op exact de beelden die je kreeg | Methode 2: automatische detectie (de onze, cloud) | 848 gebouwen in 57 seconden, daarna het filteren |
| Minder dan vijftig gebouwen, of een historisch centrum waar je één polygoon per adres nodig hebt | Methode 3: digitaliseer met de hand | Zo lang als jij erover doet |
Altijd eerst open data. Je gaat pas verder als de dekking gaten heeft, de ouderdom niet klopt, of de contouren exact op de specifieke orthofoto van een klant moeten passen.
Methode 1: Download open contouren
Je hebt QGIS 3.22 of nieuwer nodig, één beeld-layer die je vertrouwt, en een internetverbinding voor methode 2. Geen aparte grafische kaart, bij geen van de drie.
Voor veel klussen hoef je niets te detecteren. Drie open datasets dekken samen het grootste deel van de wereld, en over één wijk kunnen ze duizenden gebouwen van elkaar verschillen.
Pick the dataset for your area
OpenStreetMap is uitstekend waar mappers actief zijn, en gebouwen hebben attributen. Microsoft Global ML Building Footprints bevat meer dan een miljard machinaal gewonnen gebouwen en is het sterkst in Noord-Amerika. Google Open Buildings dekt het mondiale zuiden, waar OSM het dunst is.
Load one against your imagery
Haal OSM binnen met QuickOSM.
Zoom in and look at the edges
Die ene blik beslist of je hier stopt of verder leest.

Gebruik het wanneer: het gebied al goed in kaart is en je kunt leven met de ouderdom en licentie van de dataset.
Sla het over wanneer: de dekking gaten heeft, de ouderdom niet klopt, of de contouren exact op één specifieke orthofoto moeten liggen.
Methode 2: Automatische detectie
Een gebouwcontour is de omtrek van een gebouw waar het de grond raakt, als een vlakke polygoon. Niet het dak, niet het perceel, niet het adrespunt. Dat is hier belangrijk, want verticale beelden geven je het dak: bij een Haussmann-blok van vijf verdiepingen bijna in nadir is de verschuiving klein, bij een toren niet. Goed om te weten voor je iemand een contour-layer belooft, en er is een langere versie in wat een gebouwcontour is.
Een automatisch detectiemodel leest je beelden en geeft gebouwomtrekken terug als polygonen, elk met een confidence score. Wij bouwen er zo een, AI Segmentation. Dit deel gaat over onze eigen tool.
Het installeert vanuit de plugin manager zoals elk ander: geen handmatige download, geen Python-omgeving, geen aparte grafische kaart, omdat het model op onze servers draait. Windows, macOS en Linux.


Install it and pick your imagery layer
Plugin manager, installeren, open het panel, kies de raster die je wilt laten lezen.

Draw a zone and name the object
Teken een zone, typ buildings, klik op Detect. Dat is de hele prompt, in je eigen taal als je wilt. Resultaten stromen tile voor tile binnen als één polygoon-layer in het project-CRS.
Set the precision when the objects are small
De ene instelling die je moet leren is precision, oftewel de tile-grootte. Kleine tiles geven het model een close look, wat kleine objecten nodig hebben. Grote tiles geven het context, wat een landbouwperceel nodig heeft.
Filter what came back
Het panel leidt je door drie stappen voor iets een layer wordt: filter wat je wilt Keep, Correct wat het model miste, en kies de output-Shapes. De eerste is waar het werk wordt gewonnen, en die krijgt hieronder een eigen deel.
Clean the geometry
Simplify, orthogonalize en delete holes, in die volgorde, en alleen waar elk zijn plek verdient. De drie tools en de reden voor de volgorde staan hieronder.
Een run telt de grond die hij dekt. Elk account krijgt elke maand een gratis hoeveelheid, geen kaart gevraagd, en Pro verhoogt die. Detectie draait op Europese servers, wij trainen niet op jouw beelden, en er is een klein lokaal model als er niets je machine mag verlaten. De complete gids behandelt Keep, Correct en Shapes volledig.
Filteren is het hele werk
Ruwe detectie-output is een set kandidaat-polygonen met confidence scores. Op dichte beelden zijn de meeste klein en onzeker. Ik exporteerde deze Parijs-run met beide filters wijd open, zodat elke kandidaat in de layer belandde: 635 polygonen over 1,18 km².
De helft van wat terugkwam is kleiner dan een parkeerplek: ventilatie, dakramen, trappenhuizen, schuurtjes op binnenplaatsen. Echte dingen op de beelden, correct omlijnd, en niet wat iemand met een gebouwcontour bedoelt.
Dus filter. Verschuif de twee sliders in het panel, of doe hetzelfde werk vanuit de attribuuttabel met Select by Expression:
"area_m2" >= 50 AND "score" >= 0.5
Dat laat 82 polygonen over van de 635, met 222.338 m² van de 263.658 m² totaal. Neem mijn drempels niet zomaar over, maar beweeg ze zelf. Groen overleeft je filter, wit niet.

82 / 635polygons kept (13%)
84%of the built area (222,338 m²)
The same 635 detections the attribute table holds. Drop the confidence to zero and the courtyard sheds and skylights come back.
Let op het tweede getal terwijl je het eerste sleept. 87% van de polygonen weggooien kost 16% van de oppervlakte, en de rest is ruis die je anders met de hand had gewist, één voor één, terwijl je je afvroeg of de tool wel goed was.
Stem beide af op de klus. Een survey van industrieschuren kan de oppervlaktevloer naar 200 m² duwen. Bij informele bebouwing gooit 50 m² echte huizen weg, dus zak naar 15 en leun in plaats daarvan op de confidence score.
Hoe een schoon resultaat eruitziet
Parijs is een lastig geval. Dezelfde tool op vrijstaande woningen zo'n 10 km westelijker:

85m²
median polygon area
Paris run: 3.2 m²
0.79
median confidence
Paris run: 0.26
251polygons
kept, out of 251 returned
Paris run: 82 out of 635
Dezelfde tool, dezelfde stad, niets weg te gooien. Wat veranderde is het bebouwde weefsel, niet het model.
Waar het breekt: dichte aaneengesloten blokken

Elke polygoon volgt de bebouwde envelop van een heel blok, strak langs de straatlijn en met correct uitgesneden binnenplaatsen. Goed voor bebouwd gebied of verhard oppervlak, fout als je een polygoon per adres nodig hebt. Geen enkel model dat een verticaal beeld leest kan de scheidsmuur tussen twee aangebouwde gebouwen vinden, want van boven is daar niets te zien.
De geometrie opschonen
Drie native QGIS-tools maken een contour-layer netjes, en de volgorde is belangrijk omdat simplify de vertices verplaatst die je net haaks hebt gezet.
- Simplify, 0,5 m tolerantie over luchtbeelden. Snijdt hard in het aantal vertices zonder de grens ergens zichtbaar te verplaatsen.
- Orthogonalize. Trekt bijna-haakse hoeken haaks. Pak het bij open data of handmatig getekend werk, waar nog niets ze haaks heeft gezet.
- Delete holes, alleen als je massieve contouren wilt. Niet op het Parijs-resultaat: die gaten zijn binnenplaatsen en ze kloppen.
Op een gedetecteerde layer is stap 2 bijna een no-op. Ik heb dat gemeten in plaats van aangenomen, door Orthogonalize te draaien over 190 gedetecteerde gebouwen en alle 1.845 hoeken voor en na te vergelijken.
87.9%
corners already within 1° of square
before running anything
87.9%
after Orthogonalize
the same 1,845 corners
1.7cm
median vertex shift
9.1 cm at the worst

De 12% die niet haaks zijn, zijn de aangebouwde rijen. Kijk naar de verspringende rand midden over het blok. Geen enkele hoek-tool repareert dat, want die verspringingen volgen een echte daklijn en geen modelfout.
Gebruik het wanneer: honderden tot duizenden gebouwen, op beelden die je moet matchen, of wanneer meerdere mensen dezelfde layer op dezelfde manier moeten maken.
Sla het over wanneer: je een polygoon per adres nodig hebt in een historisch stadscentrum. Daarvoor zou ik geen automatische detectie gebruiken, en daar wint kadastrale data plus handmatige correctie.
Try it free in QGIS, no card needed
Methode 3: Digitaliseer met de hand
Onder de vijftig gebouwen, teken ze. Gratis, exact, en bij dat formaat zou ik het zelf nog steeds doen.
Turn on snapping
Project -> Snapping Options, vertex en segment, topological editing aan. Sla het over en je bent de middag kwijt aan het weghalen van splinters.
Trace, and watch yourself drift
Rond het 60e gebouw begin je hoeken af te snijden die je bij het 6e nooit zou afsnijden, en je merkt het niet. Het staat al in de layer.
Gebruik het wanneer: onder de pakweg vijftig gebouwen, of wanneer je één polygoon per adres nodig hebt in een dicht historisch centrum.
Sla het over wanneer: het aantal in de honderden loopt, of meerdere mensen dezelfde layer op dezelfde manier moeten maken.
Wat te onthouden
| Open datasets | Automatische detectie | Handmatig digitaliseren | |
|---|---|---|---|
| Kosten | Gratis | Gratis tier, daarna betaald | Gratis |
| Setup | Minuten | Minuten | Geen |
| Goed voor | Gebieden die al goed gedekt zijn | Honderden tot duizenden | Onder de ~50 gebouwen |
| Past op jouw beelden | Nee | Ja | Ja |
| Consistent in een team | Ja | Ja | Nee |
| Dichte aaneengesloten blokken | Wisselt | Alleen blok-enveloppen | Ja |
| Herkomst die je kunt benoemen | Dataset en ouderdom | Jouw beelden, met een confidence score | Jij |
Check eerst de open datasets. Over één wijk verschillen ze duizenden gebouwen, dus één blik op hun randen tegen jouw beelden beslist of je verder gaat.
Contouren die exact op een orthofoto van een klant moeten liggen sluiten de open datasets uit, hoe goed hun dekking ook is.
Een detectie filteren is het meeste werk: 82 polygonen van de 635 boven het centrum van Parijs, met 84% van het bebouwde gebied.
Een verticaal beeld kan je nergens, voor geen enkele prijs, één polygoon per adres geven waar gebouwen elkaar raken. Koppel in plaats daarvan aan kadastrale data.
Voorbij zo'n vijftig gebouwen gaat handmatig digitaliseren drijven zonder dat je het merkt.
Vragen die mensen stellen
Werkt het op dronebeelden?
Beter dan op satelliet. Grondresolutie is belangrijker dan de bron: een orthofoto van 5 cm geeft scherpere grenzen en hogere confidence dan een satellietbeeld van 30 cm.
Heb ik een GPU nodig?
Wat kost een run?
Automatic telt de grond die je zone dekt, en Cloud AI telt één object per save. Semi-Auto op je eigen machine is gratis. Elk account krijgt elke maand een gratis hoeveelheid.
Kan ik één polygoon per adres krijgen?
Niet uit een verticaal beeld, in een stadscentrum waar de gebouwen elkaar raken. Het model geeft de bebouwde envelop van het hele blok terug, met uitgesneden binnenplaatsen, wat klopt voor bebouwd gebied en fout is voor adressen. Koppel in plaats daarvan aan kadastrale data.
Met welke open dataset begin ik?
OpenStreetMap, als je gebied actieve mappers heeft. Waar dat niet zo is, is het gat groot: over die 1 km² Luanda tekent OSM helemaal geen gebouwen, terwijl Microsoft er 3.140 vindt en Google Open Buildings 4.468.
Voor het volledige dak-tegenover-grond-verhaal, lees wat een gebouwcontour is. Voor het geval met geclassificeerde raster, waar polygonize elk model verslaat, lees raster naar vector in QGIS. De QGIS AI-hub somt de rest op van wat wij bouwen.
heb je drie routes: download een open dataset, draai een AI-detectie-plugin over je eigen beelden, of digitaliseer met de hand. De snelle is de tweede. Installeer de plugin vanuit de plugin manager, laad je beelden, teken een zone, typ 


