Service Web d'entités géographiques - WFS

Un WFS est un outil pour accéder au contenu d’une base de données via le Web.

Il y a plusieurs façons d'utiliser un WFS. Vous contrôlez les lignes et les colonnes que vous souhaitez voir des tables de la banque de données. Les données récupérées sont retournées dans divers formats; en XML (« Extensible Markup Language »),en GML3 (« Geography Markup Language, version 3 »), KML (« Keyhole Markup Language »), SHAPE (« ESRI Shapefile »), MIF (« MapInfo Mid/Mif format »), application/json (« Javascript Object Notation »), RSS (« Really Simple Syndication »), ATOM (« Atom Syndication Format »), etc. Ces formats peuvent être affichés dans vos pages Web et dans vos applications.

Ouverture du WFS dans un SIG

Il y a plusieurs logiciels gratuits et commerciaux disponibles sur le Web qui affiche des cartes géographiques à l'aide d'un WFS. Il suffit de coller l'adresse URI suivante dans le SIG:

http://cgns.nrcan.gc.ca/wfsu/cubeserv.cgi?service=wfs&datastore=cgns

Certains SIG ont de la difficulté avec l’URI qui précède en raison du système de référence spatiale (CRS) utilisé. Dans ce cas, on doit utiliser l'URI suivant:

http://cgns.nrcan.gc.ca/wfsu/cubeserv.cgi?service=wfs&datastore=cgns&srsname=urn::ogc:def:crs:EPSG::4269

Certains logiciels SIG demandent à l'utilisateur d'entrer un URI contenant "request=getCapabilities" ainsi que la version du WFS. Dans ce cas, on doit utiliser l'URI suivant:

http://cgns.nrcan.gc.ca/wfsu/cubeserv.cgi?service=wfs&datastore=cgns&request=getCapabilities&version=1.1.0

Le lien ci-dessus contenant « request=getCapabilities » retourne les fonctionnalités du service.

Coller dans votre navigateur l'URI d'une requête au WFS

Cette section présente de nombreux exemples sur la façon de récupérer des données à l'aide du WFS. Vous construisez les requêtes qui utilisent le langage XML puis, vous les collez dans votre navigateur.
Voici les tables disponibles pour les requêtes WFS :

  • GEONAMES
  • CGNS_CODES
  • GENERIC_CODES
  • GEONAMES_POINTS
  • MAPS
  • MAPS_PRINTED_E
  • MAPS_PRINTED_F
  • PANCAN

Les exemples ci-dessous utilisent la table « GEONAMES » qui contient les noms géographiques. Les autres tables contiennent principalement des codes et leurs définitions que vous pouvez également interroger avec l’API.

La requête « DescribeFeatureType » qui suit retourne les colonnes (parfois appelé les champs ou les attributs) de la table (parfois appelé la classe) sélectionnée.

http://cgns.nrcan.gc.ca/wfsu/cubeserv.cgi?service=wfs&datastore=cgns&request=describefeaturetype&typename=GEONAMES

Vous pouvez interroger (1) les tables que vous voulez, (2) les colonnes que vous voulez, et (3) limiter les lignes que vous voulez recevoir en utilisant un filtre.

Recherche à l'aide d'un toponyme

Voici l'exemple d'un URI qui interroge un WFS. Celui-ci interroge un nom géographique de la table « Geonames » de la base de données toponymiques.

http://cgns.nrcan.gc.ca/wfsu/cubeserv.cgi?service=wfs&datastore=cgns&request=getFeature&typename=GEONAMES&filter=<Filter><PropertyIsEqualTo><PropertyName>GEONAME</PropertyName><Literal>Toronto</Literal></PropertyIsEqualTo></Filter>

Ces URI peuvent être collés dans le navigateur ou insérés dans un fichier HTML, un fichier Java, un fichier PHP, un script PL/SQL ou un fichier Visual Basic, etc.

Manuels de référence des WFS

D'autres exemples se trouvent dans ce document-ci qui donne la norme de l'encodage des filtres (suivez « Standard and Filter Encoding »).