# Sur colab
1!pip install pandas fiona shapely pyproj rtree geopandas- 1
- Ces librairies sont utiles pour l’analyse géospatiale (cf. chapitre dédié)
La cartographie est un excellent moyen de diffuser de la connaissance sur les données, y compris à des publics peu familiers de la statistique. Ce chapitre permet de découvrir le défi de la cartographie et la manière dont on peut utiliser Python pour construire des cartes.
Lino Galiana
2025-12-13
Dans ce chapitre, nous allons utiliser plusieurs jeux de données pour illustrer différents types de cartes :
Avant de pouvoir commencer, il est nécessaire d’installer quelques packages au préalable :
# Sur colab
1!pip install pandas fiona shapely pyproj rtree geopandasNous allons principalement avoir besoin de Pandas et GeoPandas pour ce chapitre.
Nous allons utiliser cartiflette qui facilite la récupération des fonds de carte administratifs de l’IGN. Ce package est un projet interministériel visant à offrir une interface simple par le biais de Python pour récupérer des découpages officiels de l’IGN.
En premier lieu, nous allons récupérer les limites des départements :
Ces données rapprochent les DROM de la France hexagonale comme c’est expliqué dans l’un des tutoriels de cartiflette et comme l’exercice 1 permettra de le vérifier.
L’exercice 1 vise à s’assurer que nous avons bien récupéré les contours voulus en les représentant simplement. Ceci devrait être le premier réflexe de tout geodata scientist.
plot sur le jeu de données departements pour vérifier l’emprise spatiale. Les coordonnées affichées vous évoquent quelle projection ? Vérifier avec la méthode crs.matplotlib adéquates, représenter une carte avec les contours noirs, le fond blanc et sans axes.La carte des départements, sans modifier aucune option, ressemble à celle-ci :
Les coordonnées affichées nous suggèrent du WGS84, ce qu’on peut vérifier avec la méthode crs :
<Geographic 2D CRS: EPSG:4326>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)
- Lon[east]: Geodetic longitude (degree)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich
Si on fait la conversion en Lambert 93 (système légal pour l’hexagone), on obtient une emprise différente mais qui est censée être plus véridique pour la métropole (mais pas pour les DROM rapprochés puisque, par exemple, la Guyane est en principe beaucoup plus grande).
Et bien sûr, on retrouve facilement les cartes ratées du chapitre sur GeoPandas, par exemple si on applique une transformation prévue pour l’Amérique du Nord :
Si on fait une carte un petit peu plus esthétique, cela nous donne :
Et la même pour le Finistère :
Ces cartes sont simples et pourtant elles font déjà appel à des connaissances implicites. Elles demandent déjà une connaissance du territoire. Quand nous commencerons à coloriser certains départements, savoir lesquels ont des valeurs extrêmes implique de bien connaître sa géographie française. De même, cela apparaît certes évident, mais rien ne dit dans notre carte du Finistère que ce département est bordé par l’océan. Un lecteur français le verra comme une évidence, mais ce n’est pas forcément le cas d’un lecteur étranger qui, bien sûr, ne connaît pas le détail de notre géographie.
Pour cela, nous avons des parades grâce aux cartes réactives qui permettent :
Pour ceci, nous allons garder uniquement les données correspondant à une réelle emprise spatiale, ce qui exclut notre zoom de l’Île-de-France et les DROM.
On obtient bien l’hexagone :
Pour le prochain exercice, nous allons avoir besoin de quelques variables supplémentaires. En premier lieu, le centre géométrique de la France, qui nous permettra de placer le centre de notre carte.
Nous allons aussi avoir besoin d’un dictionnaire pour renseigner à Folium des informations sur les paramètres de notre carte.
style_function = lambda x: {
1 'fillColor': 'white',
'color': 'black',
'weight': 1.5,
'fillOpacity': 0.0
}fillOpacity à 0%.
style_function est une fonction anonyme qui sera utilisée dans l’exercice.
Une information qui s’affiche lorsqu’on passe la souris s’appelle un tooltip en langage de développement web.
Pour le prochain exercice, il faudra utiliser le GeoDataFrame dans la projection Mercator. En effet, Folium attend des données dans cette projection car cette librairie se base sur les fonds de carte de navigation, qui sont adaptés à cette représentation. En principe, on utilise plutôt Folium pour des représentations locales, où la déformation des surfaces induite par la projection Mercator n’est pas problématique.
Pour le prochain exercice, où nous représenterons la France dans son ensemble, nous faisons donc un usage quelque peu détourné de la librairie. Mais la France étant encore assez lointaine du pôle Nord, la déformation reste un prix à payer faible par rapport aux gains de l’interactivité.
center et le niveau zoom_start égal à 5.departements_hexagone et les paramètres style_function et tooltip.Voici la couche de fond de la question 1:
Et une fois mise en forme, cela nous donne la carte:
<folium.features.GeoJson at 0x7f03c4989010>