Un mois, 30 cartes, 30 histoires. Chaque jour, un thème différent. Chaque carte, une exploration unique de la donnée, du territoire et de la créativité.
En novembre, la communauté cartographique du monde entier participe au #30DayMapChallenge, un défi de 30 jours qui invite les créateurs à produire une carte par jour selon un thème précis.
L’idée est simple : explorer, expérimenter et partager.
J’ai choisi de relever le défi avec des données ouvertes, principalement issues de Nantes Métropole, et d’utiliser Python, Folium et GeoPandas pour générer des cartes interactives.
Ce billet sera mis à jour chaque jour avec les nouveaux projets du challenge.
📅 Suivez l’évolution ici — 30 jours de géodonnées et de créativité !
📍 Jour 1 — Points : La carte des restaurants du Pays de la Loire
Visualisation des restaurants recensés dans la région, selon les 10 catégories les plus fréquentes.
Un nuage de points colorés qui traduit la richesse de l’offre gastronomique locale.
Pour le premier jour, j’ai cartographié l’offre gastronomique du #paysdelaloire (France) 🍷🥖.
Chaque point représente un restaurant, coloré selon les 10 catégories les plus courantes de l’ensemble de données. Un aperçu savoureux de la géographie du goût 😋✨.
Source des données : https://data.nantesmetropole.fr/
Offre touristique : restaurants en Pays de la Loire
🧩 Outils : Python, GeoPandas, Matplotlib
🎨 Thème : Points

🚋 Jour 2 — Lines : Les circuits du transport Naolib
Tracés des bus, tramways et ferries(NaviBus) de Nantes Métropole.
Chaque mode de transport est représenté par une couleur et une ligne distincte. Nous explorons les tracés du réseau de transport NAOLIB à #Nantes Métropole (France) 🇫🇷
🧩 Outils : Python, GeoPandas, Matplotlib
🎨 Thème : Lines

🏙️ Jour 3 — Polygons : Le zonage urbain (PLUm)
Nous explorons le Plan Local d’Aménagement Urbain (PLUm) de #nantes Métropole 🇫🇷 🗺️
Chaque polygone représente une zone urbaine différente, reflétant la manière dont la ville s’organise et se développe à travers ses utilisations du sol 🌆
Les couleurs indiquent les différentes catégories du PLUm, offrant un aperçu visuel de l’équilibre entre logement, industrie, nature et services publics.
🧩 Outils : GeoPandas, Contextily
🎨 Thème : Polygons

💚 Jour 4 — My Data : La Ligne Verte du Voyage à Nantes
Nous suivons le parcours de la Ligne Verte de Nantes 🇫🇷, cette ligne qui invite à découvrir l’art, l’architecture et la culture en se promenant dans la ville.
Une carte personnelle recréée à partir du tracé officiel du Voyage à Nantes, à l’aide de Python, Folium et OpenStreetMap 🗺️
Chaque courbe est un fragment du voyage, une histoire urbaine qui croise les pas de milliers de visiteurs chaque année. 🚶♀️🌿
🧩 Outils : Python, Folium
🎨 Thème : My Data

🌍 Jour 5 — Earth : Relief et élévation du territoire nantais
Pour le #30DayMapChallenge, je me suis concentré sur ce qui se trouve sous nos pieds : l’élévation de Nantes !
Cette carte topographique d’élévation a été générée à partir des données d’un modèle numérique de terrain. Chaque ligne de contour révèle les subtils reliefs géologiques qui façonnent la ville, depuis les rives de la Loire jusqu’aux points les plus élevés.
J’ai utilisé Python (Pandas + Plotly) pour interpoler les milliers de points d’altitude et créer cette grille de relief. Un peu de science des données pour découvrir les formes terrestres !
🧩 Outils : Python, Pandas, Plotly
🎨 Thème : Earth

