Web Feature Service - WFS

Description

Le Web Feature Service est un standard OGC de Service Web qui définit une interface d’interopérabilité technique, dédiée à la publication d’objets géographiques vecteurs (lignes, points, polygones...) ainsi que leur structure.

L’interface WFS décrit des opérations permettant en premier lieu le téléchargement des entités de données géographiques stockées dans des bases de données. Ce service permet à un client de récupérer et de mettre à jour ces données géospatiales encodées au format Geography Markup Language (GML). Des opérations supplémentaires sont définies par WFS permettant la manipulation des données vecteur (création, suppression et mise à jour).

Le standard définit un protocole d’interopérabilité à plusieurs niveaux d'opérations :

    • le premier retourne les métadonnées,
    • le deuxième renvoie les données elles-mêmes (collection d’objets) ou des informations constitutives de ces données (attributs d’un objet),
    • le troisième niveau d’opération, optionnel, permet de modifier/manipuler les données. On parle alors de service WFS-T pour Transactionnel.

Comme les autres normes OGC, le standard WFS ne fait aucune supposition quant à l’architecture technique sur laquelle repose le service. En particulier, aucune exigence ne concerne la manière dont le stockage des données gérées par le service doit être réalisé, ni la nature des applications exploitant le service. Cela en fait un standard pouvant répondre à de multiples usages et types d’architectures. Un service WFS peut être utilisé par des clients variés (clients lourds, clients légers, serveurs d’applications, d’autres services web notamment) et peut exploiter des données stockées et structurées de manières très diverses (fichiers, bases de données centralisées voire distribuées).

Actuellement (2018), trois versions sont supportés par les deux principales solutions logicielles de serveur cartographiques (Mapserver et Geoserver) : 1.0.0, 1.1.0, et la version actuelle 2.0.0. Bien qu'il existe des différences importantes entre ces versions, la syntaxe de requête reste souvent la même.

Opérations WFS de base

Toutes les versions de WFS comprennent ces opérations:

Tandis que les opérations suivantes sont spécifiques à la version 2.0.0 :

Enfin, les opérations suivantes sont disponibles dans la version 1.1.0 uniquement:

WFS support également un certain nombre de formats pour les exceptions (qui sont les manières de signaler que quelque chose ne s'est pas déroulé suivant les attentes) :



GetCapabilities (obligatoire)

On obtient un document XML décrivant le service et les données disponibles.

M/O : Mandatory/Optional

NB : La réponse pourra être sensiblement différente selon la version utilisée

Dans la réponse XML :

Exemple :

http://geoxxx.agrocampus-ouest.fr/owsiwds/iwds_workspace/ows?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetCapabilities

(Cliquez sur le lien pour voir la réponse)


DescribeFeatureType (obligatoire)

On obtient un document XML décrivant le schéma d'un type d'objet (FeatureType)

M/O : Mandatory/Optional

Dans la réponse XML :

Exemple :

http://geobretagne.fr/geoserver/cadastre/wfs?SERVICE=WFS&VERSION=2.0.0&REQUEST=DESCRIBEFEATURETYPE&NAME=anfr:cartoradio_antennes

(Cliquez sur le lien pour voir la réponse)


GetFeature (obligatoire)

On obtient un document GML décrivant les objets.

M/O : Mandatory/Optional

Exemple :

http://geobretagne.fr/geoserver/anfr/wfs?SERVICE=WFS&VERSION=2.0.0&REQUEST=GETFEATURE&TYPENAMES=anfr:cartoradio_antennes&COUNT=10&SRSNAME=EPSG:4326

(Cliquez sur le lien pour voir la réponse)


Autres opérations WFS

LockFeature (WFS-T) : Cette opération permet le verrouillage d’une ou plusieurs entités pendant la durée d'une transaction, permettant de gérer les accès concurrents.

Transaction (WFS-T) : Cette opération permet de créer, mettre à jour et supprimer des entités géographiques.


Liens utiles:

http://www.opengeospatial.org/standards/wfs (Anglais)

http://docs.geoserver.org/2.6.x/en/user/services/wfs/reference.html (Anglais)

http://georezo.net/wiki/main/standards/wfs

Last modified: Tuesday, 3 April 2018, 12:22 PM