Localisation, cartographie et mobilité

Faisons afficher un lieu.

Simulation

Ouvrez EduPython et écrivez ce programme :

La bibliothèque 'folium' permet de faire afficher une carte (OpenStreetMap) avec un marqueur aux coordonnées données.

1
import folium
2
c= folium.Map(location=[-12.780701, 45.231619],zoom_start=20)
3
folium.Marker([-12.780701,  45.231619],popup="Où est-ce ?").add_to(c)
4
c.save('maCarte.html')

Enregistrez-le puis exécutez-le, dans le dossier où se trouve votre script, une page web est apparue "macarte.html" que vous pouvez voir avec votre navigateur.

Où est on rendu ?

  • Faites afficher d'autres lieux avec un marqueur.

SimulationOu bien celui-ci

Dans EduPython écrivez ce programme :

On utilise ici la bibliothèque webbrowser, qui ouvre le navigateur à l'adresse indiquée

1
import webbrowser
2
zoom='18'
3
lat=-12.780701
4
lon=45.231619
5
webbrowser.open('https://www.openstreetmap.org/note/new?lat='+str(lat)+'&lon='+str(lon)+'#map='+zoom+'/'+str(lat)+'/'+str(lon))

Essayez avec d'autres lieux

SimulationOu encore celui là :

On utilise ici la bibliothèque GeoPy, qui permet d'obtenir les latitude et longitude d'une ville (ou d'une adresse...).

Puis on affiche une carte OpenStreetMap dans le navigateur.

Écrivez ce programme dans EduPython

1
from geopy.geocoders import Nominatim
2
import webbrowser
3
zoom='18'
4
geolocator = Nominatim()
5
location = geolocator.geocode("Dzaoudzi")
6
print(location.address)
7
print(location.latitude, location.longitude)
8
lat=str(location.latitude)
9
lon=str(location.longitude)
10
webbrowser.open('https://www.openstreetmap.org/note/new?lat='+lat+'&lon='+lon+'#map='+zoom+'/'+lat+'/'+lon)

Faites des essais avec d'autres villes

SimulationDistances géodésiques

Ce programme donne la distance géodésique entre deux villes en miles

1
from geopy.geocoders import Nominatim
2
from geopy.distance import geodesic
3
4
geolocator = Nominatim()
5
location1 = geolocator.geocode("Dzaoudzi")
6
location2 = geolocator.geocode("Draguignan")
7
8
point1=(location1.latitude,location1.longitude)
9
point2=(location2.latitude,location2.longitude)
10
11
print(geodesic(point1,point2).miles)
  • Transformez le résultat en km ( une recherche s'impose ...)

C'est quoi une distance géodésique ?

  • Faites des essais avec d'autres lieux

SimulationEn combinant ces différentes bibliothèques

On affiche ici dans un navigateur une carte marquée sur deux villes

1
from geopy.geocoders import Nominatim
2
import webbrowser
3
import folium
4
geolocator = Nominatim()
5
location1 = geolocator.geocode("Nice")
6
location2 = geolocator.geocode("Draguignan")
7
8
lat1=location1.latitude
9
lon1=location1.longitude
10
lat2=location2.latitude
11
lon2=location2.longitude
12
13
c= folium.Map(location=[lat1, lon1],zoom_start=10)
14
folium.Marker([lat1,  lon1],popup="Nice").add_to(c)
15
folium.Marker([lat2,  lon2],popup="Draguignan").add_to(c)
16
c.save('maCarte.html')
17
webbrowser.open('macarte.html')

Votre mission :

Vous organisez un voyage, et vous souhaitez faire afficher sur une carte les endroits que vous souhaitez visiter (avec un bref descriptif) ainsi que les distances (géodésiques) entres ces différents points.

Imaginez ce programme...

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Stéphan Van Zuijlen Licence de documentation libre GNURéalisé avec Scenari (nouvelle fenêtre)