Nous allons utiliser les cartes proposées par Open Street Map et le langage Python afin de générer des cartes personnalisées. Plus exactement, nous allons utiliser une bibliothèque Python nommée Folium. Une bibliothèque Python permet de rajouter des fonctionnalités au langage de base. Folium va donc nous permettre de créer nos propres cartes à partir des cartes proposées par Open Street Map.
Veillez documenter votre progression sur Microsoft Word.
ACTIVITÉ 1 :
Créez un dossier et nommez-le par exemple "cartoOSM".
ACTIVITÉ 2 :
Utilisez le logiciel PyCharm pour saisir le programme ci-dessous. Ouvrez un nouveau projet Python. Le projet devra être enregistré dans le répertoire créé au "ACTIVITÉ 1" (le fichier pourra être nommé "carte_1.py"). Ensuite, créez un nouveau fichier de Python.
Installez la bibliothèque Folium.
File - Settings - Project - Python Interpreter - + - Cherchez "Folium" - Install Package
Une fois le code ci-dessus exécuté, rendez-vous dans le répertoire que vous avez créé au "ACTIVITÉ 1". Vous devriez trouver un fichier "maCarte.html". Double-cliquez sur ce fichier, cela devrait normalement ouvrir un navigateur web : la carte centrée sur la ville de Bonneville est à votre disposition. Notez bien que nous avons une véritable carte et pas une simple image (il est possible de zoomer ou de se déplacer).
Le programme du "À faire vous-même 2" est simple à comprendre :
La première ligne : "import folium" permet d'importer la bibliothèque folium afin de pouvoir l'utiliser
La deuxième ligne est le coeur de notre programme, nous définissons une variable "c" qui va contenir notre objet carte. "folium.Map(location=[46.078025, 6.409053])" génère cet objet carte, la carte sera centrée sur le point de latitude "46.078025" et de longitude "6.409053". Plus généralement nous avons "folium.Map(location=[latitude, longitude])". Il suffit donc de renseigner la bonne longitude et la bonne latitude pour que la carte soit centrée sur le point désiré.
La dernière ligne permet de générer la page HTML qui va permettre d'afficher la carte.
ACTIVITÉ 3 :
Modifiez le programme du "ACTIVITÉ 2" pour qu'il génère une carte centrée sur la ville Guatemala (la longitude et la latitude d'une ville sont facilement trouvables sur le web).
ACTIVITÉ 4 :
Il est possible d'obtenir un niveau de zoom différent en ajoutant un paramètre "zoom_start".
Saisissez et testez le programme ci-dessous (si vous désirez garder la carte précédente, n'oubliez pas de modifier la dernière ligne en changeant le nom du fichier HTML généré).
Plus la valeur de "zoom_start" sera grande et plus le zoom sera important.
ACTIVITÉ 5 :
Afin de vraiment personnaliser la carte, il est possible d'ajouter des marqueurs sur la carte. Un marqueur sera simplement défini par ses coordonnées (latitude et longitude).
Saisissez et testez le programme ci-dessous
Nous avons uniquement ajouté la ligne "folium.Marker...", il faut juste renseigner les coordonnées souhaitées (ici 46.078637266899 pour la latitude et 6.4111924884134 pour la longitude).
Il est possible d'ajouter plusieurs marqueurs sur une même carte, il suffira d'ajouter autant de ligne "folium.Marker([latitude, longitude]).add_to(c)" que de marqueurs désirés.
Il est possible d'associer une information à un marqueur en ajoutant le paramètre "popup".
ACTIVITÉ 6 :
Saisissez et testez le programme ci-dessous.
Il suffit de cliquer sur le marqueur pour que l'information définie par le paramètre "popup" apparaisse à l'écran (ici en cliquant sur le marqueur nous verrons donc apparaitre "Lycée G Fichet").
ACTIVITÉ 7 :
En vous aidant de ce qui a été fait au "ACTIVITÉ 6", créez une carte et placez un marqueur au Lycée Jules Verne (n'oubliez pas de renseigner le paramètre "popup").