Aller au contenu (Pressez Entrée)
Javier Ladino

Javier Ladino

{Data/Design/Engineer}

  • Accueil
  • Portfolio
  • A propos de moi
  • EN 🇺🇸
  • ES 🇨🇴
DataViz

Comment utiliser les cartes isochrones interactives pour trouver un logement près de l’école à Nantes

Trouver un logement convenable à proximité de l’école de nos enfants est une préoccupation commune à de nombreuses familles. Heureusement, les cartes isochrones offrent un moyen efficace de visualiser les zones accessibles en fonction du temps de trajet. Dans cet article, vous apprendrez à utiliser Python et les bibliothèques Leaflet et Folium pour créer une carte isochrone interactive de la ville de Nantes, en France, et trouver l’endroit idéal pour vivre près de la nouvelle école de vos enfants.

Isocrone Nantes

Conditions préalables

Avant de commencer, assurez-vous que les bibliothèques Python suivantes sont installées dans votre environnement :

  • Folium
  • Requests
  • Shapely
import folium
import requests
from shapely.geometry import Polygon
from shapely.ops import cascaded_union

De plus, vous devrez obtenir un jeton d’accès pour le service Mapbox isochrone. Si vous n’en avez pas encore, vous pouvez créer un compte Mapbox gratuit et obtenir le jeton sur leur site web.

https://account.mapbox.com/

Étape 1 : Définir l’emplacement et les intervalles de temps

Tout d’abord, nous devons déterminer l’emplacement de la nouvelle école de vos enfants à Nantes. Utilisez les coordonnées de latitude et de longitude pour marquer cet emplacement sur la carte.

# Définit la localisation et le point de départ (Nantes, France)
lat = 47.23864
lon = -1.53362

J’ai utilisé Google Maps pour localiser l’endroit. Cliquez avec le bouton droit de la souris sur le nœud rouge de la carte et vous obtiendrez les coordonnées dont vous avez besoin. 📍🗺

Déterminez ensuite les intervalles de temps souhaités en minutes, en tenant compte du temps maximum que vous êtes prêt à consacrer au trajet quotidien de vos enfants vers et depuis l’école. Par exemple, vous pouvez fixer des intervalles de 10, 20 et 30 minutes.

# Définit les intervalles de temps en minutes pour les isochrones.
intervals = [5, 10, 15] # Fixé à 5, 10 et 15 minutes à la vitesse moyenne d'une personne marchant.

Étape 2 : Obtenir les données isochrones

Nous allons utiliser la bibliothèque requests pour envoyer une requête HTTP au service Mapbox isochron et obtenir les données pour chaque intervalle de temps.

# Définir le jeton d'accès pour le service isochron
token = "pk.token.mapbox" # Remplacer par votre propre token

# Créer une carte interactive en utilisant Folium
map = folium.Map(location=[lat, lon], zoom_start=15)

# Traverser les intervalles de temps et obtenir les isochrones
pour intervalle dans intervalles :
    # Construire l'URL de la requête isochrone.
    url = f "https://api.mapbox.com/isochrone/v1/mapbox/walking/{lon},{lat}?contours_minutes={intervalle}&polygones=true&access_token={token}"
    
    # Effectuer la requête HTTP et obtenir les données de la réponse
    response = requests.get(url)
    data = response.json()

Nous construirons l’URL de la requête isochron en utilisant les coordonnées de l’école et le jeton d’accès fourni par Mapbox. Ensuite, nous enverrons la requête et obtiendrons la réponse au format JSON.

Étape 3 : Traiter les données et générer les polygones

Une fois les données JSON obtenues pour chaque isochrone, nous allons extraire les coordonnées des polygones des isochrones en utilisant la bibliothèque shapely.

# Extraire les coordonnées des polygones isochrones
    coordinates = data["features"][0]["geometry"]["coordinates"]]
    
    # Créer un polygone Shapely et ajouter les points du polygone
    polygone = Polygone(coordonnées[0])
    
    # Ajouter le polygone à la carte en tant que couche GeoJSON
    folium.GeoJson(
        data=data,
        style_function=lambda x : {'fillColor' : '#e26e4d', 'colour' : '#ea4141', 'weight' : 1, 'fillOpacity' : 0.3},
        name=f "{intervalle} min"
    ).add_to(map)

Nous utiliserons ensuite l’opération cascaded_union de shapely pour combiner les polygones d’isochrones en un seul. Nous obtiendrons ainsi un polygone représentant toutes les zones accessibles dans les intervalles de temps définis.

Étape 4 : Créer la carte interactive avec Folium

Nous allons utiliser la bibliothèque Folium pour créer une carte interactive et ajouter le polygone isochrone en tant que couche GeoJSON. Nous allons définir un style pour le polygone et ajuster l’opacité pour une meilleure visualisation.

# Ajouter une couche de contrôle pour basculer l'affichage des isochrones
folium.LayerControl().add_to(map)

En outre, nous ajouterons d’autres couches utiles, telles que les écoles, les transports publics ou les magasins à proximité, afin de vous aider à prendre une décision éclairée quant à l’emplacement de votre nouvelle maison.

Étape 5 : Enregistrer et afficher la carte interactive

Enfin, nous allons enregistrer la carte interactive dans un fichier HTML et l’afficher dans un navigateur web. Le fichier HTML contiendra tous les éléments nécessaires, y compris les données et les paramètres de la carte.

# Enregistrer la carte interactive sous forme de fichier HTML
map.save("webmap.html")

https://javierladino.com/es/wp-content/uploads/2023/05/webmap.html

Vous pourrez explorer la carte interactive ☝ pour trouver des zones qui se situent dans les intervalles de temps souhaités et qui sont proches de l’école de vos enfants. Cela vous aidera à identifier les quartiers potentiels et à prendre une décision éclairée quant à l’emplacement de votre nouvelle maison.

Conclusions

Dans cet article, vous avez appris à utiliser des cartes isochrones pour trouver un logement près de la nouvelle école de vos enfants en utilisant Python et les bibliothèques Leaflet et Folium. Ces cartes interactives vous permettront de visualiser les zones accessibles en fonction du temps de trajet et de prendre une décision éclairée quant à l’emplacement de votre logement. Vous êtes maintenant prêt à commencer votre recherche et à trouver l’endroit idéal pour vivre près de l’école de vos enfants – bonne chance !

Télécharger le code sur Github

Vous pouvez accéder au code du bloc-notes Python à partir du lien suivant :

https://github.com/javiladino/isocronas_nantes

Projets similaires

🗺️ 30 jours de cartes — #30DayMapChallenge 2025

novembre 8, 2025

Dans l’espace pour la biodiversité ! Décryptage des données satellitaires du Lemu NGE avec Python

août 23, 2024

Cartographie sur Mars : mon processus complet pour cartographier le parcours du rover Perseverance

novembre 23, 2025
© Copyright 2026 Javier Ladino. Perfect Portfolio | Développé par Rara Theme. Propulsé par WordPress.