API Hubeau - Import des débits moyens des cours d'eau

Dans ce cours, nous allons utiliser l'API du site https://hubeau.eaufrance.fr pour importer les données des débits moyens des cours d'eau du département d'Ille-et-Vilaine (35) sur les 10 dernières années.

  1. Importez les stations pour votre territoire et extrayez la liste des stations
  2. Créez le jeu de données éditable
  3. Importez les données sur plusieurs années
  4. Configurez les visualisations

1. Importez les stations pour votre territoire et extrayez la liste des stations

Pour importer les données des stations, nous allons créer un jeu de données distant en utilisant cette adresse :

https://hubeau.eaufrance.fr/api/v2/hydrometrie/referentiel/stations.csv?code_departement=35

  1. Créez un jeu de données distant
  2. Renseignez l'adresse
  3. Renseignez le concept de Code Station Hydro dans la colonne code_station.

Nous allons ensuite extraire les valeurs des stations du jeu de données des stations que nous venons de créer.

Sur la page d'édition du jeu de données, cliquez sur 'Utiliser l'API'.

Puis exécutez ces 4 étapes pour copier la liste des codes :

  1. Allez dans la section des lignes de la section des Données
  2. Augmentez la taille des réponses sur une page pour contenir l'ensemble des codes de votre jeu de données (ici, nous avons 71 lignes dans le jeu de données => nous renseignons 80)
  3. Sélectionnez uniquement la colonne code_station
  4. Copiez la réponse de la requête

Collez ensuite la réponse de la requête dans un éditeur de texte

