Tuto : accéder au débit des fleuves français via l’API Hub’eau avec Python

Callendar
4 min readJun 8, 2022

Avec la sécheresse très sévère qui s’annonce, suivre le débit des fleuves et des rivières est particulièrement utile : production d’eau potable, irrigation des cultures, refroidissement de centrales électriques, activités touristiques… de nombreux secteurs dépendent directement des eaux de surface. Des données de débit précises et actualisées peuvent les aider à anticiper les déficits hydriques et à s’y adapter.

Le Rhône au niveau de La Voulte-sur-Rhône

Dans ce tutoriel, nous allons voir comment accéder au débit d’un cours d’eau en temps réel via l’API Hub’eau et comment exploiter ces données avec Python.

Utiliser l’API du système d’information sur l’eau (SIE)

Avec près de 3000 stations hydrométriques en métropoles et en outremer, le système d’information sur l’eau permet d’obtenir des données de débit en temps réel pour la plupart des cours d’eau français.

Les mesures peuvent être visualisées directement, par exemple via le site Vigiecrues. Cependant ce service ne permet pas de télécharger les données pour faire vos propres analyses, ni d’obtenir des mesures remontant à plus de quelques semaines. Pour cela, il faudra passer par l’API hydrométrie.

Comment fonctionne cette API ? Voici une façon très simple de l’utiliser :

  1. Trouver le code de la station hydrométrique qui vous intéresse : imaginons que l’on veuille obtenir le débit de la Seine à Paris, on peut facilement trouver la station la plus proche grâce à cette carte interactive. C’est la station du pont d’Austerlitz qui porte le code F700000103.
  2. Télécharger les données directement avec l’url correspondant à la station : dans notre cas, il suffit de rentrer dans un navigateur web l’adresse suivante : https://hubeau.eaufrance.fr/api/v1/hydrometrie/observations_tr.csv?code_entite=F700000103. Pour une autre station, il faudra simplement changer le code_entite .

En complétant l’url, vous pouvez affiner un peu plus votre recherche. Voici quelques unes des options :

Exploiter l’API avec Python

Cette méthode simple vous permet d’obtenir les données sous format .csv, vous pouvez donc facilement les ouvrir et les exploiter avec un tableur, par exemple Microsoft Excel ou OpenOffice Calc.

Pour une analyse qui porte sur de nombreuses stations ou qui doit être répétée régulièrement, ce traitement manuel va cependant rapidement devenir pénible… voici donc comment télécharger ces données directement avec Python.

Pour commencer, il va falloir comme précédemment définir l’url à récupérer :

Ensuite, on récupère la réponse de l’API à cette requête et on la met dans un dataframe :

Maintenant, libre à vous d’exploiter ces données comme vous le souhaitez. Pour commencer, on peut par exemple les représenter sur un graphique :

Voici le résultat obtenu :

Graphique de débit instantané réalisé avec les données de l’API hubeau

Application : le débit du jour est-il normal ?

Voici un exemple d’utilisation un peu plus complexe de cette API.

Notre objectif est de savoir si le débit actuel pour une station est normal, ou bien inférieur ou supérieur aux valeurs enregistrées les années précédentes pour la même journée.

Nous allons donc :

  1. Récupérer les débit enregistrés sur les 24 dernières heures et calculer la moyenne,
  2. Récupérer les archives des débits moyens journaliers et calculer la moyenne historique pour le même jour du même mois,
  3. Comparer les deux pour voir si le débit actuel est supérieur ou inférieur à la normale.

Pour récupérer les débits des 24 dernières heures, il suffit de reproduire ce que l’on a déjà fait :

La même API permet de récupérer les historiques de débits moyens journaliers, il suffit de modifier légèrement l’url :

On va sélectionner dans le dataframe obtenu les valeurs correspondants à la date du jour puis faire la moyenne :

Il ne reste plus qu’à calculer la différence entre les deux et à afficher le résultat, par exemple de cette façon :

Et voici le résultat obtenu :

Le débit sur 24h est inferieur de 43.9% au débit normal pour cette journée.

A propos : Callendar est une start-up spécialisée dans le développement de solutions innovantes pour l’évaluation des risques climatiques. Conscients du défi que représente l’adaptation au changement climatique, nous nous efforçons de partager notre expertise au travers d’outils gratuits ou de tutoriels comme celui-ci.

--

--

Callendar

Start-up spécialisée dans l’exploitation des données climatiques, Callendar vous aide à prendre les bonnes décisions partout où le climat actuel et futur compte