Title: COMMENT REALISER UN TRACE GPS ENTRE LE BEVEDERE ET SAINT MALO
Course: LOCALISATION ET GPS > Section: PYTHON ET FOLIUM

#---------BIBLIOTHEQUES/MODULES---------
# appel des Modules/Librairies nécessaires
from pyroutelib3 import Router
import folium
import webbrowser

#----------PROGRAMME PRINCIPAL----------
# coordonnées GPS départ et arrivée
rozsurcouesnon = [48.589843, -1.5912850]
saintmalo = [48.650002, -2.01667 ]
# type de déplacement : cycle, foot, horse, tram, train, car ?
router = Router("car")
# Création des points de départ et d'arrivée
depart = router.findNode(rozsurcouesnon[0],rozsurcouesnon[1])
arrivee = router.findNode(saintmalo[0],saintmalo[1])
# calcul itinéraire : test de l'existence d'une route
status, itineraire = router.doRoute(depart, arrivee)
if status == 'success':
    routeLatLons = list(map(router.nodeLatLon, itineraire)) # liste des points du parcours
# création de la carte
carte= folium.Map(location=[(rozsurcouesnon[0]+saintmalo[0])/2,(rozsurcouesnon[1]+saintmalo[1])/2],zoom_start=15)
# ajout des points (noeuds) du parcours à la carte
for indice,coord in enumerate(routeLatLons):
    if indice%60==0:
        coord=list(coord)
        folium.Marker(coord).add_to(carte)
# ajout à la carte du tracé d'une ligne reliant les points/noeuds du parcours
itineraire_coordonnees = list(map(router.nodeLatLon, itineraire)) # liste des points du parcours
folium.PolyLine(
    itineraire_coordonnees,
    color="red",
    weight=6,
    opacity=1
    ).add_to(carte)
# enregistrement et affichage de la carte
carte.save('route belvedere roz sur couesnon saint malo.html')
webbrowser.open('route belvedere roz sur couesnon saint malo.html')