En tête general

(C) Copyright Franck CHEVRIER 2019-2021 http://www.python-lycee.com/

Pour exécuter une saisie Python, sélectionner la cellule et valider avec SHIFT+Entrée.

Cartographie et itinéraires

Les modules Python folium et pyroutelib3 permettent de générer respectivement une carte et un itinéraire entre deux points dont les coordonnées GPS sont connues.

1. La fonction Python itineraire donnée ci-dessous permet de générer une carte avec un itinéraire entre deux points dont on connaît les coordonnées GPS.
Lire les commentaires de la fonction et exécuter la cellule pour mettre cette fonction en mémoire.

In [ ]:
import folium                                # import du module pour générer une carte
from pyroutelib3 import Router               # import des fonctionnalités pour générer un itinéraire

def itineraire(Depart,Arrivee,mode):
    """
    génère une carte représentant un itinéraire avec :
    Depart : coordonnées GPS du point de départ
    Arrivee : coordonnées GPS du point d'arrivée
    mode : mode de transport ("car","cycle","foot","horse","tram","train")
    """
    
    # Calcul des coordonnées du point central de la carte
    # (au milieu du segment joignant Depart et Arrivee)
    
    Vue = ((Depart[0]+Arrivee[0])/2,(Depart[1]+Arrivee[1])/2)
    
    # Réglage du zoom initial
    zoom = 15
    
    # Génération de la carte
    Carte = folium.Map(Vue, zoom_start=zoom)
    
    # Placement des marqueurs des points de Départ et d'Arrivée
    folium.Marker(Depart,popup="Départ").add_to(Carte)
    folium.Marker(Arrivee,popup="Arrivée").add_to(Carte)
    
    try:
        # Génération de l'itinéraire avec le mode de transport choisi
        router = Router(mode)
        D = router.findNode(*Depart)
        A = router.findNode(*Arrivee)
        routeLatLons=[Depart,Arrivee]
        status, route = router.doRoute(D, A)
        if status == 'success': routeLatLons = list(map(router.nodeLatLon, route))
    
        # Tracé de l'itinéraire sur la carte
        folium.PolyLine(routeLatLons, color="magenta", weight=2.5, opacity=1).add_to(Carte)
    
    except:
        # Si l'itinéraire ne peut pas être généré: affichage d'un message d'erreur
        print("La carte a été créée mais impossible de générer l'itinéraire demandé")

    # La fonction renvoie la carte créée 
    return Carte

2. Exécuter la cellule ci-dessous, puis répondre aux questions concernant cet itinéraire :

  • Dans quelle ville cet itinéraire est-il défini ?
  • Quel est le mode de transport choisi pour cet itinéraire ?
  • Quels sont les points de départ et d'arrivée ? Quelles sont leurs coordonnées GPS respectives ?
</strong>

In [ ]:
# Exécuter cette cellule
itineraire( (48.58486732288321, 7.735525889175579) , (48.58083428820921, 7.738795275340017) , "car")

3. On donne les coordonnées GPS suivantes, dans la ville de Colmar :

Lieu
Latitude
Longitude
Mairie de Colmar

48.079584845875885

7.357623229009501
Stadium de Colmar

48.08822231782525

7.37523897770312
Château d'eau

48.07103371359589

7.353385338720863

Effectuer les saisies Python permettant de générer les itinéraires suivant :

  • Itinéraire en voiture de la mairie de Colmar au château d'eau ;
  • Itinéraire à pied du château d'eau au stadium de Colmar ;
  • Itinéraire à pied de la mairie de Colmar au stadium de Colmar.
</strong>

In [ ]:
# Effectuer la saisie pour l'itinéraire en voiture de la mairie de Colmar au Château d'eau
In [ ]:
# Effectuer la saisie pour l'itinéraire à pied du château d'eau au stadium de Colmar
In [ ]:
# Effectuer la saisie pour l'itinéraire à pied de la mairie de Colmar au stadium de Colmar

4. Utiliser le site coordonnees-gps.fr pour obtenir les coordonnées GPS de votre domicile et de votre lycée.
Effectuer la saisie nécessaire pour déterminer un itinéraire à pied de votre domicile au lycée.

In [ ]:
# Effectuer la saisie pour obtenir un itinéraire à pied de votre domicile à votre lycée

(C) Copyright Franck CHEVRIER 2019-2021 http://www.python-lycee.com/

This website does not host notebooks, it only renders notebooks available on other websites.

Delivered by Fastly, Rendered by OVHcloud

nbviewer GitHub repository.

nbviewer version: 90c61cc

nbconvert version: 5.6.1

Rendered (Sun, 09 May 2021 23:09:26 UTC)