Web Feature Service
# Web Feature Service

Web Feature Service ou WFS est un protocole décrit dans des spécifications maintenues par l'Open Geospatial Consortium. Le service WFS permet, au moyen d'une URL formatée, d'interroger des serveurs cartographiques afin de manipuler des objets géographiques (lignes, points, polygones...), contrairement au Web Map Service ou WMS qui permet la production de cartes géoréférencées à partir de serveurs géographiques.

## Fonctionnement

WFS propose des interfaces pour la description des manipulations de données sur des objets géographiques en utilisant le protocole internet HTTP. Les opérations de manipulation de données permettent de :

* Créer des nouveaux objets
* Effacer des objets
* Mettre à jour des objets
* Prendre ou rechercher des objets sur la base de contraintes spatiales.

La spécification WFS définit 5 opérations pour envoyer des requêtes au serveur et obtenir des informations :

* GetCapabilities : permet de connaître les capacités du serveur (quelles opérations sont supportées et quels objets sont fournis).
* DescribeFeatureType : permet de retourner la structure de chaque entité susceptible d’être fournie par le serveur.
* GetFeature : permet de livrer des objets (géométrie et/ou attributs) en GML (Geography Markup Language).
* LockFeature : permet de bloquer des objets lors d'une transaction.
* Transaction : permet de modifier l'objet (création, mise à jour, effacer).

Sur la base des opérations décrites ci-dessus deux types de Web Feature Service peuvent être définis :

* WFS basique : service WFS qui implémente seulement les trois premières opérations (GetCapabilities, DescribeFeatureType et GetFeature). Il peut être considéré comme un service WFS " en lecture seule ".
* WFS avec transactions : service WFS qui supporte toutes les opérations d'un WFS basique et en plus implémente les opérations de transaction. Une opération de transaction WFS peut implémenter des opérations de blocage d'objet (LockFeature).

Comme la spécification WFS met en avant le transfert d’objets géographiques, il est nécessaire que les données géographiques soient modélisées selon un modèle de données uniforme. Ainsi, il est important que le schéma de données soit fourni avec les données. De cette façon, un client pourra comprendre les modèles de données et les données.

Le mécanisme d'échange de données GML de l’OGC est utilisé comme base pour les spécifications WFS. De cette façon, des données géographiques et leur schéma correspondant peuvent être codés et transférés en XML.

## Composition de l'URL

Voici un exemple d'URL :

http://local/cgi-bin/mapservmap=wms/exemple.''NAME''=Europe''SERVICE''=WFS''VERSION''=6.2.1''REQUEST''=Feature''SRS''=EPSG%3A4326''BBOX''=-15.82,32.69,33.39,71.36

* NAME : nom de couche
* BBOX : étendue des données
* VERSION : version
* SERVICE : service (WFS)
* SRS : Projection utilisée (EPSG%3A4326= WGS84)
