-
GRASS-GIS 7.*
-
GDAL
Modules Python 2 nécessaires
- grass.script
- os
- tempfile
- sys
- json
- yaml
- shutil
- calendar
- datetime
- requests
- argparse
Fichier de configuration config.json
Le fichier comprend les différents clés à indiquer :
-
« grass_config_envs » pour les variables d’environnement de l’instance Grass installée,
-
« tempPath » chemin où le répertoire temporaire Grass va être créé,
-
« geoserver_info » permettant la publication des mosaïques temporelles sur Geoserver,
-
« processing_path » répertoire dont le quel vont être créé :
- le répertoire temporaire des bandes téléchargées « images_out »,
- le répertoire « RGB_geoserver » où les 4 mosaïques vont être créé dans 4 répertoires « RGB_Mosaic_path_row » distinguée par « path,row ».
-
« database_path » répertoire où les 4 bases (json) des 4 images vont être crées
grass_location_config.py comprend la classe GrassLocationConfig qui permet, à sont instanciation, de déclarer les variables d'environnement Grass, créer un repertoir temporaire dont les fichiers nécessaires pour faire tourner les algorithmes Grass et lire le fichier de configuration config.json
search_download_landsat8.py comprend la classe SearchDownloadLandsat8 dont différentes les méthodes nécessaires pour la recherche, la création de base d'information JSON, le téléchargement des images landsat8 en utilisant comme information de base le (PATH, ROW) et la date de chaque image.
image_processes.py comprend la classe ImageProcesses qui permet, à sont instanciation, de lancer la création du répertoire temporaire de Grass. Elle comporte les méthodes permettant :
- l'import/export (Grass),
- la correction radiométrique et atmosphérique (DOS) des différentes bandes de l’image,
- le pansharpning des bandes 2, 3 et 4
- la création de la composition colorée
- création et publication sur Geoserver de la mosaïque temporelle.
main_job.py C'est le script principale à exécuter avec les arguments de date de début (jour, mois et année), commande d'aide : ./main_job.py --help
Le script comprend la classe Main dont les méthode make_RGB_work là où il faut appeler les méthodes de traitement souhaitées. Cette dernière sera appeler dans deux endroits (lignes : 233 & 258) dans la méthode à exécuter nommée main_job.
Le comportement de la méthode main_job est le suivant :
- En commençant par une date choisie (la date par défaut et 01//11/2013),
- Pour chaque pathRow et ficher de base de donnée :
- si tu trouve pas le fichier de base de donnée locale :
- commence la recherche par jour sur la base AWS, si tu trouve une image :
- Lance le traitement avec make_RGB_work et ajouter l’image dans la base locale
- faire ça tout les 16 jours jusqu'à aujourd'hui
- commence la recherche par jour sur la base AWS, si tu trouve une image :
- si tu trouve le fichier de base de donnée locale :
- commence la recherche, par jour, sur la base AWS, depuis la date de la dernière image +1 jour, si tu trouve une image :
- Lance le traitement avec make_RGB_work et ajouter l’image dans la base locale
- faire ça tout les jours jusqu'à aujourd'hui
- commence la recherche, par jour, sur la base AWS, depuis la date de la dernière image +1 jour, si tu trouve une image :
- si tu trouve pas le fichier de base de donnée locale :
landsat_vrt_rgb_pan.sh c'est un script Shell qui permet de créer une composition colorée pansharpnée à partir des 4 bandes 2, 3, 4 et 8 et utilisant les commandes GDAL suivantes:
- gdalbuildvrt
- gdal_translate
- gdal_landsat_pansharp
- gdaladdo
NB :
- Ce script permet de créer une composition colorée avec un meilleur rendu (couleurs, contraste, luminosité...) mais Geoserver n'arrive pas à l'afficher.
- Il se peut que gdal_landsat_pansharp ne sera pas installé par défaut avec GDAL, voir ici pour l'instalation.
TODO :
- Affiner le traitement concernant la création de la composition colorée avec landsat_vrt_rgb_pan.sh afin de pouvoir l'afficher sur Geoserver.
- Déveloper une méthode qui permet de créer un masque des nuages en utilisant le fichier .BQA de l’image.
- Brancher le modèle de l'indice de sécheresse ou autre.