10.2. Lesson: Web Feature Services

Een Web Feature Service (WFS) verschaft zijn gebruikers GIS-gegevens in indelingen die direct in QGIS kunnen worden geladen. Anders dan een WMS, die u alleen een kaart verschaft die u niet kunt bewerken, geeft een WFS u toegang tot de objecten zelf.

Het doel voor deze les: Een WFS gebruiken en begrijpen hoe die verschilt van een WMS.

10.2.1. basic Follow Along: Een WFS-laag laden

  • Begin een nieuwe kaart. Deze is alleen om te demonstreren en wordt niet opgeslagen.

  • Zorg er voor dat “Gelijktijdige CRS-transformatie gebruiken” is uitgeschakeld.

  • Klik op de knop addWfsLayer WFS-laag toevoegen:

  • Klik op de knop Nieuw.

  • Voer, in het dialoogvenster dat verschijnt, de Naam in als nsidc.org en de URL als https://nsidc.org/cgi-bin/atlas_south?version=1.1.0`.

    ../../../_images/new_wfs_connection.png
  • Klik op OK en de nieuwe verbinding zal verschijnen in uw Server-verbindingen.

  • Klik op de knop Verbinden. Een lijst met beschikbare lagen zal verschijnen:

    ../../../_images/wfs_connection_layers.png
  • Zoek naar de laag south_poles_wfs.

  • Klik op de laag om die te selecteren:

    ../../../_images/south_poles_wfs.png
  • Klik op Toevoegen.

Het kan enige tijd vergen om de laag te laden. Als hij is geladen, verschijnt hij in de kaart. Hier ligt hij over de omtrek van Antarctica (beschikbaar op dezelfde server onder de naam antarctica_country_border):

../../../_images/antarctica_border.png

Hoe verschilt dit van het hebben van een WMS-laag? Dat zal duidelijk worden wanneer u de attributen van de laag ziet.

  • Open de attributentabel van de laag south_poles_wfs. U zou dit moeten zien:

../../../_images/poles_attribute_table.png

Omdat de punten attributen hebben, kunnen we ze labelen, al ook hun symbologie wijzigen. Hier is een voorbeeld:

../../../_images/labelling_example.png
  • Voeg labels toe aan uw laag om voordeel te halen uit de gegevens voor attriobuten in deze laag.

10.2.1.1. Verschillen met WMS-lagen

Een Web Feature Service geeft de laag zelf terug, niet slechts een daaruit gerenderde kaart. Dit geeft u directe toegang tot de gegevens, wat betekent dat u hun symbologie kunt wijzigen en analyse-functies erop kunt uitvoeren. Dat gaat echter ten koste van heel veel gegevens die moeten worden verzonden. Dit zal speciaal duidelijk zijn als de lagen die u laadt gecompliceerde vormen hebben, enorm veel attributen, of veel objecten; of zelfs als alleen maar veel lagen laadt. WFS-lagen hebben hierom sowieso veel tijd nodig om te laden.

10.2.2. moderate Follow Along: Een WFS-laag bevragen

Hoewel het mogelijk is een query uit te voeren op een WFS-laag nadat die is geladen, is het vaak efficiënter om de query uit te voeren voordat hij is geladen. Op die manier vraagt u alleen de objecten op die u wilt, wat betekent dat u veel minder bandbreedte gebruikt.

Op de server van WFS die we momenteel gebruiken is bijvoorbeeld een laag genaamd countries (excluding Antarctica). Laten we zeggen dat we willen weten waar Zuid-Afrika ligt, relatief ten opzichte van de laag south_poles_wfs (en misschien ook de laag antarctica_country_border) die al is geladen.

Er zijn twee manieren om dit te doen. U kunt de gehele laag countries … laden, en dan zoals gewoonlijk een query bouwen als hij is geladen. Echter, het verzenden van de gegevens voor alle landen in de wereld en dan alleen de gegevens voor Zuid-Afrika gebruiken lijkt een verspilling van bandbreedte. Afhankelijk van uw verbinding kan het enkele minuten duren om deze gegevensset te laden.

Het alternatief is om de query als een filter te bouwen vóór zelfs de laag te laden vanaf de server.

  • Verbindt, in het dialoogvenster WFS-laag toevoegen…, met de server die we eerder gebruikten en u zou de lijst met beschikbare lagen moeten zien.

  • Dubbelklik naast de laag countries … in het veld Filter, of klik op Query maken:

    ../../../_images/select_country_filter.png
  • Bouw, in het dialoogvenster dat verschijnt, de query "Countryeng" = 'South Africa':

    ../../../_images/country_sa_builder.png
  • Het zal verschijnen als de waarde Filter:

    ../../../_images/country_filter_enabled.png
  • Klik op Toevoegen met de laag countries geselecteerd zoals hierboven. Alleen het land met de waarde South Africa voor Countryeng zal voor die laag worden geladen:

    ../../../_images/antarctica_sa.png

U hoeft het niet te doen, maar als u beide methoden heeft gebruikt, zult u merken dat dit een stuk sneller is dan het laden van alle landen vóórdat u ze gefilterd heeft!

10.2.2.1. Opmerkingen over de beschikbaarheid van WFS

Het is zeldzaam een host voor WFS te vinden die de objecten host die u nodig heeft, als u hele specifieke behoeften heeft. De reden waarom Web Feature Services relatief zeldzaam zijn is vanwege de grote hoeveelheden gegevens die moeten worden verzonden om een geheel object te beschrijven. Het is daarom niet erg kosteneffectief om een WFS te hosten in plaats van een WMS, dat alleen afbeeldingen verzendt.

Het meest voorkomende type WFS dat u daarom zult tegenkomen zal daarom waarschijnlijk op een lokaal netwerk staan of zelfs op uw eigen computer, in plaats van op het internet.

10.2.3. In Conclusion

WFS-lagen hebben de voorkeur boven WMS-lagen als u directe toegang nodig heeft tot de attributen en geometrieën van de lagen. Echter de hoeveelheid gegevens in aanmerking nemende die moet worden gedownload (wat leidt tot problemen met de snelheid en ook een gebrek aan eenvoudig beschikbare publieke servers voor WFS) is het niet altijd mogelijk een WFS te gebruiken in plaats van een WMS.

10.2.4. What’s Next?

Vervolgens zullen we u laten zien hoe u QGIS Server kunt gebruiken om services van OGC te verschaffen.