🔷 Jour 6 — Dimensions : Scatter plot 3D de l’élévation à Nantes.
Nous avons récupéré les données du modèle numérique de terrain de Nantes Métropole et les avons transformées en un modèle 3D interactif d’élévation. Le résultat est une simulation de la vue topographique de Nantes, utilisant l’altitude comme troisième dimension clé.
Il est incroyable de voir comment une simple couche de données peut révéler un paysage urbain totalement nouveau. Voyez-vous où se trouvent les points les plus élevés ?
🧩 Outils : Python, Plotly, Numpy
🎨 Thème : Dimensions

🚍 Jour 7 — Accessibility : Mobilité et accessibilité à Nantes
Nous visualisons comment Nantes se déplace.
Les bus, tramways et ferries du réseau Naolib sillonnent la ville française dans une chorégraphie urbaine où la mobilité devient accessibilité. 🌍
La carte montre le trafic réel de chaque ligne, soulignant la manière dont les transports publics relient les quartiers, les personnes et les opportunités.
Un flux constant qui représente la vie de la ville et l’importance de concevoir des espaces plus accessibles à tous. ♿💚
🧩 Outils : Python, Folium + TimeDimension
🎨 Thème : Accessibility

🏙️ Jour 8 — Urban : Journée mondiale de l’urbanisme
Utilisation de Python, GeoPandas et Folium pour donner vie au Plan Local d’Urbanisme Métropolitain (PLUm) de Nantes.
Chaque couleur représente une catégorie de zonage, offrant ainsi un aperçu visuel de la manière dont la ville est planifiée et organisée.
🧩 Outils : Python, GeoPandas, Folium
🎨 Thème : Urban

✏️ Jour 9 — Analog : Carte faite à la main
Aujourd’hui, j’ai quitté mon écran pour me salir les mains avec de la peinture ! 💧
Voici ma carte de Nantes réalisée à la main, inspirée du style aquarelle de The Legend of Zelda. 🏰🌿
Rien de tel que le trait du pinceau pour donner vie à une carte 💛
🧩 Outils : Stylo, Papier, Aquarelle (Analogique)
🎨 Thème : Analog

🌬️ Jour 10 — Air : Cartographier l’atmosphère
Aujourd’hui, je visualise l’invisible : les concentrations quotidiennes de particules PM10 dans l’air du Pays de la Loire 🌫️
Chaque point et chaque couleur représentent l’évolution des niveaux de pollution au cours de l’année dernière.
Une carte qui respire, réalisée à partir de données, de code et de curiosité 💨
📍Données : Mesures des concentrations dans l’air
🧩 Outils : Python, Folium, Pandas
🎨 Thème : Air

⚪ Jour 11 — Minimal Map
Le défi d’aujourd’hui consistait à représenter un territoire en utilisant le moins d’éléments possible, tout en continuant à transmettre des informations utiles.
Cette carte montre les bibliothèques et médiathèques du département de la Loire-Atlantique (France), avec une approche purement visuelle :
🟩 Bibliothèques
🟦 Médiathèques
À l’aide d’OSMnx, GeoPandas et Folium, seuls le contour du département et les points culturels qu’il contient ont été tracés.
Pas d’étiquettes, pas de couleurs supplémentaires, pas de bruit : seulement la forme et le sens.
👉 Parfois, le design le plus simple est celui qui communique le mieux.
🧩 Outils : OSMnx, GeoPandas et Folium,
🎨 Thème : Carte minimaliste

🔮 Jour 12 — Map from 2125
Imaginons à quoi ressemblera le monde dans 100 ans.
Cette carte spéculative projette la population mondiale vers l’année 2125, en explorant quels pays pourraient concentrer le plus grand nombre d’habitants selon les tendances actuelles et les scénarios de croissance continentale.
🧭 Basé sur des données démographiques estimées et des taux de croissance différenciés par région, cet exercice vise à visualiser l’avenir à partir de la cartographie, non pas comme une prédiction exacte, mais comme une réflexion sur la manière dont le changement démographique transformera nos géographies humaines.
💡 Les dix pays les plus peuplés en 2125 montrent un déplacement de l’axe démographique vers des régions à forte dynamique démographique et urbaine.
📊 Créé avec Python, GeoPandas et Folium, combinant analyse de données, projections et visualisation interactive.
🧩 Outils : Python, GeoPandas et Folium
🎨 Thème : Carte de 2125

