Download Service Pre-defined Datasets via WFS

From Geonovum Wiki
Jump to: navigation, search


Aan de slag met INSPIRE

Doelgroep
Processtappen
Deadlines
Bronnen
Over deze wiki

Aanmerking en Namespaces

Aanmerkingsregister
Namespace register

Inrichten organisatie

1. Dataharmonisatie

Documentatie dataharmonisatie
Principes dataharmonisatie
As-is versus geharmoniseerd
Prioritaire datasets (e-reporting)
Generic Conceptual Model
INSPIRE ID
Codelijsten
Portrayal
Geometrie
Data-validatie
Checklist dataharmonisatie
Control panel
Extensies
Thematic Clusters
FAQ Dataharmonisatie

2. Metadata

Metadata aanmaken
Waar moet mijn metadata aan voldoen?
Invulinstructie voor datasets
Voorbeeld XML voor INSPIRE dataset metadata
Prioritaire datasets
Metadata en Taal
Metadata-validatie
Geharmoniseerde Gebruiksvoorwaarden
FAQ Metadata

3a. Network Services

Informatie Network Services
Vereisten Services
Quality of Services
Rights Management Layer
Agree operation
RM en GeoGedeeld
View service maken
Recente wijzigingen specificaties
INSPIRE vereisten opnemen in een Capabilities document
Category Layers
Meertaligheid in een Capabilities document
Voorbeeld XML voor Capabilities
Portrayal
FAQ View Services
Download service maken
Recente wijzigingen specificaties Download Services
Download Service via Atom feed
Automatisch genereren van OpenSearch description
Download Service Pre-defined Datasets via WFS
Download Service Direct Access via WFS
Download service via WCS
Download service via SOS
FAQ Download Services
Metadata Services
Scenario's voor het aanmaken van service metadata
Invulinstructie voor services
Voorbeeld XML voor INSPIRE service metadata
Valideren Metadata Services
Valideren Services

3b. Spatial Data Services

Wat is een Spatial Data Service
Categorieën van Spatial Data Service
Bepalen categorie Spatial Data Service
Invocable Spatial Data Service
Interoperable Spatial Data Service
Harmonised Spatial Data Service
Metadata templates voor Spatial Data Service

4. Publiceren

Publiceren Inspire aanduiding

5. Validatie

6. INSPIRE vervolg

Monitoring en Rapportage

Veelvoorkomende vragen

FAQ Metadata
FAQ View Services
FAQ Download Services
FAQ Data Harmonisatie

Extra informatie

Terminologie
Normatief Kader TC 211
UML notatie


 


Inrichten organisatie 1. Data harmonisatie 2. Metadata 3. Services 4. Publicatie Inspire portal 5. Validatie


De Technical Guidance beschrijft in hoofdstuk 6 hoe een Download service voor Pre-defined datasets geïmplementeerd kan worden met een Web Feature Service en Filter Encoding.


Web Feature Service 2.0: ISO 19142 / ISO 19143

De OGC standaard voor Web Feature Service 2.0 (WFS 2.0) is in samenwerking met ISO opgesteld. Bij ISO heet deze standaard formeel ISO 19142. WFS 2.0 specificeert een webservice interface om geografische gegevens te bevragen. Een WFS geeft standaard GML (3.2 voor WFS 2.0) terug. Voor het bevragen maakt WFS gebruik van filters. Voorbeelden van filters zijn: gegevens selecteren op basis van een bepaald gebied en/of bepaalde attribuutwaarden. Deze filters dienen conform de Filter Encoding 2.0 (FE 2.0) gecodeerd te zijn. Deze standaard is ook in samenwerking met ISO opgesteld en heet daar ISO 19143.


Conformance classes als eis

Om aan te geven welke delen van de WFS 2.0 en FE 2.0 standaard ondersteund zijn in een implementatie, zijn in de standaarden zogenaamde conformance classes gedefinieerd. Een conformance classes groepeert een deel van de eisen uit de standaard. Als een implementatie claimt aan een bepaalde conformance class te voldoen, dan is voor een gebruiker duidelijk welke functionaliteit ondersteund wordt.

Voorbeelden van conformance classes uit WFS 2.0 en FE 2.0 zijn:

  • HTTP GET: een WFS voldoet hiermee aan alle eisen die met HTTP GET te maken hebben, zoals de encoding van requests.
  • HTTP POST: een WFS voldoet hiermee aan alle eisen die met HTTP POST te maken hebben, zoals de encoding van requests in XML.
  • Minimum Spatial Filter: een WFS ondersteunt een set filters om ruimtelijke queries op te kunnen lossen.
  • Basic WFS: een WFS ondersteunt de basis functies van de WFS standaard. De WFS ondersteunt onder andere de requests GetCapabilities, DescribeFeatureType en GetFeature en enkele ruimtelijke filters
  • Transactional WFS: een WFS biedt de functies die vereist zijn voor het bewerken van gegevens via WF

Meestal zullen implementaties meerdere conformance classes ondersteunen.

De INSPIRE Technical Guidance gebruikt conformance classes om aan te geven aan welke eisen een implementatie van een WFS dient te voldoen.


Eisen INSPIRE voor Pre-defined Datasets Download Service met Web Feature Service

Het aanbieden van Pre-defined datasets via een Web Feature Service is een methode om aan de eisen uit de Implementing Rule te kunnen voldoen. Een dergelijke WFS is in staat om van datasets een applicatie schema te geven en via GetFeature in zijn geheel op te halen of individuele objecten via hun identifier.

