TP 4 : Les volcans correction#

Binder

Volcans Correction

On commence par éxécuter la commande %load_ext sql qui est une magic command spécifique à Jupyter Notebook. Elle sert à charger l’extension ipython-sql, qui permet d’exécuter du code SQL directement dans des cellules Jupyter comme si c’était du Python natif :

%load_ext sql

Ensuite, on établit une connexion SQL entre notre Jupyter et notre base de données SQLite locale nommée volcans.db :

%sql sqlite:///volcans.db

On exécute la cellule suivante pour configurer l’affichage des résultats SQL dans notre notebook Jupyter lorsqu’on utilise l’extension ipython-sql :

%config SqlMagic.style = '_DEPRECATED_DEFAULT'

Ici on liste les tables présentes dans notre base de données :

%%sql
SELECT name FROM sqlite_master WHERE type='table'
 * sqlite:///volcans.db
Done.
name
volcans

Ensuite, on liste les colonnes dans la table volcans :

%%sql
PRAGMA table_info(volcans)
 * sqlite:///volcans.db
Done.
cid name type notnull dflt_value pk
0 volcano TEXT 0 None 1
1 name TEXT 0 None 0
2 wiki TEXT 0 None 0
3 elevation INTEGER 0 None 0
4 lat REAL 0 None 0
5 lon REAL 0 None 0
6 eruption_date TEXT 0 None 0
7 eruption_year INTEGER 0 None 0
8 abstract TEXT 0 None 0
9 photo TEXT 0 None 0

On peut alors proposer une correction au TP4.


Partie 1 – Exploration de la base#

  1. Lister les 10 volcans les plus hauts, classés par altitude décroissante. N’affichez que les noms et les altitudes.

%%sql
SELECT name, elevation FROM volcans ORDER BY elevation DESC LIMIT 10 ;
 * sqlite:///volcans.db
Done.
name elevation
Ojos del Salado 6893
Incahuasi 6621
Tupungato 6570
Antofalla 6409
Parina Quta 6380
Coropuna 6377
Ampato 6288
Pular 6233
Aucanquilcha 6176
San Pedro 6155
  1. Compter le nombre de volcans dont l’altitude est supérieure à 5000 mètres.

%%sql
SELECT COUNT(name) FROM volcans WHERE elevation > 5000 
 * sqlite:///volcans.db
Done.
COUNT(name)
55
  1. Afficher le nom, l’altitude et le lien Wikipédia pour les volcans ayant une altitude inférieure à 300m.

%%sql
SELECT name, elevation, wiki FROM volcans 
WHERE elevation < 300 
ORDER BY elevation DESC
 * sqlite:///volcans.db
Done.
name elevation wiki
Jabal at-Tair 244 http://en.wikipedia.org/wiki/Jabal_al-Tair_Island
Babase 200 http://en.wikipedia.org/wiki/Babase_Island
Eldfell 200 http://en.wikipedia.org/wiki/Eldfell
Furnas 198 http://en.wikipedia.org/wiki/Furnas

Partie 2 – Analyse temporelle#

  1. Lister 10 volcans ayant eu une éruption après l’an 2000.

%%sql
SELECT name, eruption_year
FROM volcans
WHERE eruption_year > 2000
LIMIT 10;
 * sqlite:///volcans.db
Done.
name eruption_year
Atlasov 2018
Avachinsky 2008
Bezymianny 2021
Brown Peak 2001
Bulusan Volcano 2017
Bárðarbunga 2014
Calbuco 2021
Chikurachki 2016
Concepción 2015
Copahue 2016
  1. Trouver combien de volcans ont une année d’éruption connue (c’est-à-dire non nulle).

%%sql
SELECT COUNT(*)
FROM volcans
WHERE eruption_year IS NOT NULL;
 * sqlite:///data///volcans.db
Done.
COUNT(*)
351
  1. Trouver 10 volcans ayant l’éruption la plus lointaine, trier par ordre croissant d’année d’éruption.

%%sql
SELECT name, eruption_year
FROM volcans
ORDER BY eruption_year 
LIMIT 10;
 * sqlite:///volcans.db
Done.
name eruption_year
Acamarachi -1000000000
Alid -1000000000
Ampato -1000000000
Antofalla -1000000000
Arintica -1000000000
Babase -1000000000
Cabaraya -1000000000
Carihuairazo -1000000000
Cay -1000000000
Cerro Miñiques -1000000000

Partie 3 – Données géographiques#

  1. Trouver les volcans situés dans l’hémisphère sud.

%%sql SELECT name, lat, lon
FROM volcans
WHERE lat < 0;
 * sqlite:///data///volcans.db
Done.
name lat lon
Acamarachi -23.3 -67.6167
Acotango -18.3822 -69.0478
Aguilera -50.3333 -73.75
Ambitle -4.08333 153.65
Ampato -15.8167 -71.8833
Antillanca Group -40.7708 -72.1533
Antisana -0.481389 -78.1408
Antofalla -25.55 -67.8833
Antuco -37.4058 -71.3492
Aracar -24.29 -67.7833
Arintica -18.7472 -69.0667
Arjuno‑Welirang -7.76444 112.589
Atacazo -0.352778 -78.6169
Aucanquilcha -21.1833 -68.5833
Babase -4.03333 153.717
Brown Peak -67.6833 164.967
Cabaraya -19.1458 -68.6983
Calbuco -41.33 -72.6183
Callaqui -37.9167 -71.45
Carihuairazo -1.40694 -78.75
Carrán-Los Venados -40.308 -72.07
Cay -45.0625 -72.9858
Cerro Arenales -47.1958 -73.4683
Cerro Azul -35.653 -70.761
Cerro Macá -45.1058 -73.1692
Cerro Miñiques -23.8167 -67.7667
Cerro Overo -23.5175 -67.6625
Cerro Pantojo -40.7667 -71.95
Cerro del Azufre -21.7872 -68.2375
Chiliques -23.5833 -67.7
Colachi -23.2364 -67.645
Copahue -37.85 -71.1667
Copiapó -27.3058 -69.1308
Corcovado -43.1833 -72.8
Cordón de Puntas Negras -23.7428 -67.5342
Coropuna -15.55 -72.65
Cotopaxi -0.680556 -78.4378
Dakataua -5.05556 150.108
Descabezado Grande -35.5833 -70.75
Domuyo -36.6397 -70.433
El Altar -1.66333 -78.4092
Galunggung -7.25673 108.077
Garbuna Group -5.45 150.033
Green Mountain, Ascension Island -7.95 -14.35
Hualca Hualca -15.7206 -71.8555
Hudson Mountains -74.55 -99.1833
Ijen -8.058 114.242
Incahuasi -27.033 -68.296
Inierie -8.875 120.95
Isluga -19.15 -68.8333
Jayu Quta -19.45 -67.4167
Kaba -3.52 102.62
Kamojang -7.125 107.8
Kao (volcano) -19.67 -175.03
Kelud -7.93 112.308
Lanín -39.6328 -71.4997
Lascar -23.3667 -67.7333
Lastarria -25.1667 -68.5167
Lautaro -49.0197 -73.5035
Licancabur -22.8339 -67.8836
Llaima -38.6958 -71.7317
Lonquimay -38.3767 -71.5833
Lopevi -16.5067 168.346
Maipo -34.161 -69.833
Marmolejo -33.734 -69.878
Melimoyu -44.0758 -72.86
Michinmahuida -42.7992 -72.4458
Misti -16.2944 -71.4089
Mont Ross -49.5922 69.4958
Mount Agung -8.34083 115.503
Mount Balbi -5.91417 154.982
Mount Belinda -58.4333 -26.3333
Mount Bisoke -1.46083 29.4817
Mount Butak -7.92 112.45
Mount Ciremai -6.892 108.4
Mount Dempo -4.01583 103.128
Mount Discovery -78.3667 165.017
Mount Egon -8.66667 122.45
Mount Gahinga -1.38694 29.6467
Mount Gede -6.78 106.98
Mount Gharat (Mount Garet) -14.27 167.5
Mount Gurumehr -7.143 107.84
Mount Hudson -45.9 -72.9667
Mount Karisimbi -1.50833 29.445
Mount Kenya -0.150833 37.3075
Mount Kerinci -1.69667 101.266
Mount Kilimanjaro -3.07583 37.3533
Mount Lamongan -7.979 113.342
Mount Lawu -7.625 111.192
Mount Longonot -0.915278 36.4569
Mount Malabar -7.13 107.65
Mount Melbourne -74.35 164.7
Mount Merapi -7.54083 110.445
Mount Merbabu -7.455 110.44
Mount Meru -3.24667 36.7483
Mount Mikeno -1.46389 29.4183
Mount Muhabura -1.38333 29.6667
Mount Ngauruhoe -39.1568 175.632
Mount Pangrango -6.7773 106.981
Mount Papandayan -7.32 107.73
Mount Penanggungan -7.62 112.63
Mount Raung -8.125 114.042
Mount Ruapehu -39.2833 175.567
Mount Sabyinyo -1.4 29.6
Mount Salak -6.72 106.73
Mount Slamet -7.23917 109.22
Mount Sumbing -7.385 110.073
Mount Tambora -8.25 118.0
Mount Tampomas -6.77 107.95
Mount Taranaki -39.2964 174.065
Mount Telomoyo -7.37 110.4
Mount Wurlali -7.125 128.675
Mount Yasur -19.5283 169.448
Nevado Anallajsi -17.9167 -68.9167
Nevado San Francisco -26.9188 -68.2627
Nevado de Longaví -36.193 -71.161
Nevados de Chillán -36.8633 -71.3767
Ojos del Salado -27.1097 -68.5414
Ol Doinyo Lengai (Oldoinyo Lengai) -2.76444 35.9161
Olca -20.9333 -68.4833
Ollagüe -21.2833 -68.1833
Osorno -41.1 -72.4931
Paluweh -8.32917 121.71
Parina Quta -18.166 -69.142
Patilla Pata -18.0611 -69.0567
Peinado -26.62 -68.15
Pular -24.1875 -68.0542
Puntiagudo-Cordón Cenizos -40.9694 -72.2639
Quetrupillán -39.5 -71.7
Raoul Island -29.2667 -177.917
Reventador -0.0775 -77.6558
San Pedro -21.888 -68.391
Sangay -2.0025 -78.3408
Semeru -8.108 112.92
Sierra Nevada de Lagunas Bravas -26.4908 -68.5591
Socompa -24.3959 -68.246
Tacora -17.7206 -69.7728
Tafahi -15.85 -173.717
Talang -0.978333 100.679
Tandikat -0.432583 100.317
Tangkuban Parahu -6.77 107.6
Tinakula -10.3833 165.8
Tinguiririca Volcano -34.8136 -70.3519
Tolhuaca -38.31 -71.645
Tromen -37.142 -70.03
Tronador -41.1608 -71.8875
Tungurahua -1.47 -78.4447
Tupungato -33.3583 -69.77
Ubinas -16.3486 -70.9022
Ulawun -5.05 151.333
Villarrica Volcano -39.4208 -71.9392
Volcán San José -33.7864 -69.8987
Whakaari / White Island -37.52 177.182
Yanteles -43.5 -72.8
Yate -41.7547 -72.3964
  1. Compter le nombre de volcans situés entre l’équateur (lat = 0) et 30°N.

%%sql
SELECT COUNT(*)
FROM volcans
WHERE lat > 0 AND lat < 30;
 * sqlite:///data///volcans.db
Done.
COUNT(*)
100
  1. Identifier les 5 volcans les plus au nord (par latitude décroissante).

%%sql
SELECT name, lat
FROM volcans
ORDER BY lat DESC
LIMIT 5;
 * sqlite:///data///volcans.db
Done.
name lat
Beerenberg 71.0767
Snæfellsjökull 64.8
Bárðarbunga 64.6411
Hekla 63.9922
Brennisteinsalda 63.9808

Partie 4 – Requête avancée (bonus)#

  1. Extraire 5 volcans ayant dans leur description (abstract) le mot “eruption”.

%%sql 
SELECT name, abstract
FROM volcans
WHERE abstract LIKE '%éruption%'
LIMIT 5;
 * sqlite:///volcans.db
Done.
name abstract
Antisana L'Antisana est un stratovolcan, culminant à 5 758 m, de la cordillère des Andes, situé en Équateur, dans la province de Napo. Sa dernière éruption remonte à 1801.
Arenal Volcano L'Arenal, aussi appelé cerro Arenal, volcán de los Canaste, volcán de Costa Rica, Guatusos Peak, cerro de los Guatusos, Pan de Azúcar, Pelón, Los ahogados ou encore volcán de Río Frío, est un volcan du Costa Rica ayant une forme conique quasiment symétrique. Plus jeune volcan du Costa Rica, il est en éruption du 29 juillet 1968 à décembre 2010.
Aucanquilcha L'Aucanquilcha est un stratovolcan situé dans le Nord du Chili dans la région d'Antofagasta, près de la frontière avec la Bolivie. Il culmine à l'altitude de 6 176 m. La dernière éruption date du Pléistocène. Une légère activité de fumeroles persiste cependant, et des dépôts de soufre se forment à son sommet. Une mine de sulfure ouverte en 1913 à 5 950 m d'altitude y a été en exploitation entre 1950 et 1992 ; c'était à cette époque la plus haute mine du monde.
Bezymianny Le Bezymianny, en cyrillique Безымянный, terme russe qui signifie littéralement « sans nom » en français, est un volcan de Russie situé dans la péninsule du Kamtchatka. Il est voisin des volcans Kamen, Ouchkovski et Klioutchevskoï situés immédiatement au nord et du Tolbatchik situé au sud. Alors considéré comme éteint, le volcan entame une nouvelle phase éruptive en 1955 lorsqu'il entre dans une violente éruption qui sera suivie par des dizaines d'autres.
Calbuco Le Calbuco est un volcan du Chili s'élevant au sud-est du lac Llanquihue, au nord-est de la ville de Puerto Montt et au nord-est du golfe du Seno de Reloncaví. Composé d'andésite et couvert à son sommet de glaciers, il culmine à 2 015 mètres d'altitude. Alors que sa dernière éruption remontait au 26 août 1972, il est, sans signe avant-coureur, brusquement entré en éruption le 22 avril 2015.