⏱️ Jour 13 — 10 Minute Map
Aujourd’hui, c’était la vitesse : une carte créée en moins de 10 minutes à l’aide de données ouvertes de Nantes, Python et une petite icône SVG personnalisée.
Un exercice parfait pour rappeler que parfois, l’important n’est pas la perfection… mais une communication claire et simple.
🔍 Ensemble de données : Toilettes publiques – Nantes Métropole
Le meilleur ? Voir comment un ensemble de points prend vie lorsque vous lui donnez un contexte et un design qui lui est propre.
#30DayMapChallenge #10MinuteMap #Reto13 #DataViz #Cartography #PythonMaps #OSM #Geodata #MapDesign #Nantes #OpenData #GeoPython
🧩 Outils : OSMnx + GeoPandas + Google Colab
🎨 Thème : 10 Minute Map

🗺️ Jour 14 — Data Challenge : OpenStreetMap
Pour le défi d’aujourd’hui, consacré à OpenStreetMap (OSM), j’ai travaillé avec l’un de mes endroits préférés pour explorer les données urbaines : Nantes.
À l’aide de la bibliothèque prettymaps, j’ai extrait les empreintes des bâtiments directement depuis OSM et les ai projetées dans le système RGF93 / Lambert-93 (EPSG:2154) afin de construire une visualisation basée sur une mosaïque géométrique.
Ce type d’exercice permet non seulement d’apprécier la morphologie urbaine sous un angle différent, mais aussi d’expérimenter de nouvelles façons de représenter les données spatiales de manière créative et accessible.
🧩 Outils : OSMnx, Python, PrettyMaps
🎨 Thème : OpenStreetMap


🔥 Jour 15 — Fire : Énergie et transformation
Aujourd’hui, j’ai exploré l’énergie sur le territoire : les bornes de recharge pour véhicules électriques dans les Pays de la Loire.
À partir d’un ensemble de données GeoJSON, j’ai construit une carte thermique où chaque point apporte une intensité en fonction de sa puissance nominale (kW), en utilisant une échelle continue Viridis pour révéler les foyers énergétiques les plus puissants de la région.
Le résultat : une visualisation qui montre comment l’infrastructure de recharge est répartie et où se concentrent les points de plus grande capacité. 🔥🔌
🗺️ Outils : Python, GeoPandas, Folium, Branca
🔋 Thème : Énergie / Chaleur / Feu


🧬 Jour 16 — Cell
Pour relever ce défi, j’ai travaillé avec le réseau routier de Bogotá, en explorant comment le réseau de rues révèle des modèles urbains lorsqu’il est observé dans une perspective basée sur des cellules spatiales.
J’ai pris l’ensemble de données officiel du portail de données ouvertes et l’ai intégré dans un flux ETL en Python :
- nettoyage et projection dans un CRS métrique,
- génération d’une grille de cellules de 1 km²,
- calcul de la longueur totale des routes par cellule,
- et visualisation finale avec une échelle continue Viridis.
🔍 Que montre la carte ?
Un schéma très clair de densité urbaine :
- zones centrales et nord-est avec une plus forte concentration de voies,
- zones périphériques avec peu de structure routière,
- et une transition spatiale qui décrit assez bien la morphologie de Bogotá.
Cette approche de « cartographie cellulaire » permet de simplifier les ensembles de données urbaines complexes et de mettre en évidence les contrastes territoriaux qui passent généralement inaperçus lorsque l’on travaille uniquement avec des lignes.
Dataset: Malla Vial Bogotá (Datos Abiertos)
🧩 Outils : Python · GeoPandas · Shapely · Folium/Matplotlib · ETL géospatial
🎨 Thème : Cellule

