Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
main:standards:wfs [2011/11/21 18:15]
Nicolas [GetFeature]
main:standards:wfs [2011/11/23 23:46] (Version actuelle)
Nicolas [LockFeature (optionnel)]
Ligne 85: Ligne 85:
  
  
-==== GetFeature ====+==== GetFeature ​(obligatoire) ​====
 GetFeature (Basique) : Permet d’obtenir les instances des objets géographiques. L’application cliente peut spécifier les propriétés à obtenir et filtrer les objets selon des critères spatiaux ou alphanumériques. Le format de sortie par défaut est GML, mais d’autres formats peuvent être supportés (comme l’encodage de la collection d’objets en Shapefile). La conversion automatique des systèmes de coordonnées peut également être supportée (reprojections). GetFeature (Basique) : Permet d’obtenir les instances des objets géographiques. L’application cliente peut spécifier les propriétés à obtenir et filtrer les objets selon des critères spatiaux ou alphanumériques. Le format de sortie par défaut est GML, mais d’autres formats peuvent être supportés (comme l’encodage de la collection d’objets en Shapefile). La conversion automatique des systèmes de coordonnées peut également être supportée (reprojections).
  
Ligne 99: Ligne 99:
   * **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   * **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)   * **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+  * **SRSNAME** : nom du SRS désiré pour les géométries des objets retournés ​(officiellement à partir de WFS 1.1.0, bien que GeoServer l'​accepte pour WFS 1.0.0)
   * **FEATUREID** : liste d’identifiants des objets géographiques à retourner (usage mutuellement exclusif avec FEATUREID et FILTER)   * **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)   * **FILTER** : filtre exprimant des conditions sur les objets à retourner (usage mutuellement exclusif avec FEATUREID et BBOX)
Ligne 110: Ligne 110:
   * **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 PROPERTYNAME   * **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 PROPERTYNAME
  
-==== GetGmlObject ====+==== GetFeatureWithLock (optionnel) ==== 
 +**GetFeatureWithLock** (WFS-T) : Cette opération est analogue à GetFeature mais verrouille en même temps les instances des objets demandées (dans un but de modification / mise à jour de ces dernières par exemple). En plus des paramètres obligatoires et optionnels partagés avec l’opération GetFeature, cette opération dispose du 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. 
 + 
 +==== 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 : Paramètres obligatoires :
-  * ''​REQUEST=[GetGmlObject]''​ +  * **SERVICE**=WFS : type de service 
-  * ''​TRAVERSEXLINKDEPTH''​ +  * **VERSION**=version : version de WFS (e.g. 1.1.0) 
-  ​* ​''​GMLOBJECTID=''​+  * **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érer 
 + 
 +Paramètre optionnel : 
 +  * **TRAVERSEXLINKEXPIRY** : durée en minutes pendant laquelle le service WFS doit attendre pour la résolution des liens XLink 
 +==== LockFeature (optionnel)==== 
 +**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. 
 + 
 +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) 
 +vBBOX : rectangle englobant limitant spatialement la requête (usage mutuellement exclusif avec FEATUREID et FILTER) 
 +==== 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) et DELETE (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. 
 + 
 +===== Cas d'usage classique du WFS ===== 
 + 
 +À titre d’exemple et pour illustrer l’utilisation de ces opérations,​ voici une séquence typique d’opérations réalisée par une application pour modifier le contenu d’une base de données accessible via un service WFS : 
 +  ​- 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. 
 +  - Prise de connaissance du modèle de données de la classe d’objets à mettre à jour grâce à l’opération **DescribeFeatureType**,​ 
 +  - 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**,​ 
 +  - 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**,​ 
 +  - 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 sont pré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. 
 + 
 +=====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. 
 + 
 +=====Versions===== 
 +Les différentes versions de spécifications du WFS (1.1 & 2) sont disponibles sur le site de l’OGC : 
 +http://​www.opengeospatial.org/​standards/​wfs 
 + 
 +=====Profil d’application disponible===== 
 +====Service web de Gazetteer (WFS-G)==== 
 +Un Gazetteer est un dictionnaire géographique. WFS-G est un profil applicatif du standard WFS dont l’objectif est de permettre l’accès à des lieux nommés organisés de manière hiérarchique. Ce type de service permet essentiellement 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ée. 
 + 
 +Un service WFS-G requiert les opérations GetCapabilities,​ DescribeFeatureType et GetFeature ainsi que la pré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 WFS===== 
 +====Service Web d'annotation==== 
 +Les analystes et autres utilisateurs d'images et de cartes, ont souvent besoin de résumer le contenu essentiel d'une image, de mettre en évidence certains objets ou de déterminer les similitudes et les différences entre images. De même, les spécialistes en SIG ont souvent besoin de souligner certains paramètres,​ de qualifier certains objets ou simplement d'annoter une carte. 
 + 
 +Les annotations sont des objets décrivant un endroit donné et pouvant être partagés entre différents utilisateurs du système. Une annotation est composée d'une géométrie,​ d'un nom et d'une description. Un service WFS peut être configuré pour former un service d'annotation permettant de stocker les annotations en tant qu'​objets. 
 + 
 +Un service WFS supportant l’authentification peut permettre aux utilisateurs correctement identifiés de créer des annotations,​ de les partager ou de les protéger des autres utilisateurs. 
 + 
 +=====Exemples d'​implémentation du WFS===== 
 +Pour trouver des applications (serveurs et clients) supportant le WFS : 
 +  * http://​www.opengeospatial.org/​resource/​products/​byspec 
 +  *  
 +Pour 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?​article31
  
-Paramètres non obligatoires : +=====Sources et contributeurs===== 
-  ''​TRAVERSEXLINKEXPIRY=''​+**Web Feature Service** (WFS) 
 +Ce document provient de « http://​georezo.net/​wiki/​main:​standards:​wfs ». 
 +Dernière modification de cette page le 18 Novembre 2011.
  
-==== LockFeature====+Contributeurs : Benjamin Chartier, David Jonglez, Dimitri Sarafinof, Hervé Caumont (contributeur initial), Nicolas Klein, Yves Jacolin (contributeur initial)
  
-==== Transaction ====+  * Forum français de l’OGC (http://​www.forumogcfrance.org/​) 
 +  * Groupe OGC de l’Afigéo (http://​www.afigeo.asso.fr/​)
  
-===== Bibliographie ​===== +=====Licence===== 
-  - http://www.opengeospatial.org/standards/wfs +Creative Commons PaternitéPas d’utilisation commerciale - Partage des Conditions Initiales à l'​Identique 2.0 France License 
-  ​http://fr.wikipedia.org/​wiki/Web_Feature_Service+http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
  
-[<<<>>>​] 
 
main/standards/wfs.1321895701.txt.gz · Dernière modification: 2011/11/21 18:15 par Nicolas
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki