Regrouper et fusionner des géométries avec GeoDataFrame.dissolve() 

En analyse géospatiale, il est souvent utile de regrouper des entités ayant une caractéristique commune et de fusionner leurs géométries en une seule entité. La méthode dissolve() de GeoPandas permet précisément cette opération, en agrégant les géométries selon une ou plusieurs colonnes attributaires.

Cette méthode fonctionne comme une combinaison d’une opération de regroupement (groupby) suivie d’une fusion géométrique. Elle est particulièrement adaptée pour :

Lors de l’appel à dissolve(), on spécifie la colonne ou la liste de colonnes selon lesquelles regrouper les entités. Le résultat est un nouveau GeoDataFrame où chaque ligne correspond à un groupe avec une géométrie unique issue de la fusion des géométries du groupe.

En plus de la fusion spatiale, dissolve() permet aussi d’agréger les données attributaires via des fonctions d’agrégation (comme la somme, la moyenne, etc.), ce qui enrichit l’analyse.

Ainsi, GeoDataFrame.dissolve() est un outil puissant pour synthétiser, simplifier et analyser des données géographiques par regroupement thématique et fusion spatiale.

Fonctions :

  • GeoDataFrame.dissolve()

    La méthode GeoDataFrame.dissolve() permet de fusionner les géométries d’un GeoDataFrame en regroupant les lignes selon une valeur d’un champ commun (par exemple une région ou un pays). Elle réalise une opération géospatiale d’union des géométries et peut également agréger d’autres colonnes avec une fonction d’agrégation (somme, moyenne, etc.).

    Importation :

    import geopandas as gpd

    Attributs :

    Paramètre Type Description Valeur par défaut
    by str ou array Nom de la colonne sur laquelle regrouper les géométries (clé de regroupement). None
    aggfunc str ou fonction Fonction d’agrégation appliquée aux autres colonnes (ex : 'sum', 'mean'). 'first'
    as_index bool Définit si la colonne de regroupement devient l’index du résultat. True

    Exemple de code :

    import geopandas as gpd
    import matplotlib.pyplot as plt
    
    # Chargement d’un GeoDataFrame avec les pays
    gdf = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
    
    # Fusion des géométries par continent
    dissolved = gdf.dissolve(by='continent')
    
    # Affichage du résultat
    dissolved.plot(edgecolor='black', cmap='Set3')
    plt.title('Fusion des pays par continent')
    plt.show()
    Résultat du code

    Explication du code :

    On regroupe les géométries des pays selon leur continent avec dissolve(by='continent').
    Le résultat est une carte où chaque continent est représenté par une seule géométrie.


    Avantages :

    • Simplifie et regroupe les données spatiales.

    • Très utile pour regrouper des entités administratives (ex : départements → régions).

    • Permet aussi d’agréger des données statistiques associées.