Partie F · exercices 35 à 38

Passerelle : mes coordonnées sur une carte

Utiliser Folium comme une application qu'on bidouille

Folium est un module qui fabrique des cartes interactives, comme celles des sites de cartographie. Son fonctionnement interne est complexe : on ne cherche pas à tout comprendre, on l'utilise et on le modifie pour obtenir la carte voulue.

MéthodeInstaller Folium

À faire une seule fois par ordinateur. Folium est peut-être déjà installé sur les ordinateurs du lycée : essaie d'abord l'exercice 35.

  1. Dans EduPython, menu Outils → Outils → Installation d'un nouveau module.
  2. À la question « Votre choix : », tape 2 puis Entrée.
  3. À la question « Nom du module : », tape folium puis Entrée.
  4. Attends la fin de l'installation, puis appuie sur une touche quand c'est demandé.

CoursTrois nouveautés

carte_lycee.py
import folium

carte = folium.Map(location=[44.1646, 4.6103], zoom_start=16)
folium.Marker([44.1646098, 4.6103368], popup="Lycée Albert Einstein").add_to(carte)
carte.save("ma_carte.html")
Dans le programmeCe que ça veut dire
import foliumcharge le module ; ses commandes s'écrivent ensuite folium.Map, folium.Marker…
[44.1646, 4.6103]une liste : plusieurs valeurs rangées dans l'ordre entre crochets. Ici latitude d'abord, longitude ensuite, en DD.
zoom_start=16, popup="..."des paramètres nommés : on précise le nom du réglage qu'on modifie.
carte.save("ma_carte.html")enregistre la carte dans un fichier web, dans le même dossier que le programme.

Vigilance

La carte ne s'affiche pas dans EduPython : ouvre le fichier ma_carte.html en double-cliquant dessus, dans ton dossier SNT_Python.

Le fond de carte se télécharge depuis Internet : il faut être connecté.

ExercicesMa carte

EX 35Je m'entraîne 🌶️prise en main

Exercice 35 — La carte du lycée

  1. Copie le programme carte_lycee.py, exécute-le, puis ouvre ma_carte.html.
  2. Clique sur le marqueur. Que se passe-t-il ?
  3. Change zoom_start : essaie 5, 10 puis 18. Que règle ce paramètre ?
Indice

Si tu obtiens ModuleNotFoundError: No module named 'folium', il faut installer Folium (voir plus haut).

💾 NOM_Prenom_ex35.py

EX 36Je m'entraîne 🌶️🌶️application

Exercice 36 — La tour Eiffel, en DMS

Wikipédia donne les coordonnées de la tour Eiffel en DMS : 48° 51′ 30″ N ; 2° 17′ 40″ E.

  1. Avec ton programme de l'exercice 31, convertis-les en DD.
  2. Modifie carte_lycee.py pour ajouter un marqueur sur la tour Eiffel, avec un popup adapté.
  3. Centre la carte sur la France avec location=[46.5, 2.5] et zoom_start=6 pour voir les deux marqueurs.
Indice 1

Un deuxième folium.Marker(...).add_to(carte), sur le modèle du premier.

Indice 2

Latitude d'abord, longitude ensuite.

💾 NOM_Prenom_ex36.py

EX 37Je m'entraîne 🌶️🌶️application

Exercice 37 — Mes lieux

Crée la carte de tes lieux : au moins trois endroits où tu es allé ou que tu aimerais visiter, chacun avec un popup qui dit pourquoi.

Bonus : un marqueur peut changer de couleur avec icon=folium.Icon(color="green"). Utilise une couleur pour les lieux visités, une autre pour les lieux à visiter.

Indice 1

Pour trouver les coordonnées d'un lieu : sur une carte en ligne, un clic droit sur le lieu affiche souvent ses coordonnées en DD.

Indice 2

Les couleurs possibles : red, blue, green, purple, orange, darkred, pink, gray, black…

💾 NOM_Prenom_ex37.py

EX 38Je m'entraîne 🌶️🌶️🌶️plusieurs étapes

Exercice 38 — Le programme complet

Écris un programme qui :

  • demande le nom d'un lieu ;
  • demande sa latitude puis sa longitude en DMS (degrés, minutes, secondes) ;
  • convertit les deux angles en DD ;
  • crée une carte centrée sur ce lieu, avec un marqueur portant son nom, et l'enregistre.
Indice 1

Réutilise deux fois les calculs de l'exercice 31 : une fois pour la latitude, une fois pour la longitude.

Indice 2

Le popup peut recevoir une variable : popup=nom.

💾 NOM_Prenom_ex38.py

Et ensuite ?

Tu peux maintenant reprendre le TP 3 de Localisation : ses programmes Folium utilisent exactement ces trois nouveautés.