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
import folium # imporation bibliothèque pour générer des cartes
import webbrowser # imporation bibliothèque pour les pages web
c= folium.Map(location=[47.7207, -1.3761])
c.save('jailacarte.html')# sauvegarde la carte
webbrowser.open("jailacarte.html") # ouvre le fichier html
import folium # imporation bibliothèque pour générer des cartes
import webbrowser # imporation bibliothèque pour les pages web
c= folium.Map(location=[47.7207, -1.3761],zoom_start=15)
c.save('jailacarte.html')# sauvegarde la carte
webbrowser.open("jailacarte.html") # ouvre le fichier html
import folium # imporation bibliothèque pour générer des cartes
import webbrowser # imporation bibliothèque pour les pages web
c= folium.Map(location=[47.71546680966448, -1.3767517619629162],zoom_start=20)
folium.Marker([47.71546680966448, -1.3767517619629162],).add_to(c)
c.save('ihavethecard.html')
webbrowser.open('ihavethecard.html') # ouvre le fichier html
folium.Marker([47.71546680966448, -1.3767517619629162],popup="Mon lycée",).add_to(c)
Il suffira de cliquer sur le marqueur pour que l'information définie par le paramètre "popup" apparaisse à l'écran.Itinéraire : chemin à suivre pour se rendre d’un point géographique A à un point géographique B.
Comme vous avez pu le constater quand vous avez travaillé sur Open Street Map, il est possible de définir les voies de communication (les routes). La base de données OpenStreetMap contient donc les données des routes répertoriées à ce jour. En utilisant ces données, il est possible de développer des outils capables de calculer des itinéraires routiers.
Comme le propose toutes les applications web de type "GPS " (Googlemap,Viamichemlin, mappy...)
Il suffit de renseigner votre lieu de départ, votre lieu d'arrivée puis l'application web calcule votre itinéraire.
Ce calcul d'itinéraire repose sur des algorithmes, par exemple l'algorithme de Dijkstra qui permet d'obtenir le plus court chemin entre deux points.
Mais tous les logiciels de calcul d’itinéraires utilisent ils le même algorithme ?
Déterminer à l’aide de Mappy et Viamichelin et calculerlesdistances.com le kilométrage et le temps nécessaire pour aller du lycée Saint joseph à Chateaubriant jusqu’à Bagnères-de-Luchon.
On notera la distance et le temps de parcours annoncé par application.
Nous avons réalisé un script Python qui permet de construire un graphe et de déterminer le plus court chemin avec l'algorithme de Dijsktra :
BGdu44 veut se rendre à Atlantis en partant de Chateaubriant.
La tableau suivant donne les liaisons possibles avec leur temps de parcours et leur distances :
Liaison | Distance | Temps |
---|---|---|
Chateaubriant/Nozay | 27km | 27 min |
Nozay/Héric | 18 km | 10 min |
Héric/Orvault | 17 km | 10 min |
Orvault/Atlantis | 9km | 8 min |
Chateaubriant/Moisdon la rivière | 11 km | 11min |
Moisdon la rivière/Nort sur Erdre | 24 km | 21 min |
Nort sur Erdre/Carquefou | 19km | 19min |
Carquefou/Atlantis | 15 km | 12 min |
En adaptant le script suivant :