Itinéraire avec Python

MéthodePré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.

SimulationCode Python

1
#---------BIBLIOTHEQUES/MODULES---------
2
# appel des Modules/Librairies nécessaires
3
from pyroutelib3 import Router
4
import folium
5
import webbrowser
6
7
#----------PROGRAMME PRINCIPAL----------
8
# coordonnées GPS départ et arrivée
9
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ée
14
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 route
17
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 carte
21
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 carte
23
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 parcours
28
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 carte
36
carte.save('carte.html')
37
webbrowser.open('carte.html')