In deze blog beschrijf ik hoe je met QGIS “echte” vlakgerichte Kadastrale Percelen kunt genereren wanneer de BRK gegevens (de Kadastrale Kaart) alleen lijngerichte kadastrale grenzen en perceel punten blijkt te bevatten.
Sinds 1 januari 2016 is ook de BRK (Basis Registratie Kadaster) beschikbaar via PDOK. Je kunt deze in GML formaat per provincie downloaden en direkt in QGIS openen.
Deze BRK dataset bevat gegevens over percelen. Elk perceel heeft een unieke ID en bij het kadaster ligt ook vast wie de eigenaar is en de historie. Hier heeft het Kadaster zijn bestaan en belangrijke rol in de samenleving aan te danken! De gegevens in de BRK zijn een momentopname van de perceelsgrenzen en bevat geen eigenaarsgegevens of historie.
Ik had zelf verwacht dat de BRK een polygoonbestand met perceelsgegevens zou bevatten. De ZIP-file bevat echter de bestanden Kadastralegrens.gml (lijnen), Perceel.gml (punten met perceelsgegevens), Annotatie.gml (punten) en Bebouwing.gml (lijnen). Hiervan zijn Annotatie.gml en Bebouwing.gml minder interessant (BAG en BGT bevatten immers al de omtrek van gebouwen en die labels kunnen we prima zelf binnen het vlak genereren) .
Het proces van het omzetten naar perceelvlakken met perceelgegevens bestaat globaal uit de volgende stappen:
1) inlezen van GML bestanden en opslaan als Shape bestanden
2) toevoegen van spatiale indexen aan Shape bestanden
3) omzetten van kadastrale grenzen naar kadastrale vlakken
4) toevoegen van de attributen van perceelpunten aan kadastrale vlakken
1) Download eerst de BRK van Flevoland (of andere provincie) van de downloadpagina:
https://www.pdok.nl/nl/producten/pdok-downloads/basis-registratie-kadaster/kadastrale-kaart
2) in dit voorbeeld pak ik de zip-file van Flevoland uit in de folder C:\data\brk\input\ en maak ik de folder C:\data\brk\output aan waarin ik de resultaatbestanden zal aanmaken.
3) Activeer de Processing Toolbox via het menu Processing >> Toolbox. Zet rechtsonderin QGIS de Render functie (Her)teken uit en zet de interface processing om van Simplified interface naar Advanced interface.
4) laad de gml-files Kadastralegrens.gml en Perceel.gml
5) Sla allebei de bijgeladen GML bestanden op in het shape-formaat, dit kan door deze in het paneel “Lagen” te selecteren en via het menu Kaartlagen >> Opslaan Als… op te slaan als shape-bestand. Dit kan ook via Processing. Zoek in de Processing Toolbox met het zoekveld naar het GDAL/OGR algoritme “Convert format” met convert. Je moet die van OGR hebben (voor omzetten van vectordata). Dubbelklik op het gevonden algoritme en de dialoog opent waarmee je kaartlagen kunt opslaan in verschillende bestandsformaten.
6) Zorg ervoor dat de aangemaakte shapebestanden zijn geopend in QGIS. Het toevoegen van een index, doe je via de Laag Eigenschappen. Dubbelklik op de geselecteerde kaartlaag KadastraleGrens en Druk op de knop [Ruimtelijke index aanmaken] (Create spatial index).
7) Het aanmaken van perceelsvlakken uit perceelsgrenzen doen we vervolgens met de Processing Tool, Polygonize. Zoek in de Processing Toolbox met het zoekveld naar “Polygonize”. Dubbelklik op het gevonden algoritme en de volgende dialoog opent. Wanneer je de optie Create geometry columns aanvinkt , dan worden de attribuutvelden oppervlakte en omtrek aangemaakt in de output layer KadastraleVlak.shp.
8) Tijdens de uitvoering verschijnt het logbestand van het omzetten van perceelsgrenzen naar vlakken, bij 40% staat deze erg lang stil en lijkt QGIS nergens op te reageren. (sterker nog het scherm van het processing algoritme kan tijdelijk zijn verdwenen). Dit is een proces wat echter veel tijd nodig heeft! Gewoon even geduld hebben, laat QGIS zijn werk doen.
9) Gebruik het QGIS Processing Algoritme Join attribute by location, Voor het toevoegen van de attributen van Perceel.shp aan KadastraalVlak.shp om deze vervolgens op te slaan in KadastralePercelen.shp. Op de volgende dialoog door hierop te dubbelklikken en vul deze als volgt in. Dit algoritme is een stuk sneller en wanneer je hierna alleen de KadastralePercelen.shp laad en bekijkt, zie je Flevoland zoals getoond aan het begin van deze blog (wellicht in andere kleur). Vergeet ook niet de renderfunctie (Her)teken rechtsonderin de applicatie weer aan te zetten.
Wanneer je een kadastraal perceel selecteert en bekijkt heeft deze de volgende velden.
Door: Diethard Jansen (GIS-hulp)
PDOK services plugin update
Een korte post om te laten weten dat er een versie 0.10 beschikbaar is van de pdokservices plugin (http://plugins.qgis.org/plugins/pdokservicesplugin/).
Er zijn wat lagen verdwenen en wat lagen bijgekomen. Het totaal aantal lagen komt nu op 6723 (was 5298).
Belangrijkste veranderingen zijn:
Verdwenen:
– brtachtergrondtijdelijk
– brtachtergrondgrijstijdelijk
– top10nl (nu: top10nl2)
– Noordzee Kabels en Leidingen
– Noordzee Wingebieden
Nieuw:
– AHN3 WMS, WFS en WCS
– Adressen (INSPIRE geharmoniseerd)
– CBS Wijken en Buurten 2014
– Historische Rivierkaarten
– Kadastrale Kaart
– NAPinfo
– Potentiekaart omgevingswarmte
– Potentiekaart reststromen
– Potentiekaart restwarmte
– Verspreidingsgebied habitattypen
– Windsnelheden 100m hoogte
Update je plugin via de plugin-manager in QGIS.
Spatialite en verdwenen stijlen
In deze blog laat ik zien hoe je het probleem van verdwenen stijlen na hernoemen/verplaatsen van de SpatiaLite database kunt oplossen in QGIS.
Opslaan van stijlen in SpatiaLite
Sinds QGIS 2.4 kun je voor elke tabel met geometrische gegevens in SpatiaLite ook de stijlen mee opslaan. Dit kon al eerder in PostGIS. Dat werkt fantastisch zolang je de database maar niet verplaatst of hernoemd. Er ontstaat een probleem met die stijlen wanneer de SpatiaLite database wordt hernoemd of op een andere plaats wordt opgeslagen. De mee opgeslagen stijlen worden dan niet meer toegepast op de vanuit SpatiaLite ingelezen kaartlagen.
Als voorbeeld gebruiken we de voorbeeld spatialite database zwartsluis.sqlite. De SpatiaLite database zwartsluis.sqlite is gemaakt m.b.v. de QGIS plugin Basis NL waarna de gegevens die niet binnen de woonplaats Zwartsluis vallen zijn verwijderd. Dit bestand, 8 MB groot, kan gedownload worden via volgende link: http://qgis.nl/zwartsluis.zip
In dit voorbeeld heb ik na de download, het bestand Zwartsluis.sqlite in de folder C:\geodata\bag\ geplaatst!
- Open in QGIS via het menu Kaartlagen >> Laag toevoegen >> SpatiaLite laag toevoegen, het dialoogvenster waarmee je de SpatiaLite database Zwartsluis.sqlite kunt openen.
- Gebruik de knop [Nieuw] om een nieuwe verbinding te maken voor zwartsluis.sqlite. Aan de lijst van verbindingen wordt de verbinding naar Zwartsluit.sqlite toegevoegd, selecteer deze en druk nu op [Verbinden].
In eerste instantie wordt in de dialoog alleen tabellen met geometrie getoond. - Vink nu eerst de optie Dialoogvenster openhouden aan.
Selecteer nu de 5 tabellen en laad deze met de knop [Toevoegen].
We zien dat er willekeurige stijlen zijn toegekend aan de nieuwe lagen. Dit zijn niet de stijlen die bij de tabellen mee op zijn geslagen. Ook wordt op deze schaal alles getekend! Stel dat deze database nu de BAG van heel Nederland zou bevatten dan zou deze nu meer dan 20 miljoen objecten proberen te tekenen. Het is in zo’n geval ook zeker verstandig om voor het bijladen het aanvinkvakje (Her)teken (rechts onderin QGIS) even te ontvinken.
- In de dialoog SpatiaLite Tabel(len) toevoegen vink je nu de optie Ook tabellen zonder geometrie aan. Nu worden er veel meer tabellen getoond, zoek de tabel layer_styles, selecteer deze en laad deze met de knop [Toevoegen].
In de legenda met lagen is layer_styles nu toegevoegd, we gaan nu deze tabel aanpassen zodat de stijlen wel goed worden toegepast. Wanneer we de inhoud van de tabel bekijken, zien we dat in het veld f_table_catalog de database naar een andere plaats verwijst dan waar deze nu staat. We gaan dit corrigeren met Veld berekening. Met Veld berekening kun je nieuwe velden toevoegen, maar ook de inhoud van bestaande velden bewerken!
- Selecteer de laag layer_styles en kies via de rechtermuisknop in het snelmenu Open attributentabel.
- Vervolgens selecteren we in Attributen tabel linksboven in de knoppenbalk het gele potlood (=Bewerken aan/uitzetten), waarmee ook de knop met het telraam (= Open Veldberekening) wordt geactiveerd.
- Selecteer nu de knop met de afbeelding van het telraam, daarmee openen we de dialoog Veld berekening.
- Vink nu het aanvinkvak Bestaande velden vernieuwen aan.
Selecteer in de keuzelijst eronder het veld f_table_catalog. - Plaats in het tekstvak de bestandsnaam van de SpatiaLite database, met volledig pad, en zet vervolgens om de tekst apostrophs (geen aanhalingstekens). Gebruik als scheidingsteken in de padnaam niet het de “backslash” = ‘\’ die met name word gebruikt op het Windows OS maar “forward slash” = ‘/’. Controleer of bij uitvoer voorvertoning (onder het tekstvak) de goede nieuwe inhoud voor het veld wordt weergegeven. Druk vervolgens op [OK].
Je ziet in Attributen tabel dat de verwijzing naar de SpatiaLite tabel nu wel klopt!
- Druk nu wederom op de knop met het symbool van het gele potlood, linksboven in de dialoog van Attributen tabel en bevestig de vraag dat de wijzigingen moeten worden opgeslagen.
- Hierna kies je voor een nieuw project (huidig project niet opslaan) en laad je nogmaals de lagen van de SpatiaLite tabel zoals eerder aangegeven.
Nu zijn de goede stijlen wel toegepast! Wanneer je via de PDOK plugin de ‘BRT achtergrondkaart‘ toevoegt en inzoomt op de haven van Zwartsluis krijg je het volgende te zien:
Over Spatialite
SpatiaLite is een relationele database die bestaat uit 1 bestand met de mogelijkheid om er spatiale tabellen in op te slaan. SpatiaLite is gebaseerd op SQLite, de meest gebruikte relationele database ter wereld (o.a. op smartphones).
Voor meer info over SpatiaLite en evt. downloads zie http://www.gaia-gis.it/gaia-sins. Het cookbook van SpatiaLite bevat vele recepten die smaken naar meer!
SpatiaLite heeft een aantal voordelen t.o.v. PostGis, je hoeft niet eerst een PostGis server te installeren en te beheren. SpatiaLite is een snelle database en je kunt er prima met meerdere gebruikers tegelijkertijd in lezen. Doordat alle data in een bestand zit kun je deze gemakkelijk naar iemand opsturen en deze kan de SpatiaLite database openen in QGIS en direkt gebruiken.
PostGIS is in de volgende gevallen een betere keuze:
- Meerdere schrijvers of veel lezers
- Gecontroleerde toegang (authenticatie)
- Meer en betere tools voor spatiale bewerkingen
- Veel betere Query optimizer
Wanneer je veel werkt met spatiale queries in de database zelf, kun je dit beter in PostGIS dan in SpatiaLite doen.
Ook ESRI ondersteunt sinds versie 10.2 het gebruik van SpatiaLite. Maar om echt met de data te werken, moet je dan wel de gegevens vanuit SpatiaLite importeren in een geodatabase. Helaas!
Sinds QGIS 2.12 worden de gegevens waarmee je toegang krijgt tot de PostGIS database versleuteld opgeslagen. In eerdere versies van QGIS werden in de registry of elders de gebruikersnaam en wachtwoord goed leesbaar opgeslagen en was de toegang via QGIS tot de PostGIS database niet goed beveiligd.
Diethard Jansen (GIS-hulp)
Aanpassen van de vaste schalen plus nieuwe PDOK services
Nieuwe PDOK services
Ten eerste: PDOK heeft een aantal nieuwe services ingevoerd de laatste maanden, en ik had die nog niet toegevoegd aan de plugin. Nu wel, en ze zijn beschikbaar voor de plugin, zonder een nieuwe versie van de plugin te installeren.
Ga in de dialoog naar het tabblad ‘Extra’ en gebruik daar de knop ‘Check services’. De plugin zal een nieuw laagbestand proberen op te halen en gebruiken.
Als dat goed gaat schiet je van 2782 beschikbare layers naar meer dan 5000(!) lagen: de service die de meeste lagen toevoegd zijn de ‘Habitatrichtlijnen verspreiding’, typen en soorten. Dus heb je je altijd al eens afgevraagd wat het verspreidingsgebied is van de ‘Grijze Grootoor Vleermuis’, dan heb je die nu als WMS en WFS beschikbaar 🙂
Verder zijn er een paar nieuw referentiekaartlagen bijgekomen: een ‘pastel’ kleurige en een tijdelijk grijze. Verder is NOK2014 beschikbaar, nieuw Spoorwegenlagen, iets met Schelpdierwater, Vogelrichtlijn verspreiding van soorten, Verkeersscheidingsstelsel en Publiek rechtelijke beperkingen.. In ieder geval: plezier ermee.
Aangepaste vaste schalen
In de statusbar van QGIS is er een Schaal/Scale dropdown waarmee je QGIS direkt naar een bepaalde schaal kan zetten. Standaard bevat die schalen lopend van 1:500 naar 1:1.000.000.
Als je echter de brtachtergrondkaart of de luchtfoto’s van PDOK gebruikt, en je maakt gebruik van de door QGIS vastgestelde schalen, dan krijg je dit:
Onscherpte van de tegels omdat de WMTS tileschema schalen die gelijklopen met de mooie historisch kaartschalen die QGIS nog in de dropdown heeft staan.
Nu is het mogelijk bij QGIS om ZELF te bepalen welke schalen in de dropdown staan. Ga via Settings/Options naar tabje Map Tools en verwijder door op het rode ‘minnetje’ te klikken alle daar aanwezige schalen. Een ‘schaalconfiguratie’ in QGIS bestaat uit een eenvoudig XML-bestand. Download hier: zip met schaalbestanden
twee PDOK voorbeelden door ze ergens uit te pakken. Probeer ze beide eens uit: door op de knop met het mapje te klikken kun je bv het bestandje nltilescales.xml openen. Je hebt dan in dropdown alle schalen zoals die te vinden zijn in dit Geonovum bestand.
Een andere manier is om de een PDOK WMTS laag te laden, aktief te maken en dan de ’tile scale’ of ‘schaalschuif’ te voorschijn te halen. Door op een van de schaalstreeptjes te klikken zal QGIS de schaal pakken zoals die in het capabilitiesdocument zijn gedefinieerd.
Het vreemde nu is dat dit andere schalen zijn dan die in het Geonovum bestand zijn. Ik heb een tweede xml bestand in het zipje gestopt: nlscales.xml en DIE bevat de schalen die QGIS bepaalt als je gebruikt maakt van de tile scale.
Dit geeft eigenlijk de beste resulaten: .
Op deze manier kun je dus zonder gebruikt te maken van de tile scale gewoon naar een scherpe achtergrondkaartschaal zoomen.
Je zou natuurlijk ook nog een aantal tussenliggende schalen eruit kunnen laten. Door bijvoorbeeld alleen je favoriete schalen op te nemen. Elke kaartvisualisatie heeft wel een aantal schaalnivo’s die niet helemaal mooi zijn.
Moraal van het verhaal: bepaal ZELF je schalen. Happy QGIS-ing!
QGIS goodies
Even een kort berichtje voor het geval je het gemist hebt.
Sinds kort heeft QGIS een samenwerking met spreadshirt.com zodat we overal ter wereld virtuele winkeltjes hebben om QGIS-t-shirts, petjes en mokken te verkopen.
Dus: check je maat en ga via deze pagina naar de dichtsbijzijnde QGIS-shop en maak je vrienden jaloers met zo’n prachtig QGIS shirt 🙂
Oh, en het QGIS project ontvangt een klein percentage van de verkopen om verfrissingen te kunnen kopen tijdens de hackfests…
Gebruik van het Vlaamse geografische dataportaal Geopunt in QGIS
Geopunt website
Geopunt is de centrale toegangspoort tot geografische overheidsinformatie in Vlaanderen. Naast een online viewer, is er een uitgebreide catalogus beschikbaar van waaruit data kan gedownload worden. Heel wat data zijn vrij te downloaden (bv. de orthofoto’s), andere data zijn beschikbaar afhankelijk va je gebruikersprofiel (bv. de bodemkaart).
Downloaden via de Geopunt4Qgis plugin
Geopunt heeft nu ook een plugin voor QGIS. Na de installatie van de plugin vind je onderstaande icoontjes terug in de menubalk:
Hoewel je via deze plugin ook adressen, POI’s en wegenwerken kan opzoeken, vind ik de mogelijkheid om de Geopunt catalogus te doorzoeken vanuit Qgis (laatste icoontje) zijn grootste troef. Vanuit een pop-up venster kan je zoeken doorheen alle geopunt data. Deze data kan je dan rechtstreeks toevoegen als WMS of WFS, of downloaden. Wanneer je kiest voor downloaden, kom je op de respectieve downloadpagina van geopunt of agiv terecht. In het geval van vectordata, kies je voor de shapefile.
Legende voor shapefiles
QGIS kan goed overweg met shapefiles (.shp), maar niet met de bijhorende ESRI legende (.lyr of .avl). Het gevolg is dat je laag wordt ingeladen zonder de gewenste opmaak (alle polygonen hebben dezelfde kleur en een zwarte rand):
Je zal nu zelf een legende moeten maken via het stijlmenu in het dialoogvenster vectoreigenschappen. Kies voor ‘categorized’ in het geval van een discrete variabele en verwijs naar de juiste datakolom. Nu klik je op ‘classify’. Alle kolomwaarden krijgen andere kleur. Deze kun je nu zelf gaan aanpassen. In de laatste versie van QGIS (2.6), kan de handige nieuwe ‘color picker’ je daarbij helpen.
Open vervolgens een voorbeeldkaart (bv. een pdf) in een apart venster, en klik voor elke categorie het juiste kleur aan op de kaart. De bodemkaart ziet er nu net zo uit als het origineel:
De legende kan je opslaan via ‘save style’. Kies voor QGIS Layer Style File (.qml) voor al je toekomstige projecten en om te delen met andere QGIS gebruikers. Mijn .qml legendes voor de bodemkaart en de biologische waarderingskaart (BWK2) van Vlaanderen kan je hier downloaden. Hopelijk stelt de Agiv ze binnen afzienbare tijd ook beschikbaar via Geopunt!
Mozilla Stumbler laag: TMS and XYZ lagen laden in QGIS
QGIS 2.6.1 en QGIS 2.6 Documentatie Released
QGIS 2.6.1
Even een kort bericht dat het QGIS project (stilletjes) QGIS 2.6.1 beschikbaar heeft gesteld, het is een bugfix voor de laatste stabiele versie QGIS 2.6 Brighton.
Een paar opgeloste problemen:
– in de print manager waren wat zaken die niet goed werkte
– in de attribuuttabel werden niet alle kolommen getoond
– metasearch (CSW plugin) werkte niet goed vanuit een versie 2.6
– een aantal crashes die soms optreedde zijn gefixt
QGIS Documentatie 2.6
Groter nieuws: Het documentatie team heeft de 2.6 documentatie af!
U kunt het hier vinden http://docs.qgis.org/2.6 of via http://docs.qgis.org/latest.
De oude (2.2) documentatie is up to date gebracht met de vernieuwingen in QGIS 2.6. Iets nieuws is dat de documentatie nu ook Help pagina’s bevat voor alle algorithms die in Processing kunnen worden gebruikt.
Alle nieuwe tekst is naar Transifex gestuurd. De meeste talen zullen daar dus een paar procent hebben verloren in hun “Totaal vertaald” score, en moeten weer aan het werk om hun oude score te halen.
Iedereen die tijd heeft geinvesteerd in het updaten van de Documentatie en/of de 2.6.1 release heeft mogelijk gemaakt: bedankt!
Stromen weergeven met FlowMapper
Dit artikel demonstreert het weergeven van stromen op een kaart. Dat gebeurt aan de hand van gegevens over woon-werkrelaties tussen COROP-gebieden van het CBS (zie Statline). Hierbij maak ik gebruik van de FlowMapper-plugin.
Voorbereiding
Nadat deze plugin op de gebruikelijke manier is geïnstalleerd, is de handleiding te vinden in de map C:\Users\{gebruiker}\.qgis2\python\plugins\FlowMapper2_documentation. Er zijn drie tekstbestanden nodig met resp. de coördinaten van de knooppunten, de namen van de knooppunten en de stroomgegevens. Drie punten zijn van belang die niet in de handleiding worden vermeld. Ten eerste werkt de plugin niet goed met getallen met decimalen. Dat is op te lossen door de getallen bijv. met 1.000 te vermenigvuldigen en vervolgens af te ronden. Ten tweede mogen als scheidingstekens behalve spaties ook tabs worden gebruikt. Dat laatste is vooral handig bij het plakken van gegevens in een tekstbestand vanuit Excel. Ten derde kunnen de namen van de knooppunten beter geen spaties bevatten. Die worden namelijk ook in dit geval als scheidingstekens gezien. Vervang deze bijvoorbeeld door underscores.
Continue reading “Stromen weergeven met FlowMapper”