{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Cartographie TP 5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Écrire votre nom " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*ici*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cartographie et données structurées\n", "\n", "On trouve de nombreux sites qui proposent visualiser des données sur des cartes.\n", "\n", "Le programme ci-dessous affiche sur une carte les localisations des tremblements de terre de magnitudes supérieures à 2.5 (pour le mois dernier)\n", "\n", "Les bibliothèques utilisées :\n", "* csv pour le traitement des fichiers de données csv\n", "* requests pour le chargement de fichier à partir d'une url\n", "* folium pour la création de la carte\n", "\n", "**Testez ce code et le comparer avec une carte des dorsales océaniques**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "'''\n", "Programme qui affiche sur une carte les lieux des séismes de magnitudes supérieure à 2.5\n", "en rouge si la magnitude est supérieure à 5\n", "en bleu entre 4 et 5\n", "en vert les autres\n", "'''\n", "#import des bibliothèques\n", "import csv\n", "import requests\n", "import folium\n", "\n", "#création de la carte\n", "carte_tremblements = folium.Map(location=[0,0], zoom_start=3)\n", "\n", "# Importation des données au format CSV\n", "url=\"http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_month.csv\"\n", "csvfile = requests.get(url)\n", "csvfile = csvfile.content.decode('utf-8')\n", "tremblements_csv = csv.reader(csvfile.splitlines(), delimiter=',')\n", "\n", "# pour éviter la ligne d'en têtes.\n", "header = next(tremblements_csv)\n", "\n", "# On lit maintenant chaque ligne du fichier csv téléchargé\n", "for ligne in tremblements_csv :\n", " latitude = float(ligne[1])\n", " longitude = float(ligne[2])\n", " magnitude = \"Magnitude : \"+ str(ligne[4])\n", " if float(ligne[4]) > 5 :\n", " folium.Marker([latitude,longitude],popup = magnitude,icon = folium.Icon(color='red')).add_to(carte_tremblements)\n", " elif float(ligne[4]) > 4 :\n", " folium.Marker([latitude,longitude],popup = magnitude,icon = folium.Icon(color='blue')).add_to(carte_tremblements)\n", " else :\n", " folium.Marker([latitude,longitude],popup = magnitude,icon = folium.Icon(color='green')).add_to(carte_tremblements)\n", "\n", "\n", "\n", "carte_tremblements.save('macarte6.html')\n", "display(carte_tremblements)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "