Web Feature Service (WFS) – version 1.1DescriptionLe « Web Feature Service » (WFS), est un standard OGC de Service Web qui...
ENCODAGE DES REQUETESWFS 1.1 décrit trois formes d’encodage des requêtes, à savoir :        HTTP GET avec un encodage KVP...
Paramètres obligatoires :        SERVICE=WFS : type de service        REQUEST=GetCapabilities : nom de l’opérationParamè...
Paramètres obligatoires :        SERVICE=WFS : type de service        VERSION : version de WFS (e.g. 1.1.0)        REQU...
GetGmlObject (optionnel)GetGmlObject (XLink) – Cette opération permet d’obtenir un objet géographique (ou une propriété d’...
Transaction (optionnel)Transaction (WFS-T) - Cette opération permet de créer, mettre à jour et supprimer des entités géogr...
Normes / Standards liés        GML 3.1 (http://portal.opengeospatial.org/files/?artifact_id=4700) - Geography Markup Lang...
Exemples dimplémentation du WFSPour trouver des applications (serveurs et clients) supportant le WFS :      http://www.op...
Prochain SlideShare
Chargement dans…5
×

Web Feature Service (WFS)

1 268 vues

Publié le

Le « Web Feature Service » (WFS), 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 (c'est-à-dire des données vecteur) ainsi que leur structure.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 268
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
12
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Web Feature Service (WFS)

  1. 1. Web Feature Service (WFS) – version 1.1DescriptionLe « Web Feature Service » (WFS), est un standard OGC de Service Web qui définit une interfaced’interopérabilité technique, dédiée à la publication d’objets géographiques (cest-à-dire des données vecteur)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éesgéographiques stockées dans des bases de données. Ces données sont exposées a minima sous forme de fluxstandard GML (Geographic Markup Language). Des opérations supplémentaires sont définies par WFSpermettant la manipulation des données vecteur (création, suppression et mise à jour).Le standard définit un protocole d’interopérabilité à plusieurs niveaux dopé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 (cf. détails dans la description des opérations).Le standard WFS ne fait aucune supposition quant à l’architecture technique sur laquelle repose le service. Enparticulier, 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 à demultiples 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éesstockées et structurées de manières très diverses (fichiers, bases de données centralisées voire distribuées).La suite du document est consacrée à la description d’un service WFS relatif à la version 1.1, la plusimplémentée actuellement. La version 2.0 (aussi norme ISO 19142 depuis fin 2010) n’est pour le moment quepeu implémentée ; elle est cependant la version exigée par INSPIRE et fera donc l’objet d’une prochaine fiche.FonctionnementLES TYPES D’USAGES DU WFSUn WFS peut être implémenté à trois niveaux: soit "basique", soit “XLink”, soit "transactionnel".  Les WFS basiques donnent un accès en lecture seule (c’est à dire le téléchargement) aux données.  Les WFS XLink permettent de plus d’accéder aux objets ou à leurs propriétés par leurs identifiants (cf. opération GetGmlObject) et de résoudre des liens XLink (cf. paramètres traverseXlinkDepth et traverseXlinkExpiry des opérations GetGmlObject, GetFeature et GetFeatureWithLock).  Les WFS transactionnels (WFS-T) supportent toutes les opérations des WFS basiques en y ajoutant les opérations de transaction. Un mécanisme de verrouillage est optionnel ; il permet à plusieurs utilisateurs deffectuer simultanément une série dopérations comme la création, la mise à jour, la suppression et linterrogation de différentes entités géographiques sans risque de conflit.Page 1 sur 8 - Co-rédaction réalisée par la participation des membres du Forum français de l’OGC et duGroupe OGC de l’AFIGéO.
  2. 2. ENCODAGE DES REQUETESWFS 1.1 décrit trois formes d’encodage des requêtes, à savoir :  HTTP GET avec un encodage KVP (Key-Value-Pair) des requêtes,  HTTP POST avec un encodage XML KVP des requêtes,  SOAP (cest-à-dire HTTP POST avec encodage de la requête dans l’élément Body du message SOAP).Dans la suite du document seul l’encodage HTTP GET / KVP est présenté, étant le plus communémentimplémenté.PARAMETRES DES REQUETES HTTP GET / KVP  Les noms des paramètres ne sont pas sensibles à la casse, contrairement aux valeurs (GetCapabilities par exemple).  Il est conseillé décrire les paramètres en majuscules pour une meilleure lisibilité.  Les paramètres peuvent être définis dans nimporte quel ordre.  Les listes de valeurs doivent utiliser la virgule comme séparateur.  Si une virgule ou un espace est présent dans la valeur, celle-ci doit être précédée d’un caractère d’échappement. Paramètres communs :  VERSION (obligatoire, sauf pour l’opération GetCapabilities) : définit le numéro de version du standard WFS utilisé, 1.1.0 par exemple  SERVICE (obligatoire) : définit le type de service, obligatoirement WFS pour un service WFS  REQUEST (obligatoire) : indique quelle opération du service est invoquée. La valeur doit être le nom dune opération offerte par le serveur  NAMESPACE (optionnel) : définit l’espace de nommage permettant de qualifier un objet géographique ou ses propriétés  FORMAT (optionnel) : définit le format de sortie de la réponse dune opération. Le serveur doit gérer un certain nombre de formats, et doit les indiquer dans ses métadonnées  EXCEPTIONS (optionnel) : indique le format de présentation des messages d’erreur retournés par le serveurLES OPERATIONS DU WFSLes opérations offertes par un service WFS sont :GetCapabilities (obligatoire)GetCapabilities (Basique) : Cette opération permet d’interroger le serveur afin d’obtenir les informationssuivantes (informations présentées dans un document XML communément appelé Capabilities) :  les métadonnées du service : identification du service et de l’entité qui fournit le service,  les opérations, versions et encodages des requêtes supportées par le service,  les classes d’objets servies,  les propriétés des objets accessibles via l’opération GetGmlObject,  les capacités de filtre du service.Page 2 sur 8 - Co-rédaction réalisée par la participation des membres du Forum français de l’OGC et duGroupe OGC de l’AFIGéO.
  3. 3. Paramètres obligatoires :  SERVICE=WFS : type de service  REQUEST=GetCapabilities : nom de l’opérationParamètres optionnels :  VERSION : version de WFS (e.g. 1.1.0)  ACCEPTFORMATS : liste des formats (sous forme de types MIME) acceptés par l’application cliente. Ce paramètre n’est pas obligatoirement reconnu par tous les services (son support est documenté dans les Capabilities du service). La valeur par défaut de ce paramètre est txt/xml et les spécifications WFS indiquent que la réponse à cette opération est obligatoirement un document XML  ACCEPTVERSIONS : liste des versions du standard WFS supportés par l’application cliente. Exemple : 1.1.0,1.0.0. Ce paramètre n’est pas obligatoirement reconnu par tous les services (son support est documenté dans les Capabilities du service)  SECTIONS : liste des sections des Capabilities du service à récupérer. Les noms des sections sont : ServiceIdentification, ServiceProvider, OperationsMetadata, FeatureTypeList, ServesGMLObjectTypeList, SupportsGMLObjectTypeList et Filter_Capabilities. Ce paramètre n’est pas obligatoirement reconnu par tous les services (son support est documenté dans les Capabilities du service)  UPDATESEQUENCE : Chaîne de caractères identifiant la dernière version des “Capabilities” du service en possession de l’application cliente. A l’aide de cette information, le service peut déterminer s’il est nécessaire de renvoyer ce document à l’application cliente. Ce paramètre n’est pas obligatoirement reconnu par tous les services. Exemple de valeur : XYZ123.Exemple de requête:http://nsidc.org/cgi-bin/atlas_north?service=WFS&request=GetCapabilities&version=1.1.0La réponse est un fichier XML.DescribeFeatureType (obligatoire)DescribeFeatureType (Basique) : Cette opération fournit une description de la structure de n’importe quel typedentité géographique disponible sur le serveur dans un schéma XML (un schéma GML3 pour être plus précis).Paramètres obligatoires :  SERVICE=WFS : type de service  VERSION : version de WFS (e.g. 1.1.0)  REQUEST=DescribeFeatureType : nom de l’opérationParamètres optionnels :  TYPENAME : liste des classes d’objets pour lesquels l’utilisateur désire une description plus précise  OUTPUTFORMAT : format dans lequel est fournie la description des objets (GML 3.1.1 est le format par défaut).GetFeature (obligatoire)GetFeature (Basique) : Permet d’obtenir les instances des objets géographiques. L’application cliente peutspécifier les propriétés à obtenir et filtrer les objets selon des critères spatiaux ou alphanumériques. Le formatde sortie par défaut est GML, mais d’autres formats peuvent être supportés (comme l’encodage de la collectiond’objets en Shapefile). La conversion automatique des systèmes de coordonnées peut également êtresupportée (reprojections).Page 3 sur 8 - Co-rédaction réalisée par la participation des membres du Forum français de l’OGC et duGroupe OGC de l’AFIGéO.
  4. 4. Paramètres obligatoires :  SERVICE=WFS : type de service  VERSION : version de WFS (e.g. 1.1.0)  REQUEST=GetFeature : nom de l’opération  TYPENAME : la liste des types d’objets requêtés (optionnel si une liste FEATUREID est fournie)Paramètres optionnels :  OUTPUTFORMAT : format dans lequel est fournie la description des objets (GML 3.1.1 est le format par défaut)  RESULTYPE=(hits/results) : permet d’indiquer si l’on désire seulement connaitre le nombre de résultats (hits) satisfaisant la requête ou récupérer la description complète des objets (results). Valeur par défaut : results  PROPERTYNAME : noms des propriétés qui doivent être fournies avec les objets requêtés  FEATUREVERSION=(ALL/N) : permet d’indiquer la version des objets géographiques que l’on désire obtenir (uniquement valable dans le cas du support du versionnement dans la base de données et par le service WFS). ALL permet de prendre en compte toutes les versions des objets. L’omission de ce paramètre implique que seule la dernière version des objets est prise en compte  MAXFEATURES : limite le nombre maximal d’entités que l’on désire recevoir en réponse (par défaut, tous les résultats sont transmis)  SRSNAME : nom du SRS désiré pour les géométries des objets retournés  FEATUREID : liste d’identifiants des objets géographiques à retourner (usage mutuellement exclusif avec FEATUREID et FILTER)  FILTER : filtre exprimant des conditions sur les objets à retourner (usage mutuellement exclusif avec FEATUREID et BBOX)  BBOX : rectangle englobant limitant spatialement la requête (usage mutuellement exclusif avec FEATUREID et FILTER)  SORTBY : permet de trier les données retournées suivant la valeur d’une ou plusieurs propriétés des objets (juste un paramètre de présentation des données retournées)Paramètres optionnels spécifiques à la résolution des liens XLink :  TRAVERSEXLINKDEPTH : profondeur maximale de résolution des liens XLink (valable pour l’ensemble des propriétés, sauf mention spécifique par le paramètre PROPTRAVXLINKDEPTH)  TRAVERSEXLINKEXPIRY : durée en minutes pendant laquelle le service WFS doit attendre pour la résolution des liens XLink (valable pour l’ensemble des propriétés, sauf mention spécifique par le paramètre PROPTRAVXLINKEXPIRY)  PROPTRAVXLINKDEPTH / PROPTRAVXLINKEXPIRY : contraintes identiques aux deux paramètres précédents mais s’appliquent de manière spécifique aux propriétés spécifiées par le paramètre PROPERTYNAMEGetFeatureWithLock (optionnel)GetFeatureWithLock (WFS-T) : Cette opération est analogue à GetFeature mais verrouille en même temps lesinstances des objets demandées (dans un but de modification / mise à jour de ces dernières par exemple). Enplus des paramètres obligatoires et optionnels partagés avec l’opération GetFeature, cette opération disposedu paramètre optionnel suivant :  EXPIRY : durée en minutes pendant laquelle les objets doivent être verrouillés (la définition des conditions dans lesquelles les verrous sont supprimés, lorsqu’aucune valeur n’est spécifiée dans la requête, est propre à chaque implémentation)La valeur du paramètre REQUEST doit être GetFeatureWithLock.Page 4 sur 8 - Co-rédaction réalisée par la participation des membres du Forum français de l’OGC et duGroupe OGC de l’AFIGéO.
  5. 5. GetGmlObject (optionnel)GetGmlObject (XLink) – Cette opération permet d’obtenir un objet géographique (ou une propriété d’un objet)par son identifiant XML.Paramètres obligatoires :  SERVICE=WFS : type de service  VERSION=version : version de WFS (e.g. 1.1.0)  REQUEST=GetGmlObject : nom de l’opération  TRAVERSEXLINKDEPTH : profondeur maximale de résolution des liens XLink (valable pour l’ensemble des propriétés, sauf mention spécifique par le paramètre PROPTRAVXLINKDEPTH)  GMLOBJECTID : identifiant d’un objet ou d’une propriété d’un objet à récupérerParamètre optionnel :  TRAVERSEXLINKEXPIRY : durée en minutes pendant laquelle le service WFS doit attendre pour la résolution des liens XLinkLockFeature (optionnel)LockFeature (WFS-T) - Cette opération permet le verrouillage d’une ou plusieurs entités pendant la duréedune transaction, permettant de gérer les accès concurrents.Paramètres obligatoires :  SERVICE=WFS : type de service  VERSION : version de WFS (e.g. 1.1.0)  REQUEST=LockFeature : nom de l’opération  TYPENAME : liste des types d’objet sur lesquels le verrou veut être posé (optionnel si une liste FEATUREID est fournie)Paramètres optionnels :  EXPIRY : durée en minutes pendant laquelle les objets doivent être verrouillés (la définition des conditions dans lesquelles les verrous sont supprimés, lorsque aucune valeur n’est spécifiée dans la requête, est propre à chaque implémentation)  LOCKACTION=(ALL/SOME) : précise si l’on désire essayer de mettre le verrou sur tous les objets sinon quoi l’opération est avortée (ALL) ou si l’on désire verrouiller autant d’objets que possible (SOME). La valeur par défaut est ALL  FEATUREID : liste d’identifiants des objets géographiques à retourner (usage mutuellement exclusif avec FEATUREID et FILTER)  FILTER : filtre exprimant des conditions sur les objets à retourner (usage mutuellement exclusif avec FEATUREID et BBOX)  BBOX : rectangle englobant limitant spatialement la requête (usage mutuellement exclusif avec FEATUREID et FILTER)Page 5 sur 8 - Co-rédaction réalisée par la participation des membres du Forum français de l’OGC et duGroupe OGC de l’AFIGéO.
  6. 6. Transaction (optionnel)Transaction (WFS-T) - Cette opération permet de créer, mettre à jour et supprimer des entités géographiques.Paramètres obligatoires :  SERVICE=WFS : type de service  VERSION : version de WFS (e.g. 1.1.0)  REQUEST=Transaction : nom de l’opération  TYPENAME : liste des types d’objet sur lesquels l’opération veut être exécutée (ce paramètre est optionnel si le paramètre FEATUREID est renseigné)Paramètres optionnels:  RELEASEACTION=(ALL/SOME) : précise si l’on désire libérer le verrou sur tous les objets (ALL) ou si l’on désire ne déverrouiller que les objets altérés par la transaction (SOME). Valeur par défaut : ALL  FEATUREID : liste d’identifiants des objets géographiques à retourner (usage mutuellement exclusif avec FEATUREID et FILTER)  FILTER : filtre exprimant des conditions sur les objets ciblés (usage mutuellement exclusif avec FEATUREID et BBOX)  BBOX : rectangle englobant limitant spatialement la requête (usage mutuellement exclusif avec FEATUREID et FILTER)Remarque : Les trois types de transaction possibles avec WFS sont INSERT (création), UPDATE (mise à jour) etDELETE (suppression). Cependant seule la suppression est considérée pertinente avec le binding HTTP GET /KVP. En effet l’envoi de données vecteur encodées en KVP n’est pas pertinent.UN CAS D’USAGE D’UTILISATION CLASSIQUE DU CSWÀ titre d’exemple et pour illustrer l’utilisation de ces opérations, voici une séquence typique d’opérationsréalisée par une application pour modifier le contenu d’une base de données accessible via un service WFS : 1. Prise de connaissance des métadonnées et des capacités du service à l’aide de l’opération GetCapabilities. Cette opération permet à l’application cliente :  de vérifier que le service implémente bien la version de WFS qu’elle supporte,  de vérifier que les opérations dont elle a besoin pour mettre à jour la base de données sont offertes par le service,  d’identifier la classe d’objets qu’elle souhaite mettre à jour. 2. Prise de connaissance du modèle de données de la classe d’objets à mettre à jour grâce à l’opération DescribeFeatureType, 3. Prise de connaissance du nombre d’objets présents dans l’emprise géographique à mettre à jour puis téléchargement des objets présents dans cette zone à l’aide de l’opération GetFeature, 4. Recherche et verrouillage des objets présentant des valeurs d’attributs particulières (afin de les modifier par la suite en évitant des conflits avec des modifications faites par d’autres utilisateurs ou applications) avec les opérations LockFeature ou GetFeatureWithLock, 5. Modification, création et suppression d’objets et libération des verrous qui ne sont plus utiles à l’aide de l’opération Transaction.L’utilisation d’un service WFS-T se fait le plus souvent dans une configuration ou les applications clientes sontpréalablement authentifiées. Pour cela, le standard WFS prévoit l’utilisation du protocole HTTPS pour leséchanges sécurisés entre le service et ses clients.Page 6 sur 8 - Co-rédaction réalisée par la participation des membres du Forum français de l’OGC et duGroupe OGC de l’AFIGéO.
  7. 7. Normes / Standards liés  GML 3.1 (http://portal.opengeospatial.org/files/?artifact_id=4700) - Geography Markup Language Implementation Specification  Filter Encoding 1.1 (http://portal.opengeospatial.org/files/?artifact_id=8340) – Filter Encoding Emplementation Specification : Ce standard décrit la structure et la composition d’un filtre de données pouvant être utilisé par le paramètre FILTER des requêtes WFS.  OWS Common Implementation Specification 0.3.0 – 04-016r3. Ce document décrit des opérations et paramètres communs aux standards de services web de l’OGC. Ce document n’est pas accessible sur le site de l’OGC.VersionsLes différentes versions de spécifications du WFS (1.1 & 2) sont disponibles sur le site de l’OGC : http://www.opengeospatial.org/standards/wfsProfil d’application disponibleSERVICE WEB DE GAZET TEER (WFS-G)Un Gazetteer est un dictionnaire géographique. WFS-G est un profil applicatif du standard WFS dont l’objectifest de permettre l’accès à des lieux nommés organisés de manière hiérarchique. Ce type de service permetessentiellement de :  localiser géographiquement un nom de lieux donné  rechercher des lieux en navigant dans la hiérarchie de noms de lieux.  consulter les noms de lieux localisés dans une zone donnéeUn service WFS-G requiert les opérations GetCapabilities, DescribeFeatureType et GetFeature ainsi que laprésence de classes d’objets particulières (dont la structure est définie dans les spécifications WFS-G).Les spécifications du profil WFS-G sont disponibles ici :  Gazetteer Service - Application Profile of the Web Feature Service Implementation Specification 0.9.3 05-035r2 (http://portal.opengeospatial.org/files/?artifact_id=15529)Exemple d’utilisation du WFSSERVICE WEB DANNOTATIONLes analystes et autres utilisateurs dimages et de cartes, ont souvent besoin de résumer le contenu essentieldune image, de mettre en évidence certains objets ou de déterminer les similitudes et les différences entreimages. De même, les spécialistes en SIG ont souvent besoin de souligner certains paramètres, de qualifiercertains objets ou simplement dannoter une carte.Les annotations sont des objets décrivant un endroit donné et pouvant être partagés entre différentsutilisateurs du système. Une annotation est composée dune géométrie, dun nom et dune description.Un service WFS peut être configuré pour former un service dannotation permettant de stocker les annotationsen tant quobjets. Un service WFS supportant l’authentification peut permettre aux utilisateurs correctementidentifiés de créer des annotations, de les partager ou de les protéger des autres utilisateurs.Page 7 sur 8 - Co-rédaction réalisée par la participation des membres du Forum français de l’OGC et duGroupe OGC de l’AFIGéO.
  8. 8. Exemples dimplémentation du WFSPour trouver des applications (serveurs et clients) supportant le WFS :  http://www.opengeospatial.org/resource/products/byspecPour trouver un serveur WFS actif :  http://www.geolittoral.equipement.gouv.fr/rubrique.php3?id_rubrique=39  http://sandre.eaufrance.fr/Services-web-geographiques-OGC-du  http://cartorisque.prim.net/wmswfs/wms_wfs.html  http://infoterre.brgm.fr/spip.php?article31Bibliographie  Web Feature Service de l’OGC : http://www.opengeospatial.org/standards/wfsSources et contributeursWeb Feature Service (WFS)Ce document provient de « http://georezo.net/wiki/main:standards:wfs ».Dernière modification de cette page le 18 Novembre 2011.Contributeurs : Benjamin Chartier, David Jonglez, Dimitri Sarafinof, Hervé Caumont (contributeur initial),Nicolas Klein, Yves Jacolin (contributeur initial)Forum français de l’OGC (http://www.forumogcfrance.org/)Groupe OGC de l’Afigéo (http://www.afigeo.asso.fr/)LicenceCreative Commons Paternité- Pas d’utilisation commerciale - Partage des Conditions Initiales à lIdentique 2.0France Licensehttp://creativecommons.org/licenses/by-nc-sa/2.0/fr/Page 8 sur 8 - Co-rédaction réalisée par la participation des membres du Forum français de l’OGC et duGroupe OGC de l’AFIGéO.

×