Exporter des données depuis un flux WFS

WFS
open data
CSV
geojson
flux
service OGC
Le 24 mars 2021
export_wfs

Les flux de données WFS, proposés par le serveur Géo2France, permettent de récupérer les données publiées dans des formats utiles à l'open data : CSV, geojson, etc.

Nous vous proposons d'illustrer cette possibilité par un exemple : exporter en CSV et en geojson la couche des epci 2021 publiée par Géo2France, en 3 étapes.

Pour mémoire, la couche des EPCI est documentée dans le catalogue de données de Géo2France ici : https://www.geo2france.fr/geonetwork/srv/fre/catalog.search#/metadata/791b9687-7b77-4db1-a78e-61a517668c3b

Dans la partie "Téléchargements et liens" de la métadonnée, on trouve les informations relatives au flux WFS :

  • URL : https://www.geo2france.fr/geoserver/spld/ows
  • Nom de la couche : spld:epci

Les flux WFS sont relativement simples à requêter, en passant les paramètres directement dans l'URL. De manière générale, une requête sur un flux WFS se construit de la façon suivante :

https://URL_du_flux?request=type_de_requête&service=type de service&version=version_du_flux&autres_paramètres_qui_dépendent_de_la_requête

Notez que la requête commence par un point d'interrogation, et que les différents paramètres sont séparés par un &.

  • URL du flux : tous les flux publiés par Géo2France ont pour URL https://www.geo2france.fr/geoserver/ows
  • Type de requête : GetCapabilities (pour avoir des informations sur le flux), GetFeature (pour afficher ou exporter les données), etc
  • Type de service : WMS ou WFS
  • Version du flux : les flux WFS publiés par Géo2France sont en version 2.0.0

ETAPE 1 : S'assurer que le serveur qui publie le flux propose les formats d'exports demandés

La requête qui permet de connaitre les informations relatives au flux WFS est la requête GetCapabilities. Elle se construit de la façon suivante :

https://www.geo2france.fr/geoserver/ows?request=GetCapabilities&service=WFS&version=2.0.0

Cette requête peut s'exécuter dans un navigateur web (Firefox, Chrome, etc), et la réponse est un fichier xml, qui peut lui aussi s'afficher dans un navigateur. La réponse à cette requête nous indique plusieurs informations sur ce flux, et notamment, les formats d'export proposés par le serveur :

On voit que les formats proposés sont notamment le DXF, GML, KML, SHAPE, CSV, EXCEL, JSON.

ETAPE 2 : Construire la requête pour exporter les données

Nous allons utiliser la requête GetFeature, qui attend comme paramètre le nom de la couche (typename=nom_de_la_couche) et le format d'export (outputformat=format_d_export).

  • Requête pour exporter les epci en CSV :

https://www.geo2france.fr/geoserver/ows?request=GetFeature&service=WFS&version=2.0.0&typename=spld:epci&outputformat=CSV

  • Requête pour exporter les epci en GeoJSON:

https://www.geo2france.fr/geoserver/ows?request=GetFeature&service=WFS&version=2.0.0&typename=spld:epci&outputformat=JSON

  • Paramètre pour exporter dans une projection différente de la donnée source : ajouter &srsName=EPSG:2154 (pour reprojeter en Lambert 93)

ETAPE 3 : Exploiter le fichier exporté dans une dataviz

Le CSV créé depuis la requête construite à l'étape 2 permet de de représenter, par exemple, la population cumulée des EPCI par type de collectivité :

Cette dataviz a été construite à partir de l'outil RawGraph.

ANNEXE : Et si le flux n'est pas produit par Géo2France ?

Le principe est le même. Prenons l'exemple de la couche "communes lauréates de l'appel à projet centre-ville centre-bourg", issues d'un flux produit par la région Hauts-de-France. La métadonnée nous indique :

  • URL du flux : https://qgisserver.hautsdefrance.fr/cgi-bin/qgis_mapserv.fcgi?MAP=/var/www/data/qgis/applications/politique_ville.qgz
  • Nom de la couche : cvcb_points

La requête GetCapabilites appliquée à cette URL nous indique que ce flux est capable d'exporter dans plusieurs formats, dont le CSV et le GeoJSON. On peut donc  construire la requête GetFeature comme vu dans l'étape n°2 :