🧠 Jour 17 — A New Tool
Pour le défi d’aujourd’hui, j’ai voulu explorer un outil que je n’avais jamais utilisé en profondeur : kepler.gl, une plateforme interactive d’analyse géospatiale développée par Uber.
L’objectif était de visualiser et de mieux comprendre un projet social très précieux à Bogotá : les Paraderos para Libros para Parques (PLP).
Ces stations de lecture situées dans les parcs publics visent à encourager la lecture, à rapprocher les livres des citoyens et à créer des espaces de rencontre communautaires.
Travailler avec cet ensemble de données a été l’occasion de combiner l’analyse territoriale avec des initiatives culturelles qui transforment la ville.
🔎 Qu’ai-je fait aujourd’hui ?
- J’ai exploré pour la première fois l’interface et les capacités de kepler.gl
- J’ai importé et cartographié les points des PLP à partir de données ouvertes.
- J’ai testé différents styles de visualisation, échelles de couleurs, interactions et couches.
- J’ai généré une vue claire du déploiement de ces points de lecture à Bogotá.
Données : GeoJSON provenant de Datos Abiertos Bogotá.
🧩 Outils : Kepler.gl
🎨 Thème : A New Tool

🪐 Jour 18 — Out of This World
Pour le défi d’aujourd’hui, j’ai décidé de quitter la Terre et de cartographier les derniers déplacements du rover Perseverance dans le cratère Jezero, sur Mars.
À l’aide des données de localisation publiques de la NASA, j’ai projeté l’itinéraire du rover sur une mosaïque HiRISE/CTX du cratère et j’ai créé une animation en Python qui montre son parcours d’un soleil à l’autre à travers le paysage martien.
Cet exercice a été particulièrement enrichissant : il combine la science planétaire, la cartographie, l’ingénierie des données et la narration visuelle en un seul flux de travail.
🔧 Outils et données
- Ensemble de données Mars 2020 PLACES (NASA)
- Mosaïque HiRISE/CTX (cratère Jezero)
- Carte de couleurs personnalisée inspirée de Mars
- Transformation des coordonnées vers le système martien (ESRI:103885)
Chaque jour de ce défi invite à explorer de nouvelles façons de visualiser l’espace, les données et les histoires que nous pouvons raconter grâce à elles.
🔴 Explorer Mars, du lever au coucher du soleil.
🧩 Outils : Python, Rasterio, matplotlib, numpy
🎨 Thème : Out of This World


🌐 Jour 19 — Projections (GIS Day)
Pour le jour 19 du #30DayMapChallenge — Projections (GIS Day) — j’ai exploré à quel point une carte peut changer radicalement en fonction de la projection utilisée.
À l’aide des données officielles ouvertes de Bogotá (Parques POT), j’ai visualisé les parcs de la ville dans deux projections très différentes :
🔹 Web Mercator (EPSG:3857) – la norme familière de cartographie web
🔹 Lambert Azimuthal Equal Area centrée sur l’Europe (EPSG:3035) – une projection totalement inadaptée à Bogotá.
Le résultat ? Une distorsion frappante qui met en évidence une vérité fondamentale en cartographie :
Toutes les cartes mentent… mais c’est en comprenant comment elles mentent que l’on peut réaliser une bonne analyse spatiale.
Cette expérience nous rappelle que les projections ne sont pas seulement des détails techniques : elles façonnent la perception, l’échelle et l’interprétation. Choisir la mauvaise peut complètement déformer l’histoire que raconte votre carte.
Nous sommes reconnaissants aux initiatives de données ouvertes telles que Datos Abiertos Bogotá qui rendent ces explorations possibles.
Joyeux #GISDay ! 🌍
#Géospatial #Cartographie #DonnéesOuvertes #Bogotá #PenséeSpatiale
🧩 Outils : Python, contextily, matplotlib
🎨 Thème : Projections

💧 Jour 20 — Water
Pour le défi d’aujourd’hui, j’ai travaillé avec le réseau hydrographique qui traverse et entoure Bogotá, en utilisant l’ensemble de données officiel et une carte de base minimaliste générée avec OSMnx.
L’objectif était de visualiser comment les rivières, les ruisseaux et les canaux structurent le territoire.
Travailler avec des données hydrographiques urbaines permet toujours de révéler une autre façon de lire la ville : à partir de ses flux, de ses pentes et de ses itinéraires naturels.
🧩 Outils : Python, GeoPandas, Matplotlib
🎨 Thème : Eau

🧭 Jour 21 — Icons
Pour ce défi, j’ai voulu donner une touche plus ludique et visuelle à la cartographie : au lieu des marqueurs traditionnels, j’ai utilisé des icônes personnalisées pour cartographier l’emplacement des agences de voyage à Bogotá. ✈️🌍
À partir du fichier avia.geojson, j’ai ajouté une petite icône PNG à chaque point afin de créer une carte plus expressive et amusante, qui reflète la répartition de l’offre touristique dans la ville.
🔍 Que montre la carte ?
- La concentration des agences dans les zones commerciales clés
- La dispersion des points d’accueil dans différents quartiers.
- Un modèle urbain qui en dit long sur la mobilité, les services et le tourisme local.
🛠️ Outils utilisés
• Python
• GeoPandas
• Folium
• Icônes personnalisées (PNG)
*Données ouvertes de Bogotá
De petits détails visuels peuvent complètement transformer la façon dont nous interprétons une carte. Cet exercice montre comment les icônes et les symboles peuvent raconter des histoires urbaines de manière plus proche et plus attrayante.

🌍 Jour 22 — Data Challenge : Natural Earth
Pour relever ce défi, j’ai travaillé avec l’ensemble de données Natural Earth afin de créer une carte mondiale de la densité de population, alliant précision géospatiale et conception cartographique.
Le processus comprenait :
🔹 Téléchargement et nettoyage des données depuis Natural Earth
🔹 Calcul des surfaces réelles à l’aide de la projection Mollweide (idéale pour l’analyse par surface)
🔹 Calcul de la densité (hab./km²) par pays à l’aide du champ POP_EST
🔹 Classification en rangs discrets (0-10, 10-50, 50-100, … >1000 hab./km²)
🔹 Visualisation finale en projection Robinson, avec une légende claire associant couleur ↔ plage de densité
Le résultat est une carte à petite échelle, mais révélatrice par son contenu :
⬛ pays à faible densité dans des tons doux,
🟩 régions densément peuplées dans des tons intenses,
⚪ zones sans données clairement différenciées.
🛠️ Outils
• Python (GeoPandas, Matplotlib)
• Ensembles de données Natural Earth
• Projections Mollweide + Robinson
Ce type d’exercice montre comment, à partir de données publiques et d’outils ouverts, il est possible de générer des visualisations globales qui racontent des histoires profondes sur la démographie, le territoire et les inégalités spatiales.

🧩 Jour 23 — Process
Pour le défi « Process », j’ai décidé de documenter l’ensemble du processus derrière la carte et l’animation que j’ai réalisées pour le jour 18 – Out of This World, où j’ai visualisé les déplacements du rover Perseverance sur une mosaïque HiRISE/CTX du cratère Jezero, sur Mars.

🗺️ Jour 24 — Places and Their Names
Pour le jour 24 du #30DayMapChallenge — Places & Their Names, j’ai décidé de regarder Bogotá sous un angle très particulier :
les espaces publics qui portent des noms de femmes.
À partir des données ouvertes de la ville, j’ai regroupé quatre ensembles de données :
✔ parcs
✔ écoles
✔ centres culturels
✔ centres de santé
J’ai ensuite filtré tous les lieux portant le nom d’une femme — figures historiques, artistes, éducatrices, leaders communautaires ou références féminines symboliques.
Le résultat est une carte qui montre comment la présence des femmes est inscrite dans la ville : où elles sont commémorées, célébrées ou représentées. Une façon de rappeler que la toponymie n’est pas seulement une question de géographie : c’est aussi une question de mémoire, d’identité et de visibilité.
Cet exercice montre comment l’analyse spatiale peut révéler des schémas sociaux et comment les données ouvertes nous permettent de repenser nos villes sous un angle nouveau.
Je suis reconnaissant envers toutes les femmes dont les noms font partie du paysage urbain de Bogotá. 💜
Données : https://datosabiertos.bogota.gov.co/
🧩 Outils : Python, geopandas, contextily, unidecode
🎨 Thème : Les lieux et leurs noms