De Technical Guidance bevat de eisen die INSPIRE stelt aan een dergelijke WFS:

  1. voldoen aan de conformance class Simple WFS uit WFS 2.0. Dit is o.a. inclusief de operaties GetCapabilities, DescribeFeatureType, ListStoredQueries, DescribeStoredQueries, GetFeature en de stored query GetFeatureById. De WFS geeft GML 3.2 terug.
  2. voldoen aan de conformance class HTTP GET uit WFS 2.0: de WFS dient in ieder geval de HTTP GET vormen van de requests te ondersteunen.
  3. voldoen aan de conformance class Query uit FE 2.0. De WFS is in staat een query uit te voeren (zoals de stored query GetFeatureById)
  4. ondersteuning van Stored Queries om de pre-defined datasets om alle mogelijke combinaties van het CRS, een dataset (via de dataset ID) en de taal terug te geven. De WFS moet hiervoor Stored Queries aanbieden.


Achtergrond
Stored Queries zijn een nieuw mechanisme in WFS 2.0. Hiermee worden een soort query templates aangeboden, waarmee een client niet een geheel filter hoeft op te stellen, maar alleen enkele van te voren opgegeven parameters hoeft te specificeren. WFS requests worden hier eenvoudiger van. Een service kan hiermee een soort FAQs aanbieden van WFS requests, die voor een client makkelijk te gebruiken zijn. Bijvoorbeeld requests om op basis van een typering (categorie) een dataset te bevragen.


Meertaligheid

INSPIRE stelt via de Implementing Rules aan Netwerk Services, zoals View Services, Discovery Services en ook Download Services, eisen ten aanzien van ondersteuning van meerdere talen. WFS 2.0 biedt zelf geen mechanisme hiertoe. De Technical Guidance van Download Services stelt daarom de volgende aanvullende eisen aan een WFS 2.0 implementatie om meertaligheid te ondersteunen:

  1. voor het GetCapabilities request via HTTP GET dient de WFS een extra parameter te ondersteunen waarmee de client de taal van de Capabilities kan opvragen. De parameter naam is LANGUAGE, de waardes komen uit de ISO 839-2/B apha 3 lijst. Voorbeelden van waardes zijn: "dut" voor Nederlands, "eng" voor Engels.
  2. de Capabilities elementen Title en Abstract dienen in de gevraagde taal teruggegeven worden of in de standaard taal als de gevraagde taal niet ondersteund wordt.
  3. De Capabilities bevatten een lijst van ondersteunde talen in de Extended Capabilities. Dit mechanisme is hetzelfde als bij View Services.

Handig om te weten is dat een WFS, als die maar één taal ondersteunt, de parameter LANGUAGE kan negeren als een client die verstuurt. Dit omdat een WFS de standaard taal mag teruggeven als de gevraagde taal niet ondersteund wordt. Dit betekent als een WFS maar één taal ondersteunt dat altijd die Capabilities teruggegeven hoeven te worden.


De andere operaties hoeven geen extra zaken te ondersteunen voor meertaligheid, omdat:

  1. DescribeFeatureType een technische beschrijving teruggeeft, een schema, waarop een natuurlijke taal niet van toepassing is.
  2. de GetFeature operation geeft data terug, op den duur conform de INSPIRE applicatie schema's. Deze schema's bevatten al een mechanisme om waardes in meerdere talen op te geven. De Technical Guidance stelt daarom dat het niet van toepassing is om hier een aparte parameter voor op te geven.


Naast de eisen doet de Technical Guidance de volgende aanbevelingen, voor het geval een service provider meerdere talen wil aanbieden:

  1. gebruik aparte URLs voor verschillende talen, dus voor requests op Engelstalige data een andere URL dan voor requests op Nederlandstalige data. Dit houdt het overzichtelijk.
  2. geef foutmeldingen in de talen die de service aanbiedt.


Quality of Service
Zie Quality of Services. De Technical Guidance 3.1 geeft in hoofdstuk 8 een nadere toelichting / uitwerking van de QoS eisen uit de Implementing Rule. Hierbij is aangegeven welke requests en eventuele filters te gebruiken voor de tests.


Voordelen / nadelen

Het is onmogelijk om algemeen geldende uitspraken te doen over voor- en nadelen van de ene methode ten opzichte van de andere. Vaak zal het zo zijn dat het afhangt van de dataset, de wensen van een service provider (en gebruikers) en de beschikbare middelen, capaciteiten en tijd binnen een organisatie wat de meest handige methode is.


Als er nog geen webservices draaien om een dataset aan te bieden en de dataset is niet erg dynamisch, dan is vaak een Atom feed het snelste en meest eenvoudige om te maken. Bij grote datasets kan het dataverkeer (over de netwerkverbinding) ook te veel gaan vragen en kan opsplitsen van het bestand nodig zijn. Dit vraagt om extra handelingen bij het inrichten.


Is de dataset dynamischer van aard of is het niet gewenst om de data in verschillende CRSen op te slaan, dan kan een Download Service op basis van WFS (implementaties ondersteunen vaak on-the-fly herprojectie) handiger zijn. Webservices bieden ook voordelen voor gebruik van de data in andere processen.

Linken naar gegevens
In INSPIRE komt het voor dat vanuit data verwezen wordt naar andere datasets, bijvoorbeeld om gebruik te maken van de geometrie van een andere dataset als de dat zelf geen geometrie bevat. Dit gebeurt bijvoorbeeld bij Human Health en Statistical Units of bij Transport Networks. Als een organisatie data aanbiedt waar een andere dataset naar verwijst, is het voor de technische werking van de links noodzakelijk dat de data per object te linken is. Bij datasets die alleen via Atom feeds als bestand worden aangeboden is dit technisch vaak lastig. Met WFS kan dit wel, door gebruik te maken van requests om 1 object op te halen. Het verdient daarom aanbeveling om data waar andere datasets naar (kunnen) verwijzen, aan te bieden via WFS.