Web Feature Services (WFS) gebruiken in QGIS

Stap A. In het menu ‘Kaartlagen > Laag toevoegen’ ‘WFS-laag toevoegen…’ aanklikken.

Stap B. In het menu ‘Server-verbindingen’ ‘Nieuw’ aanklikken.

Stap C. ‘Naam’ opgeven, vrij te kiezen. ‘URL’ meegeven, bv. https://geoservices.informatievlaanderen.be/overdrachtdiensten/VRBG/wfs?.
Klikken op ‘OK’.

Stap D.

  1. Klik op ‘Verbinden’ in het menu ‘Server-verbindingen’.

  2. Selecteer de gewenste te gebruiken ‘Feature’.

  3. Klik, optioneel, op ‘Query maken’.

Stap E. Vul in de SQL-querybouwer de gewenste filter in aan de hand van de ‘Kolommen’ en de ‘Operatoren’ en klik op ‘OK’.

Stap F. Klik op ‘Toevoegen’ om de objecten uit de beschreven filter toe te voegen aan de kaart.

Stap G. Door rechts te klikken op de toegevoegde feature kan de attributentabel geopend worden (1) en kunnen het aantal objecten getoond (2) worden.
image

Stap H. Resultaat:

Bestaat er tegenwoordig ook een manier om een andere datalaag die door Informatie Vlaanderen via WFS aangeboden wordt (bijv. een laag uit het GRB, een jachtplan…) te filteren m.b.v. een polygoon (bijv. gemeentegrens of grens van een statistische sector), m.a.w. een ruimtelijke filter o.b.v. die grens toe te passen? Of zou dit impliceren dat jullie die grenzen (provincie, gemeente…) bij elk van jullie WFS-webdiensten mee ter beschikking moeten stellen?

Die mogelijkheid bestaat. Met de geometrie (van een object) uit de ene, gefilterde WFS, bevraag je een andere WFS.
Dit kan aan de hand van een Intersect, bijvoorbeeld:
<wfs:GetFeature xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation=“http://www.opengis.net/wfs
xmlns:gml=“http://www.opengis.net/gml” xmlns:wfs=“http://www.opengis.net/wfs
xmlns:ogc=“http://www.opengis.net/ogc” service=“WFS” version=“1.1.0”>
<wfs:Query typeName=“GRB:GBG”>
ogc:Filter
ogc:Intersects
ogc:PropertyNameGRB:SHAPE</ogc:PropertyName>
<gml:Polygon srsName=“urn:x-ogc:def:crs:EPSG:31370”>gml:exteriorgml:LinearRinggml:posList26115 199378 26115 199399 126136 199399 126136 199378 26115 199378</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon>
</ogc:Intersects>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>

Hoe ziet dat er uit in die SQL-querybouwer van QGIS?

Gebruik je in dit voorbeeld trouwens geen coördinatenlijst (van een rechthoek) ipv de grenzen van bijvoorbeeld een gemeente?

Stel dat ik alle putdeksels (wri) gelegen in de gemeente Grobbendonk wil opvragen m.b.v. QGIS?
Ik dacht dan altijd dat de laag met de gemeentegrenzen (waarop je dan een filter Naam=‘Grobbendonk’ toepast) zich dan in dezelfde WFS-dienst moest bevinden (in dit geval in de WFS-dienst https://geoservices.informatievlaanderen.be/overdrachtdiensten/GRB/wfs?) of klopt dat niet?

De gemeentegrenzen bestaan uit een groot aantal knooppunten. Dat is één van de redenen waarom Informatie Vlaanderen deze grenzen ook gegeneraliseerd (10 m en 100 m) aanbiedt.

Ondanks de gegeneraliseerde (100 m) versie te gebruiken, is de filter aan de hand van de gemeentegrens te zwaar. QGIS geeft achter de schermen de hele filter namelijk door aan de service aan de hand van een GET-request en er staat uiteraard een limiet op de lengte van de request-URL.

De grachten van bv. Mesen (klein aantal hoekpunten) opvragen, lukt op de eenvoudige manier van werken met de SQL-querybouwer:

  1. Gemeente uit de RefgemG100-feature selecteren:
    image
  2. Met de plugin ‘Get WKT’ de MultiPolygon-coördinaten ophalen:
    image
  3. De WKT van de geselecteerde gemeente gebruiken om de WGR (GRB-grachten) te filteren:
    image

Aangezien bovenstaande methode niet lukt voor bv. Grobbendonk (te veel knooppunten, zelfs in de gegeneraliseerde versie), kan volgende workaround gebruikt worden:

  1. Gemeente Grobbendonk selecteren uit de Refgem-feature (WFS VRBG).
  2. De BBOX van Grobbendonk opvragen via Vector > Onderzoeks-gereedschap > Bereik laag uitnemen:
    image
  3. Met de WKT-coördinaten van de BBOX van Grobbendonk de WRI-feature filteren:
  4. Uit de gefilterde WRI’s dan met de gemeentegrens van Grobbendonk de juiste putdeksels halen via Vector > Onderzoeks-gereedschap > Selecteren op plaats:
    image
1 like