Annonce
#1 Sat 05 November 2022 00:37
- Aurel1733
- Participant occasionnel
- Date d'inscription: 22 Oct 2019
- Messages: 12
QGIS: API Hub'eau ?
Bonjour,
N'ayant jamais utilisé une API, je me posais la question s'il était possible d'importer de la donnée (vecteur ou tabulaire) dans QGIS à partir d'une API, en particulier Hub'eau.
Mon exemple concerne l'API Hubeau des prélèvements d'eau, pouvoir importer des chroniques de volumes prélevés:
https://hubeau.eaufrance.fr/page/api-prelevements-eau
Cordialement.
Dernière modification par Aurel1733 (Sat 05 November 2022 10:00)
Hors ligne
#2 Wed 23 November 2022 00:17
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
Re: QGIS: API Hub'eau ?
Bonsoir,
Le service est compatible geojson donc en théorie ça doit pouvoir fonctionner nativement.
Hors ligne
#3 Wed 23 November 2022 11:31
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
Re: QGIS: API Hub'eau ?
Après essai, je confirme que cela fonctionne.
Ouvrir une couche vecteur > Protocole http puis entrer https://hubeau.eaufrance.fr/api/v1/prel … at=geojson
Cliquer sur oui pour télécharger le fichier.
La couche s'ouvre correctement normalement (testé avec qgis 3.22)
Hors ligne
#4 Thu 24 November 2022 08:05
- antonio.andrade
- Participant occasionnel
- Date d'inscription: 9 Feb 2021
- Messages: 17
Re: QGIS: API Hub'eau ?
Bonjour,
Cela fonctionne également avec QGIS 3.16. Pour le paramétrage de la nouvelle couche vecteur, il faut veiller également veiller à sélectionner le type "GeoJSON" dans la liste Protocole > Type.
Il est à noté que :
- Hub'Eau limite le nombre d'entités renvoyées par l'url d'une recherche. Ce nombre varie entre 2000 et 20000. Au-delà, il est nécessaire de programmer l'interrogation multiple de l'API et la fusion des données résultantes.
- Le format GeoJSON n'est pas toujours disponible (cela dépend des données source) Les formats CSV et JSON restent disponibles pour l'ensemble des jeux de données proposés.
Hors ligne
#5 Thu 24 November 2022 09:34
- sporito
- Participant actif
- Date d'inscription: 4 Mar 2008
- Messages: 126
Re: QGIS: API Hub'eau ?
Top, ça fonctionne, merci beaucoup JD et antonio.andrade.
Et cette couche chargée dans notre QGIS via ce lien reste dynamique (en cas de mises à jour) ?
Aurel.
Dernière modification par sporito (Thu 24 November 2022 09:46)
Hors ligne
#6 Thu 24 November 2022 13:06
- antonio.andrade
- Participant occasionnel
- Date d'inscription: 9 Feb 2021
- Messages: 17
Re: QGIS: API Hub'eau ?
Effectivement, les mises à jour de données devraient être prises en compte par QGIS (à confirmer) A la différence des services WFS, QGIS ne semble pas gérer de cache de données pour les connexions HTTP(S)
Hors ligne
#7 Thu 24 November 2022 15:37
- sporito
- Participant actif
- Date d'inscription: 4 Mar 2008
- Messages: 126
Re: QGIS: API Hub'eau ?
Et du coup, pour les données en csv, vous faites comment dans QGIS pr les appeler ?
Aurel.
Dernière modification par sporito (Thu 24 November 2022 15:38)
Hors ligne
#8 Wed 14 December 2022 09:11
- antonio.andrade
- Participant occasionnel
- Date d'inscription: 9 Feb 2021
- Messages: 17
Re: QGIS: API Hub'eau ?
Bonjour,
Les fonctions standard de QGIS ne permettent pas de charger les données CSV issues d'une requête Hub'Eau. Ces données doivent être d'abord téléchargées avant d'être chargées dans QGIS sous forme de données texte délimité. Ces opérations peuvent être automatisées dans un script PyGQGIS.
Antonio
Hors ligne
#9 Thu 29 August 2024 11:27
- Ironhands
- Participant occasionnel
- Date d'inscription: 10 Jan 2013
- Messages: 37
Re: QGIS: API Hub'eau ?
Bonjour,
Je me permet de déterrer ce post car je constate un échec de la requête https://hubeau.eaufrance.fr/api/v1/prel … at=geojson avec la version 3.28 de QGIS.
Code:
2024-08-29T11:11:00 INFO Couche distante : Chargement de https://hubeau.eaufrance.fr/api/v1/prel … at=geojson, veuillez patienter… 2024-08-29T11:11:14 CRITICAL Source de données non valide : https://hubeau.eaufrance.fr/api/v1/prel … at=geojson n'est pas une source de données valide ou reconnue.
Est-ce qu'il existe un autre post ou des ressources pour paramétrer les API Hub'eau sur QGIS en prenant en compte les élément évoqué en #4
- Hub'Eau limite le nombre d'entités renvoyées par l'url d'une recherche. Ce nombre varie entre 2000 et 20000. Au-delà, il est nécessaire de programmer l'interrogation multiple de l'API et la fusion des données résultantes.
- Le format GeoJSON n'est pas toujours disponible (cela dépend des données source) Les formats CSV et JSON restent disponibles pour l'ensemble des jeux de données proposés.
Merci par avance.
Chargé de mission DREAL
QGIS 3.28.7
Hors ligne
#10 Thu 29 August 2024 13:35
- YoLecomte
- Participant assidu
- Lieu: Epinal
- Date d'inscription: 7 Jul 2015
- Messages: 266
Re: QGIS: API Hub'eau ?
Bonjour,
Il semblerait que vous ayez copier/coller l'url du message #3 sans tenir compte du fait qu'elle était raccourcie. Ouvrez le lien et copier/coller l'url compléte.
Dernière modification par YoLecomte (Thu 29 August 2024 13:36)
Hors ligne
#11 Wed 15 January 2025 15:08
- Ironhands
- Participant occasionnel
- Date d'inscription: 10 Jan 2013
- Messages: 37
Re: QGIS: API Hub'eau ?
Merci pour votre réponse et désolé du retard de la mienne. Le message d'erreur était un peu explicite, je devrais être fatigué ce jour là.
Même avec l'url intégrale, QGIS renvoit les messages suivants :
Code:
2025-01-15T15:05:44 INFO Couche distante : Chargement de /vsicurl/https://hubeau.eaufrance.fr/api/v1/prelevements/referentiel/ouvrages?format=geojson, veuillez patienter… 2025-01-15T15:06:18 INFO Couche distante : Chargement de https://hubeau.eaufrance.fr/api/v1/prelevements/referentiel/ouvrages?format=geojson, veuillez patienter… 2025-01-15T15:06:32 CRITICAL Source de données non valide : https://hubeau.eaufrance.fr/api/v1/prelevements/referentiel/ouvrages?format=geojson n'est pas une source de données valide ou reconnue.
Chargé de mission DREAL
QGIS 3.28.7
Hors ligne
#12 Thu 16 January 2025 11:44
Re: QGIS: API Hub'eau ?
Bonjour,
Je n'ai pas ce problème. En faisant "Couche" > "Ajouter une couche" > "Ajouter une couche vecteur". Prendre "Type de source" en cochant "Fichier". Ensuite, coller l'URL "https://hubeau.eaufrance.fr/api/v1/prelevements/referentiel/ouvrages?format=geojson" dans " Source" "Jeux de données vectorielles". Finir en cliquant sur "Ajouter" et vous avez la couche affichée.
Par contre, je n'arrive pas au bout en passant par "Type de source" à "Protocole: HTTP(S), cloud, etc." puis "Protocole" "Type" "HTTP/HTTPS/FTP" et ne collant l'URL dans "URI"
Vous pouvez aussi essayer de passer par un VRT. J'ai testé avec succès en ouvrant dans QGIS avec dans un fichier par exemple hubeau_prelevements_ouvrages.vrt avec ce contenu
Code:
<OGRVRTDataSource> <OGRVRTLayer name="prelevements_ouvrages"> <SrcDataSource>GeoJSON:https://hubeau.eaufrance.fr/api/v1/prelevements/referentiel/ouvrages?format=geojson</SrcDataSource> <SrcLayer>OGRGeoJSON</SrcLayer> </OGRVRTLayer> </OGRVRTDataSource>
Pour information, ma version de QGIS est "3.40.1-Bratislava" sur un Ubuntu 24.04 64 bits.
Thomas
Dernière modification par ThomasG (Thu 16 January 2025 11:44)
Hors ligne