SNTLocalisation

Mini-projet : Carte GPS du Renard

Modifier du code Python pour placer des points sur une carte interactive avec folium.

Mini-projet : Carte GPS du Renard

Le but de ce projet est de construire une carte interactive du passage du renard, en modifiant du code Python. Ce projet consiste à afficher une carte de France, poser des marqueurs, parcourir une liste de lieux, puis ajouter un lieu choisi.

La carte se met à jour à droite quand le programme crée une variable nommée carte.

Attention : le programme doit toujours contenir carte = folium.Map(...). Sans cette variable, rien ne s'affiche.

1. Une carte de France

Lancer ce code sans le modifier. Le centre [46.5, 2.5] vise le milieu de la France, et zoom_start=6 montre le pays entier. Le message Carte de France chargée ! confirme que le programme a tourné.

Laboratoire du renard

Carte du renard

Programme une carte et visualise immédiatement le résultat.

À toi de jouer

2. Le marqueur de Paris

Un marqueur se pose avec folium.Marker([latitude, longitude], popup='...', tooltip='...').add_to(carte).

Paris : latitude 48.8566, longitude 2.3522.

Laboratoire du renard

Carte du renard

Programme une carte et visualise immédiatement le résultat.

À toi de jouer

Enlever le # au début des deux lignes commentées, puis exécuter. Un clic sur le marqueur affiche Paris. Le survol affiche Capitale.

3. Lyon et Marseille

Paris est déjà placé. Ajouter Lyon et Marseille en complétant les TODO, sur le même modèle que Paris.

VilleLatitudeLongitude
Lyon45.76404.8357
Marseille43.29655.3698

Laboratoire du renard

Carte du renard

Programme une carte et visualise immédiatement le résultat.

À toi de jouer

Exemple pour Lyon, à adapter pour Marseille :

folium.Marker([45.7640, 4.8357], popup='Lyon').add_to(carte)

Après exécution, les trois villes sont cliquables. Si un marqueur manque, relire la latitude et la longitude : un couple inversé place la ville au mauvais endroit.

4. Une boucle sur les lieux

Plutôt que répéter le même code, on parcourt une liste de dictionnaires. lieu['lat'] donne la latitude, lieu['lon'] la longitude, lieu['nom'] le nom.

Laboratoire du renard

Carte du renard

Programme une carte et visualise immédiatement le résultat.

À toi de jouer

La boucle attendue :

for lieu in lieux:
    folium.Marker([lieu['lat'], lieu['lon']], popup=lieu['nom']).add_to(carte)

Les quatre villes du tableau apparaissent : Paris, Lyon, Marseille et Lille. Ajouter une cinquième ville se fait dans la liste lieux, pas en recopiant un Marker.

5. Un lieu personnel

Personnaliser la carte avec sa ville ou son établissement. Chercher les coordonnées sur openstreetmap.org : clic droit, puis « Afficher l'adresse ».

Laboratoire du renard

Carte du renard

Programme une carte et visualise immédiatement le résultat.

À toi de jouer

Décommenter la ligne du marqueur vert et remplacer NOM, LAT et LON. Le marqueur vert est le vôtre : il se distingue de Paris et de Lyon. folium.Icon(color='green') fixe la couleur.

6. Le trajet (bonus)

Un trajet se dessine avec folium.PolyLine : une ligne entre plusieurs coordonnées, dans l'ordre de la liste.

Laboratoire du renard

Carte du renard

Programme une carte et visualise immédiatement le résultat.

À toi de jouer

Décommenter la ligne PolyLine. Une ligne bleue relie Paris à Lyon. weight=4 règle l'épaisseur du trait et opacity=0.8 sa transparence.

Ce qu'on rend. Le programme de l'étape 5, avec Paris, Lyon, et le marqueur vert aux coordonnées cherchées. Le nom dans popup est celui du lieu choisi. Si le bonus est fait, le trajet Paris-Lyon est dans le même fichier.

Sur un ordinateur, en dehors de cette page, carte.save('ma_carte.html') écrit la carte dans un fichier qu'on ouvre dans le navigateur.