Een Web Feature Service (WFS) is een interface voor het opvragen en aanleveren van geografische vectoriële data. De communicatie en het aanleveren van de gegevens gebeurt door middel van XML. De gegevens worden aangeleverd onder de vorm van een voor geografische gegevens specifiek schema, beter bekend als GML (Geography Markup Language).
De WFS standaard wordt ontwikkeld door het Open Geospatial Consortium (OGC) en de International Organization for Standardization (ISO). Deze standaard is echter nog niet zo ver gevorderd als deze voor WMS services. Zo heeft ISO nog steeds geen officieel gepubliceerde WFS standaard (ISO: 19142)
WFS definieert 3 operaties:
- GetCapabilities: geeft metadata op service-niveau
- DescribeFeatureType: geeft een beschrijving van de structuur van de gegevens
- GetFeature: levert de gegevens
Deze operaties kunnen opgestart worden vanuit standaard web-browsers via Uniform Resource Locators (URLs). In tegenstelling tot WMS services zijn er slechts een beperkt aantal toepassingen die gebruik kunnen maken van deze services. Ook aan server kant is het implementeren van de standaard minder gangbaar. WFS richt zich vooral op het bevragen van gegevens terwijl WMS eerder bedoeld is voor visualisatie.
GDI-Vlaanderen testbed WFS-services:
Voorlopig worden er 3 WFS-services aangeboden. Elke service bevat één of meer informatielagen.
Alleen de laatste WFS versie 1.1.0 wordt ondersteund. WFS kan aanleiding geven tot de overdracht van grote hoeveelheden gegevens. Daarom is het correct bevragen van een WFS service zeer belangrijk zodat alleen de nodige informatie wordt teruggegeven. Queries kunnen uitgevoerd worden door xml door te geven aan de server met daarin een gerichte query zoals hieronder een voorbeeld is te vinden voor het opvragen van het arrondissement Brugge in de laag RefArr in de Vrbg-service.
http://ogc.beta.agiv.be/ogc/wfs/vrbg/?request=getFeature&typename=vrbg:RefArr&maxfeatures=10&filter=<Filter+xmlns="http://www.opengis.net/ogc"><ogc:PropertyIsEqualTo matchCase="true" xmlns:ogc="http://www.opengis.net/ogc"><ogc:PropertyName>NAAM</ogc:PropertyName><ogc:Literal>Brugge</ogc:Literal></ogc:PropertyIsEqualTo></Filter>
Voor elke service hieronder opgegeven staat ook een verwijzing naar de capabilities. Deze geven een beschrijving van de service. Bij een eerste oproep vanop deze pagina moeten de gebruikersnaam en de webservice-sleutel (niet het paswoord! - zie Security hieronder) ingegeven worden. Bij alle verdere consultaties tijdens dezelfde sessie is dat niet meer nodig.
- Gwp (Gewestplan, vector, toestand 01/01/2002) Getcapabilities
- Vha (Vlaamse Hydrografische Atlas) Getcapabilities
- Vrbg (Voorlopig Referentiebestand Gemeentegrenzen) Getcapabilities
Onder de rubriek voorbeelden is een WFS testpagina ter beschikking die toelaat om twee operaties uit te voeren. De manier waarop de derde operatie kan geïmplementeerd worden, staat hierboven kort beschreven door middel van een voorbeeld.
Security
Om de WFS-services, met uitzondering van Vrbg, te kunnen gebruiken moet u over een gebruikersnaam en webservice-sleutel beschikken.
U kunt via http://login.agiv.be/?ROLE=85352F42-FBD0-44b8-9DBA-F65A40064F85 toegang aanvragen tot de WFS-services. Uw webservice-sleutel vindt u onder het tabblad Gebruikersgegevens onder Mijn profiel.De beveiliging gebeurt net zoals voor WMS via http digest authentication. Indien een operatie opgestart wordt vanuit een standaard web-browser moeten de credentials interactief ingegeven worden.
In eigen ontwikkelde (.NET) viewers worden de credentials toegekend aan de “WebRequest” of de WebClient.
Hieronder vindt u C# voorbeeldcode.
Metadata
In de service-metadata (GetCapabilities) wordt o.a. de volgende informatie teruggevonden:
- Service informatie
- Naam (Name)
- Omschrijvende naam (Title)
- Beschrijving van de service (Abstract)
- Sleutelwoorden (Keywordlist)
- Contactinformatie (ContactInformation)
- Ondersteunde operaties (Capability)
- Ondersteunde filters (FilterCapability)
- Layer informatie
- Naam (Name)
- Omschrijvende naam (Title)
- Beschrijving van de layer (Abstract)
- Projectiesystemen (CRS [SRS in lagere versies])
- Url naar de metadatabank voor de respectieve laag (MetadataURL)