{
  "total": 71,
  "results": [
    {
      "code_station": "I912201001",
      "_score": null
    },
    {
      "code_station": "J001401001",
      "_score": null
    },
    {
      "code_station": "J001401002",
      "_score": null
    },
    {
      "code_station": "J010151001",
      "_score": null
    },
....

Copiez-collez l'ensemble des codes à la suite de l'URL qui va nous être utile pour le traitement.

https://hubeau.eaufrance.fr/api/v2/hydrometrie/obs_elab.csv?date_debut_obs_elab=2010-01-01&date_fin_obs_elab=2010-12-31&fields=code_station,resultat_obs_elab,date_obs_elab,code_qualification,code_statut&grandeur_hydro_elab=QmnJ&size=20000&code_entite=


Vous allez obtenir une adresse similaire à celle-ci, qui extrait les données journalières de débit pour l'ensemble des stations du département d'Ille-et-Vilaine (35) pour l'année 2010 (du 01-01-2010 au 31-10-2010).

https://hubeau.eaufrance.fr/api/v2/hydrometrie/obs_elab.csv?date_debut_obs_elab=2010-01-01&date_fin_obs_elab=2010-12-31&fields=code_station,resultat_obs_elab,date_obs_elab,code_qualification,code_statut&grandeur_hydro_elab=QmnJ&size=20000&code_entite=I912201001,J001401001,J001401002,J010151001,J011000101,J012151001,J014401001,J014421001,J032301001,J040761001,J050000101,J062661001,J701061001,J701062001,J701063001,J701064001,J702401001,J702402001,J702403001,J702404001,J704301001,J705301001,J705302001,J705401001,J706061001,J706062001,J708311001,J709063001,J709063002,J709063003,J709063004,J710301001,J711401001,J712001001,J712301001,J720061101,J720061102,J721401001,J722061001,J722061002,J722401001,J731301001,J734401001,J735301001,J735501001,J735601001,J736421001,J736422001,J737311001,J739301001,J744301001,J747000101,J748301001,J748301002,J750061001,J750061002,J751301001,J752302001,J752302002,J763301001,J770061001,J770061002,J770061003,J790061001,J790061002,J797301001,J860241001,J865301001,J870241001,J900001001,J900061001

2. Créez le jeu de données éditable

À l'aide de l'adresse que nous avons créée dans le paragraphe précédent, nous allons créer le traitement pour importer les données dans un jeu de données éditable. Il n'est pas possible de créer un jeu de données éditable à partir d'un traitement de transfert de fichier.

Nous allons procéder en 3 phases pour créer le jeu de données éditable et que le traitement soit lié à ce jeu de données :

  1. Configurez le traitement pour créer un jeu de données fichier
  2. Créez le jeu de données éditable
  3. Configurez le traitement pour qu'il pointe vers le jeu de données éditable

2.1 Configurez le traitement pour créer un jeu de données fichier

Dans la section des traitements, ajoutez un traitement à l'aide du bouton Créer un nouveau traitement'.

Choisissez le traitement de 'Transfert de fichier'.

Ajoutez un titre à votre traitement et choisissez le propriétaire de votre traitement, puis cliquez sur 'Créer'

Votre traitement est créé, nous allons maintenant le configurer.

  1. Configurez le traitement pour créer le jeu de données fichier.
  2. Choisissez le titre du jeu de données (nous avons ajouté '-fichier' pour différencier le JDD du futur jeu de données éditable)
  3. Configurez les paramètres
  4. Activez les traitements
  5. Exécutez le traitement

Dans les paramètres [3], nous allons ajouter l'adresse que nous avons créée au paragraphe 1

Après avoir ajouté l'adresse dans les paramètres et activé le traitement [4], vous pouvez exécuter le traitement pour créer le jeu de données fichier sur votre compte

2.2 Créer le jeu de données éditable

Après avoir exécuté votre traitement, le jeu de données fichier est créé. À partir de ce jeu de données, nous allons créer le jeu de données éditable en copiant le schéma et les données du jeu de données fichier.

Sur la page des jeux de données, cliquez sur le bouton Créer un jeu de données, puis choisissez Éditable. Dans la phase d'initialisation, recherchez le titre du jeu de données fichier qui a été créé à l'aide du traitement. Dans notre cas, nous avons nommé le fichier Débit journalier moyen des cours d'eau - fichier et nous recherchons Débit dans la barre de recherche.

Sélectionnez le jeu de données fichier comme modele, puis copiez les données ainsi que le schéma.

Renseignez le titre de votre jeu de données éditable, cliquez sur 'Continuer', puis sur 'Créer le jeu de données'.

Le jeu de données éditable est créé avec les données de 2010 (paramètre de l'adresse de configuration du traitement).

Les lignes peuvent être modifiées et ajoutées une par une (ce qui est nécessaire pour l'étape "3 : Import des données sur plusieurs années".

Renseignez le concept de Code Station Hydro dans la colonne code_station du schéma de votre jeu de données éditable.

2.3 Configurer du traitement sur le jeu éditable

Cette partie est plus rapide : il suffit de modifier le jeu de données dans le traitement pour qu'il pointe vers le jeu de données éditable.

Contrairement à un jeu de données fichier, avec un jeu de données éditable, nous pourrons ajouter plusieurs années successivement en modifiant les dates dans l'adresse créée lors du premier paragraphe.

3. Importez les données sur plusieurs années

L'adresse que nous avons créée dans le premier paragraphe est la suivante :

https://hubeau.eaufrance.fr/api/v2/hydrometrie/obs_elab.csv?date_debut_obs_elab=2010-01-01&date_fin_obs_elab=2010-12-31&fields=code_station,resultat_obs_elab,date_obs_elab,code_qualification,code_statut&grandeur_hydro_elab=QmnJ&size=20000&code_entite=I912201001,J001401001,J001401002,J010151001,J011000101,J012151001,J014401001,J014421001,J032301001,J040761001,J050000101,J062661001,J701061001,J701062001,J701063001,J701064001,J702401001,J702402001,J702403001,J702404001,J704301001,J705301001,J705302001,J705401001,J706061001,J706062001,J708311001,J709063001,J709063002,J709063003,J709063004,J710301001,J711401001,J712001001,J712301001,J720061101,J720061102,J721401001,J722061001,J722061002,J722401001,J731301001,J734401001,J735301001,J735501001,J735601001,J736421001,J736422001,J737311001,J739301001,J744301001,J747000101,J748301001,J748301002,J750061001,J750061002,J751301001,J752302001,J752302002,J763301001,J770061001,J770061002,J770061003,J790061001,J790061002,J797301001,J860241001,J865301001,J870241001,J900001001,J900061001

Cette adresse fait la demande pour les stations du département 35 pour l'année 2010.

Pour obtenir les années suivantes, nous allons donc modifier les paramètres date_debut_obs_elab et date_fin_obs_elab.

Par exemple, pour l'année 2011 : https://hubeau.eaufrance.fr/api/v2/hydrometrie/obs_elab.csv?date_debut_obs_elab=2011-01-01&date_fin_obs_elab=2011-12-31&fields=code_station,resultat_obs_elab,date_obs_elab,code_qualification,code_statut&grandeur_hydro_elab=QmnJ&size=20000&code_entite=I912201001,J001401001,J001401002,J010151001,J011000101,J012151001,J014401001,J014421001,J032301001,J040761001,J050000101,J062661001,J701061001,J701062001,J701063001,J701064001,J702401001,J702402001,J702403001,J702404001,J704301001,J705301001,J705302001,J705401001,J706061001,J706062001,J708311001,J709063001,J709063002,J709063003,J709063004,J710301001,J711401001,J712001001,J712301001,J720061101,J720061102,J721401001,J722061001,J722061002,J722401001,J731301001,J734401001,J735301001,J735501001,J735601001,J736421001,J736422001,J737311001,J739301001,J744301001,J747000101,J748301001,J748301002,J750061001,J750061002,J751301001,J752302001,J752302002,J763301001,J770061001,J770061002,J770061003,J790061001,J790061002,J797301001,J860241001,J865301001,J870241001,J900001001,J900061001

Nous remplaçons l'adresse du traitement par l'adresse de 2011.

Exécutez le traitement pour que les lignes de 2011 soient ajoutées à votre jeu de données.

Vous pouvez ajouter les années suivantes en modifiant l'URL.

4. Configurez les visualisations

Nous allons configurer deux visualisations :

  • Un graphique pour visualiser l'évolution des moyennes des débits
  • Une carte pour cliquer sur les stations et obtenir le graphique correspondant

4.1 Configuration du graphique de l'évolution des débits

Nous allons créer un graphique avec l'ensemble des données. Le graphique sera filtré sur les données de la station au moment du clic sur le marqueur de la carte.

Pour configurer le graphique :

  1. Créez une visualisation Graphiques
  2. Cliquez sur l'édition de la configuration
  3. Choisissez le jeu de données des débits moyens
  4. Configurez les paramètres suivants dans la section Type de visualisation :

Le graphique affichera la courbe des valeurs de débit par date croissante. Nous allons intégrer ce graphique dans une visualisation Atelier Carto.

4.2 Configuration de la carte

La configuration de la carte est un peu plus complexe. Nous allons d'abord filtrer les données pour ne visualiser que les marqueurs ayant des données de débit, puis nous allons configurer la carte.

Pour obtenir la liste des codes des stations qui possèdent des données de débit, rendez-vous sur la page d'édition de votre jeu de données de débit, puis allez dans la section de l'API. Ensuite, nous allons agréger les données [1], par code_station [2], et exécuter la requête [3]. La réponse sera disponible et nous allons copier l'ensemble des codes de station de la réponse (encadrés en rouge dans l'image suivante).


Une fois que nous avons la liste des codes des stations ayant des données dans notre jeu de données de débits, nous allons ajouter un filtre contenant ces codes dans la visualisation Atelier Carto.

  1. Créez une visualisation Atelier Carto
  2. Ajoutez un calque
  3. Choisissez le jeu de données des stations
  4. Ajoutez un filtre dans le calque
  5. Choisissez le filtre pour restreindre à des valeurs, sélectionnez la colonne des codes_station et ajoutez les valeurs des codes de stations dans le filtre

Seuls les marqueurs correspondant aux codes que nous avons renseignés seront visibles sur la carte.

En ce qui concerne l'ajout de la visualisation graphique au clic sur les marqueurs, renseignez la configuration suivante dans votre visualisation :


Lors d'un clic sur un marqueur, les champs libelle_station et code_station seront affichés.
La visualisation Débit moyen des cours d'eau sera affiché et sera filtrée à l'aide de la colonne code_station (vérifiez que vos deux jeux de données possèdent bien le concept privé Code station Hydo que vous avez créé lors du paragraphe 1).

Le rendu sur un portail de la visualisation est le suivant :


Vous pouvez améliorer le rendu selon vos préférences. Une fois que vous avez obtenu un rendu satisfaisant, enregistrez la visualisation.