Un programme en Python pour télécharger les données Sentinel

=>

Note : L'interface APIHUB/SCIHUB présente de nombreuses restrictions d'accès, comme par exemple le fait de n'accepter que des comptes créés avant le 21 décembre 2015. La plateforme PEPS, du CNES, fournit un accès beaucoup plus facile. J'ai créé un petit programme similaire à celui ci-dessous, pour télécharger des données sans cliquer.

 

L'interface du serveur Scihub pour les données Sentinel vous permet de faire des recherches dans le catalogue ou de télécharger les données par de simples requêtes HTTPS. Par exemple, pour rechercher les produits de S2 présents dans le catalogue, essayez simplement les exemples ci-dessous :

 

La routine Python, accessible par le lien à la fin de cet article, permet de récupérer sans un clic les données de Sentinel-1 et Sentinel-2 (et probablement bientôt Sentinel-3), depuis le site de distribution  Scihub. Vous me connaissez, je l'ai surtout testé avec Sentinel-2.

La routine Sentinel_download.py fonctionne sous linux et s'appuie sur l'utilitairede tléchargement wget. Il pourrait marcher sous windows, mais peobablemenent moyennant quelques adaptations, et je ne connais pas windows. Si quelqu'un veut le faire, le dépot de l'outil sous githuib est ouvert. L'outil similaire Landsat-download a ainsi reçu de nombreuses contributions.

 

Comme l'outil fait des recherches sur le catalogue Sentinel, ivous pouvez sélectionner les donnes par date, type, par coordonnées géographiques et même, pour Sentinel-2, par le taux de couverture nuageuse (en faisant confiance au pourcentage fourni dans les produits de niveau 1C). Le Readme file sur le depot Github donne de nombreux exemples, ici, je n'en fournis qu'un :

python  Sentinel_download.py -s S2 --latmin 43 --latmax 46 --lonmin -1 --lonmax 2 -a apihub.txt -o 94 -m 25 -d 20151206

 

Et voici ce que signifient les options :

  • -s définit le satellite (S2, S2A, S2B, S1, S1B)
  • --latmin 43 --latmax 46 --lonmin -1 --lonmax 2 definit un rectangle en degrés décimaux avec lequel les produits doivent avoir une intersection (vous pouvez aussi demander un point avec les options --lat et --lon)
  • - a apihub.txt fournit le compte et mot de passe d'authentification (guest guest ne fonctionne que pour les consultations du catalogue)

  • -o est le numéro de trace (si vous n'en voulez qu'une)

  • -m 25 est le pourcentage maximal de nuages accepté (25%)

  • -d 20151206 est le début de la période (le 6 décembre), et le téléchargement des données va jusqu'à la date courante, à moins que vous n'utilisiez l'option -f pour définir la date finale avec l'option -f

 

Donc, pour utiliser cet outil, allez le cloner sur le dépôt github de sentinel-download.

 

Posted under: Code, En Français, Sentinel-2

Tagged as:

3 comments

  • vince on 10/03/2016 at 08:16 said:

    Bonjour Olivier,

    intéressant ce script.
    Je cherche aussi un moyen de récupérer les tuiles, je crois que l'option -t pour télécharger une tuile ne fonctionne pas en raison du chemin dans l'archive SAFE dans le code python.

    en ligne de commande ce chemin marche : https://scihub.copernicus.eu/dhus/odata/v1/Products('141ea4dd-2c99-4ffb-ac07-f5775e08b58f')/Nodes('S2A_OPER_PRD_MSIL1C_PDMC_20160209T011325_R008_V20160208T104841_20160208T104841.SAFE')/Nodes('GRANULE')/Nodes('S2A_OPER_MSI_L1C_TL_SGS__20160208T194222_A003294_T31TCJ_N02.01')/Nodes('IMG_DATA')/Nodes('S2A_OPER_MSI_L1C_TL_SGS__20160208T194222_A003294_T31TCJ_B02.jp2')/$value

    Je ne suis pas un champion, mais c'est peut-être une piste.

    Merci pour ton blog.
    Bonne journée

    • Olivier Hagolle on 10/03/2016 at 17:13 said:

      Merci Vince,
      j'avais laissé cette option en chantier, je n'ai pas eu le temps d'y retravailler depuis un moment, surtout quand j'ai compris qu'on ne peut pas télécharger le répertoire en entier mais qu'il faut aller la chercher fichier par fichier.

      SI quelqu'un veut le faire, surtout qu'il n'hésite pas...
      Olivier

      • Olivier Hagolle on 13/03/2016 at 20:17 said:

        Bonjour Vince,
        j'ai trouvé le temps de faire marcher mon petit outil de téléchargement de données Sentinel-2 : Sentinel-download. Il peut maintenant, avec l'option -t, télécharger uniquement une tuile à l'intérieur d'un produit.
        Olivier

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>