Commander l'extension EODAG Jupyterlab : eodag-labextension ! Cela apportera une interface utilisateur conviviale à votre ordinateur portable et vous aidera à rechercher et parcourir des produits EO à l'aide de eodag
.
EODAG (Earth Observation Data Access Gateway) est un outil de ligne de commande et un framework Python orienté plugin pour rechercher, agréger les résultats et télécharger des images de télédétection tout en offrant une API unifiée pour l'accès aux données quel que soit le fournisseur de données. Le SDK EODAG est structuré autour de trois fonctions :
Lister les types de produits : liste des produits pris en charge et leur description
Rechercher des produits (par type de produit ou uid) : recherche les produits selon les critères de recherche fournis
Télécharger les produits : télécharger le produit "tel quel"
EODAG est développé en Python. Il est structuré selon une architecture de plugins modulaire, facilement extensible et capable d'intégrer de nouveaux fournisseurs de données. Trois types de plugins composent l'outil :
Plugins de recherche de catalogue, responsables de la recherche de données (OpenSearch, CSW, ...), de la construction de chemins, de la récupération de quicklook, de la combinaison des résultats
Plugins de téléchargement, permettant de télécharger et récupérer des données localement (via FTP, HTTP, ..), toujours avec la même organisation de répertoires
Des plugins d'authentification, qui servent à authentifier l'utilisateur sur les services externes utilisés (JSON Token, Basic Auth, OAUTH, ...).
Depuis la version 2.0, EODAG peut être exécuté en tant que client ou serveur STAC.
Lisez la documentation pour plus d’informations.
EODAG est disponible sur PyPI :
python -m pip installer eodag
Et avec conda
du canal conda-forge :
conda install -c conda-forge eodag
Important
Changement radical dans la v3.0.0 : veuillez noter qu'EODAG est livré avec un ensemble minimal de dépendances. Si vous souhaitez plus de fonctionnalités, veuillez installer en utilisant l'un des extras disponibles.
Pour le téléchargement, vous devrez renseigner vos informations d'identification pour les fournisseurs souhaités dans votre fichier de configuration utilisateur eodag. Le fichier sera automatiquement créé avec des valeurs vides lors de la première exécution.
Exemple d'utilisation pour interagir avec l'API dans votre code Python :
depuis eodag import EODataAccessGatewaydag = EODataAccessGateway()search_results = dag.search(productType='S2_MSI_L1C',geom={'lonmin' : 1, 'latmin' : 43.5, 'lonmax' : 2, 'latmax' : 44}, # accepte Polygones WKT, shapely.geometry, ...start='2021-01-01',end='2021-01-15')product_paths = dag.download_all(search_results)
Cela recherchera les produits Sentinel 2 niveau 1C sur le fournisseur par défaut et renverra la première page des produits trouvés ainsi qu'un nombre total estimé de produits correspondant aux critères de recherche. Et puis il téléchargera ces produits. Veuillez consulter le guide de l'utilisateur de l'API Python pour plus de détails.
Important
Changement radical dans la v3.0.0 : la méthode search() renvoie désormais un seul SearchResult
au lieu d'un tuple à 2 valeurs.
Une instance eodag peut être exposée via une API REST compatible STAC à partir de la ligne de commande ( eodag[server]
nécessaire) :
$ eodag servir-repos --help Utilisation : eodag serve-rest [OPTIONS] Démarrer le serveur HTTP eodag Définissez la variable d'environnement EODAG_CORS_ALLOWED_ORIGINS pour configurer Cross- Le partage de ressources d'origine autorisait les origines sous forme d'URL séparées par des virgules (par exemple, « http://somewhere,htttp://somewhere.else »). Possibilités : -f, --config PATH Chemin d'accès au fichier de configuration utilisateur avec son informations d'identification, la valeur par défaut est ~/.config/eodag/eodag.yml -l, --locs PATH Chemin d'accès au fichier de configuration des fichiers de formes d'emplacement -d, --daemon exécuté en mode démon -w, --world exécute uvicorn en utilisant IPv4 0.0.0.0 (toutes les interfaces réseau), sinon, liez-vous à 127.0.0.1 (localhost). -p, --port INTEGER Le port sur lequel écouter [par défaut : 5000] --debug Exécuté en mode débogage (à des fins de développement) --help Affiche ce message et quitte.# run server$ eodag serve-rest# liste les types de produits disponibles pour ``peps`` supplier:$ curl "http://127.0.0.1:5000/collections?provider=peps" | jq ".collections[].id""S1_SAR_GRD""S1_SAR_OCN""S1_SAR_SLC""S2_MSI_L1C""S2_MSI_L2A"# recherche d'articles$ curl "http://127.0.0.1:5000/search?collections=S2_MSI_L1C&bbox=0,43,1,44&datetime=2018-01-20/2018-01-25" | jq ".numberMatched"6# obtenir le lien de téléchargement$ curl "http://127.0.0.1:5000/collections/S2_MSI_L1C/items" | jq ".features[0].assets.downloadLink.href""http://127.0.0.1:5002/collections/S2_MSI_L1C/items/S2B_MSIL1C_20240917T115259_N0511_R137_T21CWS_20240917T145134/download"# télécharger $ wget "http://127.0.0.1:5002/collections/S2_MSI_L1C/items/S2B_MSIL1C_20240917T115259_N0511_R137_T21CWS_20240917T145134/download"
eodag-server
est disponible sur https://hub.docker.com/r/csspace/eodag-server :
docker run -p 5000:5000 --rm csspace/eodag-server:3.0.1
Vous pouvez également parcourir votre serveur API STAC à l'aide du navigateur STAC. Exécutez simplement :
git clone https://github.com/CS-SI/eodag.gitcd eodag docker-compose up# ou pour une journalisation plus détaillée :EODAG_LOGGING=3 docker-compose up
Et parcourez http://127.0.0.1:5001 :
Pour plus d’informations, consultez Utilisation de l’API STAC REST.
Commencez à jouer avec la CLI :
Pour rechercher certains produits :
recherche eodag --productType S2_MSI_L1C --box 1 43 2 44 --start 2021-03-01 --fin 2021-03-31
La requête ci-dessus recherche les types de produits S2_MSI_L1C
dans une zone de délimitation donnée, en mars 2021. Elle enregistre les résultats dans un fichier GeoJSON ( search_results.geojson
par défaut).
Les résultats sont paginés, vous souhaiterez peut-être obtenir toutes les pages à la fois avec --all
, ou rechercher des produits ayant 20 % de la couverture maximale avec --cloudCover 20
. Pour plus d’informations sur les options disponibles :
recherche eodag --help
Pour télécharger le résultat de l'appel à la recherche précédent :
téléchargement eodag --search-results search_results.geojson
Pour télécharger uniquement les résultats de l'appel à recherche précédent :
téléchargement eodag --quicklooks --search-results search_results.geojson
Pour répertorier tous les types de produits disponibles et les fournisseurs pris en charge :
liste eodag
Pour répertorier les types de produits disponibles sur un fournisseur pris en charge spécifié :
liste eodag -p creodias
Pour voir toutes les options et commandes disponibles :
eodag --help
Pour imprimer les messages du journal, ajoutez -v
à la commande eodag master. par exemple eodag -v list
. Plus v
est donné (jusqu'à 3), plus l'outil est détaillé. Pour une sortie détaillée complète, faites par exemple : eodag -vvv list
Avez-vous repéré une faute de frappe dans notre documentation ? Avez-vous observé un bug lors de l'exécution d'EODAG ? Avez-vous une suggestion pour une nouvelle fonctionnalité ?
N'hésitez pas et ouvrez un ticket ou soumettez une pull request, les contributions sont les bienvenues !
Pour obtenir des conseils sur la mise en place d'un environnement de développement et sur la manière d'apporter une contribution à eodag, consultez les directives de contribution.
EODAG est sous licence Apache License v2.0. Voir le fichier LICENSE pour plus de détails.
EODAG a été créé par CS GROUP - France.
EODAG est construit sur des projets open source incroyablement utiles. Voir le fichier NOTICE pour plus de détails sur ces projets et leurs licences. Merci à tous les auteurs de ces projets !