🔷 Jour 25 — Hexagons (Classic Challenge)
Pour relever ce défi, j’ai travaillé avec l’ensemble de données officiel sur la moyenne annuelle des PM2,5 à Bogota (2024) et j’ai créé une visualisation basée sur un maillage d’hexagones réguliers, une technique parfaite pour identifier des modèles spatiaux sans dépendre des limites administratives.
L’objectif : montrer comment la pollution par les particules fines (PM2,5) est répartie dans différentes zones de la ville, en utilisant une approche plus homogène et visuellement plus claire.
🔍 Qu’ai-je fait ?
- J’ai importé l’ensemble de données officiel sur les PM2,5 à partir de Datos Abiertos Bogotá.
- J’ai converti les coordonnées en un SCR métrique afin de construire une grille régulière d’hexagones.
- J’ai généré une grille hexagonale bien proportionnée (hexagones « flat-top »).
- J’ai calculé la moyenne des PM2,5 par hexagone à l’aide d’intersections spatiales.
- J’ai visualisé le résultat avec GeoPandas + Matplotlib, sur une carte de base minimaliste.
Le résultat final révèle les zones où les concentrations sont les plus élevées et celles où l’air est nettement plus pur, offrant ainsi une lecture intuitive de la qualité de l’air à Bogotá.
🧩 Données : Données ouvertes de Bogotá (PM2,5)
Des visualisations comme celle-ci facilitent les diagnostics urbains et aident à réfléchir à des solutions en matière de santé publique et de mobilité durable.
💨 Une carte pour comprendre comment nous respirons la ville.
🧩 Outils : Python, GeoPandas, Shapely, Matplotlib, Contextily
🎨 Thème : Hexagon

🚆 Jour 26 — Transport (Journée mondiale du transport durable)
Pour le défi d’aujourd’hui, j’ai choisi de me concentrer sur l’un des projets d’infrastructure les plus importants de Colombie : les deux lignes du futur métro de Bogotá.
À partir des fichiers officiels au format KMZ, j’ai reconstruit les tracés et les ai intégrés sur une carte de base entièrement vectorielle générée avec OSMnx, ce qui permet de visualiser le réseau routier en arrière-plan avec un haut niveau de détail.
🔧 Que contient cette carte ?
- Extraction et traitement des tracés du métro (KMZ → KML → LineString)
- Téléchargement du réseau routier de Bogotá avec OSMnx (données actualisées depuis OpenStreetMap)
- Visualisation du contexte urbain avec hiérarchisation des voies
- Deux tracés mis en valeur avec une identité visuelle propre
- ⭐ Une animation où chaque ligne avance avec un effet de ligne pointillée et un “train” parcourant son itinéraire
🎯 Pourquoi cette approche ?
Parce que la mobilité durable devient plus compréhensible lorsqu’elle est représentée dans le tissu urbain réel. Voir les lignes dans leur contexte géospatial permet de mieux communiquer leur échelle, leur impact et leur relation avec la ville.
🧩 Technologies utilisées
• Python
• GeoPandas
• OSMnx
• Shapely
• Matplotlib (animation)
• Fiona (lecture KMZ/KML)
📍 Thème du jour : Transport
Mobilité, infrastructures et ville… le tout réuni dans une seule carte !


🧱 Jour 27 — Boundaries
Pour le défi d’aujourd’hui, j’ai exploré la manière dont différents types de limites —physiques, fonctionnelles et perceptuelles— façonnent l’expérience urbaine.
Je me suis concentré sur trois lieux emblématiques de Bogotá, chacun doté d’une identité spatiale forte et entouré de frontières qui définissent son usage et sa relation avec la ville :
📚 Bibliothèque Virgilio Barco
🏋️ Centre de Haut Rendement (Centro de Alto Rendimiento)
🌳 Parc des Fiancés (Parque de los Novios)
Grâce à Python (GeoPandas, Shapely, OSMnx, Matplotlib) et aux capacités créatives de Prettymaps, j’ai cartographié les contours, les transitions et les zones d’influence qui structurent ces espaces urbains.
🔍 Ce que met en évidence cette carte :
- Comment les équipements publics génèrent des enveloppes spatiales spécifiques
- L’interaction entre voirie, espaces verts et zones bâties
- Les limites non seulement comme lignes de division, mais aussi comme zones d’échange
- La manière dont le design urbain influence l’accès, les déplacements et la perception
Les limites sont plus que de simples frontières : ce sont des interfaces où la ville négocie usages, flux et identités.
🧩 Technologies utilisées
• Python
• GeoPandas
• Shapely
• OSMnx
• Matplotlib
• Prettymaps

