WFS services gebruiken

Introductie

Het gebruik van de WFS-services is niet altijd even eenvoudig. Een groot struikelblok is hierbij het maximaal aantal objecten dat de meeste services (zoals ook die in PDOK) per request wil teruggeven. Dit varieert voor PDOK bijvoorbeeld tussen 100 en 10000 en is daarmee meestal te weinig voor een kaartvullend beeld.

Theorie

De WFS-standaard is vrij expliciet over de wijze waarop WFS-services bevraagd moeten worden. De WFS-service mag niet beschouwd worden als een download service, maar moet beschouwd worden als een query service.

Dit laatste betekent dat het de bedoeling is een zo scherp mogelijke vraag naar de service te sturen waarbij zo min mogelijk objecten terugkomen.

Voorbeeld

Wanneer je wilt analyseren hoeveel panden er binnen 500 meter van een bepaalde hoogspanningleiding staan, is het niet de bedoeling om de gehele BAG van het gebied op te vragen uit de WFS, en dan de overlay te doen. Het is dan de bedoeling om een request aan de BAG WFS service samen te stellen waarin de geometrie van de hoogspanningsleiding en het criterium (binnen 500 meter) worden meegestuurd, waarbij de service dan de feitelijke analyse uitvoert en dan het aantal panden teruggeeft.

In dit licht is een limiet op het aantal objecten zo gek nog niet.

In de praktijk gebruiken we in een GIS pakket als Landgoed QGIS-NL een WFS service zo niet. We willen de service gewoon als kaartlaag toevoegen en gebruiken.

De WFS-2 standaard kent een functionaliteit genaamd response paging waarmee om de beperking van een maximaal aantal objecten heen gewerkt kan worden. QGIS-NL kan daar gebruik van maken.

Praktijk

Gelukkig is er een manier in Landgoed QGIS-NL om een laag uit een PDOK WFS service toe te voegen aan het project, en toch een kaartvullend beeld te krijgen, ook als daar meer dan 10000 objecten voor nodig zijn.

Dit kan door gebruik te maken van response paging.

Zoom eerst in op een gebied van interesse. We gaan de BAG gebruiken, dus flink inzoomen beperkt het aantal objecten dan opgehaald moet worden. Het is misschien niet zo’n goed idee om gelijk voor miljoenen te gaan …

Gebruik daarna de QGIS-NL WFS-client via het menu Kaartlagen -> Laag Toevoegen -> WFS-laag toevoegen... .

Maak dan een nieuwe verbinding aan zoals in onderstaand voorbeeld. Let daarbij goed op de rood omcirkelde zaken:

Klik op OK, en daarna op Verbinden. Kies daarna de kaartlaag pand en klik Toevoegen zoals in onderstaand voorbeeld:

en sluit daarna het venster via close. Bij pannen en zoomen van de kaart zal deze nu steeds gevuld worden met panden, ook als het er meer dan 10000 moeten zijn.

Het gebruik van de attribuuttabel gaat nu nog niet goed. Indien u nu de attribuuttabel van de panden laag wilt zien, gaat QGIS-NL alsnog proberen de hele BAG te downloaden.

Dit kunt u voorkomen door via het menu Extra -> Opties... op het tabblad Databronnen het keuzevak Gedrag attributentabel in te stellen op Op kaart zichtbare objecten tonen zoals in onderstaand voorbeeld:

QGIS-NL zal nu alleen de attribuuttabel laten zien voor de objecten die binnen het kaartvenster vallen.

Zowel de PDOK-services plugin als de Kaarten Biblitheek plugin voegen (waar mogelijk) lagen van WFS-services toe op basis van WFS 2 en gebruiken response paging zoals hierboven beschreven.

Uitzonderingen

Niet alle WFS services ondersteunen response paging. Indien dat het geval is zal een work around moeten worden gemaakt.