QGIS-plugin: Top10NL_Downloader
Allen,
De laatste weken heb ik gewerkt aan een plugin waarmee je features kunt downloaden vanaf de BRT-Top10NL OGC API Features-service. Bij deze ga ik die met jullie delen.
Aanleiding
- Mijn studenten werken veel met Top10NL. Tot nu toe betekende dat dat ze de gehele Top10NL als geopackage vanaf de ATOM-service moesten downloaden. In combinatie met OneDrive en wisselende werkplekken een dramatische werkwijze.
- De Top10NL-OAPIF-service is een mooie bron, maar niet om continu mee te werken. Continue zoomen en scrollen levert een onwerkbare situatie vanwege wachttijden.
- Downloaden naar een eigen geopackage kan, maar is tijdrovend: Save Features As werkt heel goed, maar vraagt veel handwerk. En het heeft een groot risico: vergeet je een extent op te geven, dan wordt een complete feature vanaf de service getrokken.
- QGIS heeft nog wat issues met het omgaan met OAPIF-datasets, in processing tools en daarom ook in model builder. Eigenlijk genereert QGIS verkeerde gdal-commando’s achter de schermen.
- Plus, mijn studentenpopulatie bestaat niet uit GIS-ers, maar uit gebruikers van geodata. Die hebben iets simpels nodig.
Zodoende ontstond mijn idee om als non-programmeur een plugin te maken. Met behulp van een werkend batch-script van mijzelf als voorbeeld, een script met ogr2ogr-commando’s die prima een download kunnen maken, én de aanwezigheid van AI (Claude, VS Code met CoPilote), ligt er nu een werkende versie klaar.
Functionaliteit
Met deze plugin kan je:
- Een geopackage opgeven voor opslag.
- Een uitsnede instellen voor je download. Standaard is dat de uitsnede van je kaartvenster. De uitgebreide QGIS-extent-widget maakt veel manieren mogelijk om een extent in te stellen.
- Aangeven welke features er van de OAPIF gedownload moeten worden.
- Aangeven of je layers in de geopackage wilt aanvullen met features of layers wilt overschrijven.
- Aangeven of je de layers aan je project toegevoegd wilt hebben.
De aanvul-optie is zeer flexibel. De plugin checkt op het voorkomen van dubbele features op basis van hun ID’s. Zoomen, pannen, nieuwe extent instellen, download starten: op die manier vul je incrimenteel je layers aan met Top10NL-features.
Beschikbaarheid
- De plugin is te vinden op Github.
- Sinds vandaag is hij als experimentele plugin te installeren vanuit de Plugins-omgeving van QGIS. Dus even het vinkje experimental aanvinken.
Vervolg
- Na mijn verlof ga in nog wat polijsten aan de code. Werkend aan een BGT_Downloader die ik op identieke manier aan het ontwikkelen ben, stuitte ik al op wat kleine verbeterpunten die ik ook in deze plugin wil meenemen.
- Benieuwd of er vanuit de geĂŻnteresseerde geogoegemeente bevindingen en opmerkingen komen die ik kan meenemen.
- Na deze verbeteringen gooi ik de experimental-status eraf.
- Ik maak dus ook een versie voor het downloaden van de BGT-features vanaf de BGT-OAPIF-service. Komt snel na mijn verlof.
Veelgestelde vragen
Vraag
- Ja maar Wim, waarom maak je geen downloadtool voor mijn favo-OAPIF-service?
- Ja maar Wim, waarom maak je geen generieke downloadtool voor OAPIF-services? Er komen per maand nieuwe OAPIF-services beschikbaar bij de PDOK.
Eh, geen tijd? Zoals ik zei, ik ben geen programmeur.
Een generieke tool vraagt om iets als een beheeromgeving voor het registreren van OAPIF-services, met daarin de servicenaam, url, unieke id, WHERE-statement. Gaat me te veel tijd kosten.
Vraag
- En QGIS4 in het najaar?
Deze plugin is geschikt voor QGIS4 cq QT6. Doorlopen met een QT5-naar-QT6-pythonscript van de QGIS-mensen. Daarna kort getest op een QGIS-QT6-installatie.