Itinéraire avec Python
Exemple :
Méthode : Préparation
Utilisation d'édupython 3 et des Modules/Librairies pyroutelib3, folium et webbrowser (Rappel installation Bibliothèque/Module).
Interaction Utilisateur/Ordinateur à l'aide de la console Python.
Simulation : Code Python
1
#---------BIBLIOTHEQUES/MODULES---------2
# appel des Modules/Librairies nécessaires3
from pyroutelib3 import Router
4
import folium
5
import webbrowser
6
7
#----------PROGRAMME PRINCIPAL----------8
# coordonnées GPS départ et arrivée9
eplb_park = [46.548453, 3.286341]
10
moulins_mairie = [46.566067 , 3.332859]
11
# type de déplacement : cycle, foot, horse, tram, train, car ?12
router = Router("car")
13
# Création des points de départ et d'arrivée14
depart = router.findNode(eplb_park[0],eplb_park[1])
15
arrivee = router.findNode(moulins_mairie[0],moulins_mairie[1])
16
# calcul itinéraire : test de l'existence d'une route17
status, itineraire = router.doRoute(depart, arrivee)
18
if status == 'success':
19
routeLatLons = list(map(router.nodeLatLon, itineraire)) # liste des points du parcours
20
# création de la carte21
carte= folium.Map(location=[(eplb_park[0]+moulins_mairie[0])/2,(eplb_park[1]+moulins_mairie[1])/2],zoom_start=15)
22
# ajout des points (noeuds) du parcours à la carte23
for indice,coord in enumerate(routeLatLons):
24
if indice%10==0:
25
coord=list(coord)
26
folium.Marker(coord).add_to(carte)
27
# ajout à la carte du tracé d'une ligne reliant les points/noeuds du parcours28
itineraire_coordonnees = list(map(router.nodeLatLon, itineraire)) # liste des points du parcours
29
folium.PolyLine(
30
itineraire_coordonnees,31
color="blue",
32
weight=2.5,
33
opacity=1
34
).add_to(carte)
35
# enregistrement et affichage de la carte36
carte.save('carte.html')
37
webbrowser.open('carte.html')