Lengte van percelen aan straatkant berekenen (QGIS)

Gepubliceerd door Marloes Decraemer op

Voor het aanleveren van het ROP in de RWO datamanager is er een veld waar je de breedte aan straatkant van een perceel moet ingeven. Bij het analyseren van een woonwijk voor het inplannen van een mogelijke nieuwe verkaveling is het het nuttig de gemiddelde breedte aan straatkant van percelen te weten.

In deze QGIS tutorial worden de stappen aangereikt waarmee je op eenvoudige wijze de lengte van meerder percelen aan straatkant kan berekenen. De tutorial is uitgewerkt in QGIS 3.22.

Kort gezegd: Zet de percelen om in lijnen en knip ze op basis van een zeer kleine buffer rond het openbaar domen.

1. Selecteer de betreffende percelen.

2. Maak een tijdelijke laag van de selectie via volgende tip

  • Kopieer de selectie me CTRL + C (of in menu balk Bewerken > Objecten kopiëren)
  • Plak ze als tijdelijke laag met CTRL + ALT + V (of in menu balk Bewerken > Objecten plakken als > Tijdelijke tekenlaag…)

(Deze stap kan je overslaan door in volgende stap ‘alleen geselecteerde objecten’ aan te duiden.)

3. Zet de percelen om in lijnen via het menu:
Vector > Geometrie-gereedschappen > Polygoon naar lijnen…

4. Teken een vlak rond alle percelen in een tijdelijke laag (hier openbare ruimte genoemd)

In het voorbeeld zien we de Dries in Heuvelland.

5. Maak het verschil tussen de twee tijdelijke lagen via menu:
Vector > Geoprocessing-gereedschap > Verschil

Het kan nuttig zijn de instulpingen en onzuiverheden in deze verschil laag te wissen als ze geen deel uitmaken van de ‘straatkant’.

6. Maak een zeer kleine buffer (0.001 meter) rond de verschil laag via menu:
Vector > Geoprocessing-gereedschap > Buffer.
De afstand van de buffer zal twee keer bij de lengte van de gevel komen, maak dit dus zo laag dat het voor de nauwkeurigheid van je berekening niet uitmaakt.

7. Clip nu de lijnen die je gemaakt hebt in stap 3 op basis van de gebufferde laag via menu:
Vector > Geoprocessing-gereedschap > Clippen

Zo houd je enkel de stukken van de lijnen over die op 0.0001 meter van het openbaar domein liggen.

8. Als er percelen zijn die aan twee kanten aan je ‘openbaar domein’ grenzen moet je de lijnen nog omzetten van meervoudige naar enkelvoudige via menu:
Vector > Geoprocessing-gereedschap > Meervoudige naar enkelvoudige…

9. Sla de tijdelijke laag ‘enkele delen’ (of ‘geclipt’ als stap 8 niet van toepassing was) op

10. Voeg in de attribuut tabel een nieuw veld toe en bereken de lengte ($lenght)
Tip: gebruik de round($length,2) om de kleine stukjes die door je buffer werden toegevoegd weg te filteren.

11. Je kan de laag nu labelen om het resultaat zichtbaar te maken

Heb je de informatie nodig in de tabel van de percelen, dan kan je de laag met de lengte aan straatkant joinen aan de percelenlaag. De unieke ID van elk perceel is aanwezig in het lijnstuk die je geclipt hebt.

In Hasselt heeft Bavo Dhaene zich ook over het probleem gebogen. Met zijn methodiek elimineer je de extra breedte die uitstulpingen in de gevellijn veroorzaken. Je kan het in volgende powerpoint nalezen:

Voor de FME gebruikers: dit is hoe ik het een jaar later heb uitgewerkt:

Hier kan je de workbench downloaden:


4 reacties

Reginald · 21 maart 2022 op 16:15

Je kunt de afstanden afronden tot op 2 cijfers na de komma met de round functie:

round($length,2)

Zo worden de kleine stukjes er uit gefilterd.

    Bart Boute · 22 maart 2022 op 09:25

    Bedankt voor de tip, Reginald

    Marloes Decraemer · 23 maart 2022 op 09:21

    Dankje Reginald! ik voeg het toe in de tekst.

vicky · 16 december 2022 op 11:59

hey Riginald, heb je hier misscien een scriptje/model (qgis/python) van? Dan zetten we deze ook op github.

Laat een antwoord achter aan Marloes Decraemer Reactie annuleren

Avatar plaatshouder

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.