Ajout de carte choroplèthe

La bibliothèque Folium, construite sur Leaflet.js, offre la possibilité de créer des cartes interactives puissantes. Parmi ses fonctionnalités les plus informatives figure la carte choroplèthe, qui permet de représenter des données statistiques à l’aide de zones colorées selon leur intensité ou leur valeur.

Une carte choroplèthe (ou choropleth map) est particulièrement utile pour visualiser la distribution spatiale de variables telles que la population, le revenu moyen, le taux de chômage, ou tout autre indicateur lié à un territoire. Elle repose sur une couche géographique au format GeoJSON qui délimite les zones (régions, départements, pays, etc.) et une source de données associée qui attribue une valeur à chaque zone.

Grâce à Folium, il est possible de lier ces données à la géographie via des identifiants communs, et d’ajuster dynamiquement la palette de couleurs pour représenter visuellement l’intensité des valeurs. Cela permet de produire des cartes compréhensibles, esthétiques et très utiles pour l’analyse spatiale.

Fonctions :

  • folium.Choropleth()

    La fonction folium.Choropleth() est utilisée pour créer une carte choroplèthe (ou carte de densité) dans une carte interactive Folium. Elle permet de visualiser des données géospatiales sous forme de couleurs variant en fonction des valeurs associées à chaque zone géographique (par exemple, des régions, des pays, ou des départements).

    Importation :

    import folium

    Attributs :

    Paramètre Type Description Valeur par défaut
    geo_data dict Données géospatiales sous forme de GeoJSON (par exemple, les frontières des pays ou des départements). None
    data pandas.Series Série contenant les valeurs numériques à visualiser sur la carte (par exemple, population, densité, etc.). None
    columns list Liste des noms de colonnes du dataframe pour les valeurs associées aux zones géographiques. None
    key_on str Clé utilisée pour associer les valeurs aux zones géographiques (par exemple, 'feature.id' ou 'properties.name'). None
    fill_color str Couleur de remplissage utilisée pour la choroplèthe (par exemple, 'YlGn', 'BuPu'). 'YlGnBu'
    fill_opacity float Opacité de la couleur de remplissage (de 0 à 1). 0.6
    line_opacity float Opacité des bordures des zones géographiques (de 0 à 1). 0.2

    Exemple de code :

    import folium
    import pandas as pd
    
    # Exemple de données géospatiales (GeoJSON)
    geo_data = 'https://raw.githubusercontent.com/codeforamerica/click_that_hood/master/public/data/france-regions.geojson'
    
    # Exemple de données numériques à associer aux régions
    data = pd.Series({
        'Île-de-France': 12,
        'Provence-Alpes-Côte d\'Azur': 7,
        'Auvergne-Rhône-Alpes': 8,
        'Normandie': 6,
        'Bretagne': 5,
        # Ajoutez plus de régions et de valeurs ici
    })
    
    # Création de la carte centrée sur la France
    m = folium.Map(location=[46.603354, 1.888334], zoom_start=6)
    
    # Création de la carte choroplèthe
    choropleth = folium.Choropleth(
        geo_data=geo_data,
        data=data,
        columns=['Région', 'Valeur'],  # Assurez-vous que vos données sont structurées de manière appropriée
        key_on='feature.properties.nom',  # Associe les valeurs aux régions géographiques
        fill_color='YlGnBu',
        fill_opacity=0.6,
        line_opacity=0.2,
        legend_name='Valeur des régions'
    ).add_to(m)
    
    # Affichage de la carte
    m
    Résultat du code

    Explication du code :

    1. Données géospatiales (GeoJSON) : Les données géospatiales sont chargées à partir d'un fichier GeoJSON contenant les frontières des régions françaises.

    2. Données numériques : Une série de valeurs numériques (ici des chiffres fictifs représentant des données par région) est associée à chaque zone géographique. Ces valeurs seront utilisées pour colorier la carte.

    3. Création de la carte choroplèthe : La fonction folium.Choropleth() est utilisée pour appliquer les couleurs sur la carte en fonction des valeurs associées à chaque région. Le paramètre key_on permet de lier les données géographiques aux valeurs dans le jeu de données, tandis que fill_color détermine les couleurs utilisées sur la carte.

    4. Affichage de la carte : La carte interactive est affichée.

    Remarque importante :

    • Assurez-vous que la clé utilisée dans key_on correspond bien aux propriétés des objets géospatiaux dans votre fichier GeoJSON.

    • Les données doivent être fournies sous forme de série Pandas où l'index correspond à la clé utilisée dans le fichier GeoJSON.

    • Vous pouvez personnaliser davantage la carte choroplèthe en jouant avec les paramètres comme fill_color et line_opacity pour affiner l'apparence.