Marquer les lieux des tremblements de terre
Les données
Sur le site de l'US Geological Survey on a accès aux données relatives aux tremblements de terre
Le site met à disposition plusieurs types de fichiers :
dernière heure
dernier jour
derniers 7 jours etc ....
On choisira de visualiser les séismes d'une magnitude supérieure à 2.5 le mois dernier : (M2.5+ Earthquakes)
Si on ouvre ce fichier avec LibreOffice : On y voit :
|
Repérez les n° de colonne de :
La latitude
La longitude
La magnitude (mag)
Simulation : Un programme
Nous allons écrire et exécuter le programme suivant qui permet d'afficher sur une carte les lieux et magnitudes des séismes de ce fichier :
'''
Programme qui affiche sur une carte les lieux des séismes de magnitudes supérieure à 2.5
en rouge si la magnitude est supérieure à 5
en bleu entre 4 et 5
en vert les autres
'''
#import des bibliothèques
import csv
import requests
import webbrowser
import folium
#création de la carte
carte_tremblements = folium.Map(location=[0,0], zoom_start=3)
# Importation des données au format CSV en direct
url="http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_month.csv"
csvfile = requests.get(url)
csvfile = csvfile.content.decode('utf-8')
tremblements_csv = csv.reader(csvfile.splitlines(), delimiter=',')
# pour éviter la ligne d'en têtes.
header = next(tremblements_csv)
# On lit maintenant chaque ligne du fichier csv téléchargé
for ligne in tremblements_csv :
latitude = float(ligne[1])
longitude = float(ligne[2])
magnitude = "Magnitude : "+ str(ligne[4])
if float(ligne[4]) > 5 :
folium.Marker([latitude,longitude],popup = magnitude,icon = folium.Icon(color='red')).add_to(carte_tremblements)
elif float(ligne[4]) > 4 :
folium.Marker([latitude,longitude],popup = magnitude,icon = folium.Icon(color='blue')).add_to(carte_tremblements)
else :
folium.Marker([latitude,longitude],popup = magnitude,icon = folium.Icon(color='green')).add_to(carte_tremblements)
carte_tremblements.save('ma_carte.html')
webbrowser.open('ma_carte.html')
Travail à réaliser :
Écrire et exécutez ce programme
Comparez le résultat avec une carte des dorsales océaniques
Modifiez ce programme pour qu'il affiche avec une autre couleur les séismes dont la magnitude est comprise entre 3 et 4