⚫ Jour 28 — Black (Black Friday)
Pour le défi d’aujourd’hui, j’ai voulu explorer l’esthétique de l’obscurité et du contraste.
J’ai pris les points d’accès Internet public gratuit à Bogotá et les ai représentés sur une toile entièrement noire, inspirée d’un style cyberpunk : néons, halos lumineux et sensation d’une ville hyperconnectée.
Le résultat est une carte où les points d’accès WiFi ressemblent à des constellations numériques, révélant les schémas urbains d’accès et d’utilisation technologique.
🔧 Que comprend cette carte ?
- Lecture de l’ensemble de données officiel au format GeoJSON
- Conversion en coordonnées métriques (EPSG:3857)
- Visualisation multicouche pour simuler le glow (cyan + magenta + blanc)
- Esthétique sombre de type « night-tech city »
🧩 Technologies utilisées
• Python
• GeoPandas
• Shapely• Matplotlib
📍 Thème du jour : Black
Explorer la ville à partir d’un contraste absolu, où la lumière ne provient que de l’information.

🧮 Jour 29 — Raster (Classic Challenge)
ParPour relever le défi d’aujourd’hui, j’ai travaillé avec l’un des outils les plus puissants pour comprendre le territoire : le modèle numérique de terrain (MNT) de la zone rurale de Bogotá, généré à partir de données LiDAR et disponible sur le portail de données ouvertes de la ville.
À partir du fichier XML du service WMS, j’ai accédé directement au raster officiel, récupéré la bande d’élévation et construit une carte en Python qui montre la topographie en détail : vallées, pentes, déclivités et formes du relief qui définissent le paysage rural de Bogotá.
🔧 Que comprend ce travail ?
- Lecture automatique du WMS à partir du fichier XML.
- Téléchargement du modèle d’élévation au format GeoTIFF.
- Traitement du raster avec Rasterio.
- Représentation dans une palette de type terrain (ou toute autre palette souhaitée).
- Exportation vers une image haute résolution.
🌄 Pourquoi un raster ?
Parce que les modèles numériques de terrain permettent de comprendre bien plus que les hauteurs : ils révèlent les modèles géomorphologiques, les dynamiques hydrologiques, les utilisations du sol et même les contraintes en matière d’infrastructure et de mobilité.
🧩 Technologies utilisées
• Python
• Rasterio
• Matplotlib
• Requests
• Données ouvertes Bogotá (LiDAR – DTM)
📍 Thème du jour : Raster

🎨 Jour 30 — Makeover
Pour clôturer le #30daymapchallenge (Jour 30 : Makeover), j’ai décidé de repenser une carte classique à points et de lui donner une touche interactive.
Le jeu de données Open Data Nantes nous indique qu’il existe 77 toilettes publiques dans la ville. Mais voir 77 points sur une carte statique ne nous apprend pas grand-chose sur l’« accessibilité » réelle au moment où vous en avez besoin.
📍 La refonte : j’ai créé un système de visualisation dynamique à l’aide de Python et Leaflet. Au lieu de simplement afficher les emplacements, la carte réagit à la souris de l’utilisateur :
elle détecte le nœud le plus proche en temps réel et affiche son nom.
Elle calcule instantanément des isochrones visuelles : elle relie par des lignes uniquement les toilettes situées à moins de 5 minutes à pied (environ 450 mètres).
Le résultat est un « réseau de voisins proches » qui communique la densité et la distance en un seul coup d’œil, sans avoir besoin de cliquer.
Que pensez-vous de l’ajout d’une interactivité dynamique aux cartes statiques traditionnelles ? 👇
🧩 Outils : Python et Leaflet.
🎨 Thème : Makeover


