Skip to Content

Python: visualiser en temps quasi réel les images satellites et les shapefiles MODIS ou les données sismiques de l'USGS


python

Le Moderate-Resolution Imaging Spectroradiometer, ou MODIS (spectromètre pour imagerie de résolution moyenne), est une série d'instruments d'observation scientifique placés à bord de deux satellites, Terra et Aqua, lancés par la Nasa (dès 1999 pour le premier). Ce sont des satellites de l’Earth Observing System, un programme destiné à l'observation à long terme des sols, biosphère, atmosphère et océans de la Terre. Diverses bandes spectrales sont analysées avec une résolution spatiale de 250 m à 2 km. Une image complète de la terre est ainsi fournie tous les 1 à 2 jours.

Images satellites Modis

Ce que beaucoup de gens ignorent, c'est que ces images (pratiquement en temps réel, quelques heures après avoir été réceptionnées et traitées) sont librement accessibles à la consultation ou au téléchargement sur le site rapidfire.sci.gsfc.nasa.gov/realtime/, en totalité ou avec un choix de zones (subset) à rapidfire.sci.gsfc.nasa.gov/subsets/.

Si l'on clique sur l'une de ces zones, les différentes cartes du jour, selon le satellite, le type de données et leurs résolutions (2km, 1km, 500m, 250m), sont proposées. En choisissant l'une des résolutions, l'écran suivant (partiel pour la photo) est obtenu :

Il est possible de télécharger l'image en divers formats, les métadonnées et les fichiers de géoréférencement et de projection.

Mais que faire pour les personnes qui voudraient suivre les images d'une manière périodique ? Même avec un SIG, elles sont obligées d'aller sur le site pour les visualiser et les télécharger en fonction de leurs besoins.

Christian S. Perone présente un script Python permettant de tout faire de manière automatique et transparente, c'est à dire, téléchargement d'une image d'une zone donnée et visualisation avec Python grâce à la librairie Matplotlib et son module cartographique Basemap, qui gère les projections : pyevolve.sourceforge.net/wordpress/ .

 

 

 Images du satellite Terra à diverses dates pour la zone Europe_2_01  

Images satellites Modis + shapefiles Modis

Bien plus, il montre les grandes possibilités de Basemap en superposant des shapefiles à ces images . En effet, d'autres données issues de Modis, vectorielles, peuvent aussi être utilisées. Le site maps.geog.umd.edu/firms/ recense la distribution mondiale des incendies (Observatoire d'Alerte incendie - Fire Information for Resource Management System -FIRMS ), avec le même ordre de mise à jour que les images satellites.

Les données, tout aussi  librement accessibles, sont fournies en divers formats (kml, wms, txt ou shapefiles en projection WGS84, disponibles pour les dernières 24h, 48h ou 7 jours).

Son script permet aussi de les traiter. Les données d'incendies sont téléchargées au format shapefile et projetées par Basemap sur la zone Modis correspondante. Comme il n'y a pas beaucoup d'incendies référencées en Europe, j'ai choisi une zone en Afrique et une autre en Indochine avec des satellites et des résolutions différentes.

 

Satellite Aqua, zone NAfrica_3_03                       Satellite Terra, zone FAS_Indochina

Les couleurs des points sont normalisées par Matplotlib en fonction d'un intervalle de confiance de 1 à 100 m et d'un "colormap" nommé "hot". Tout ceci peut être modifié.

Images satellites Modis + shapefiles de l' USGS ( tremblements de terre)

Dans son dernier article, il transforme son script en une bibliothèque pyearthquake. Elle permet aussi de représenter les données sismiques de l'USGS (Service géologique des États-Unis).

from pyearthquake import usgs
from pyearthquake import modis

Il l'applique à la zone de Haïti. (pyevolve.sourceforge.net/wordpress/)

catalogue des tremblements de terre recensés depuis 7 jours

détail dans la zone des Antilles

superposition des données sur les images MODIS

 fonction zoom de matplotlib

Les couleurs des points sont ici basées sur l'échelle des tremblements de terre de l’USGS qui peut être obtenue par la bibliothèque elle-même.

Remarques finales

Lorsqu'on utilise le script ou la bibliothèque, on peut être bloqué par le message d'erreur Python suivant :

Error: BadZipfile, maybe the data is not yet ready on MODIS site !

Cela veut dire que le script va plus vite que la disponibilité des images sur le site de Modis (elles ne sont pas encore disponibles à la date demandée). Si l'on connait Python, il est alors très facile de changer la date (le script et la bibliothèque utilisent par défaut la date courante pour interroger le site de MODIS avec les bibliothèques standards Time ou Datetime)

Tous les traitements ont été effectués sur Mac OS X avec Python 2.5.4 à partir du script de Christian S. Perone légèrement modifié et de la bibliothèque pyearthquake 


Site officiel : Modis
Site officiel : Matplotlib
Site officiel : Basemap
Site officiel : Pyevolve
Site officiel : The Fire Information for Resource Management System (FIRMS)
Site officiel : pyearthquake
Site officiel : Catalogue des tremblements de terre de l' USGS

Commentaires

Christian S. Perone

Thank you for the point and references !

Poster un nouveau commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.