Make a Map Poster
Ankur Gupta has created an impressive Map Poster Generator. The code for which is available on GitHub.
While the original repository is fantastic for developers, it also requires a local Python setup, terminal commands, and the installation of geospatial libraries like OSMnx and GDAL - which can be intimidating if you aren't a coder.
I’ve therefore adapted the core logic into a Google Colab notebook to make it accessible to everyone.
Would you like a minimalist poster of your town? This Google Colab notebook helps you to generate your own custom poster - like the Paris poster above - in only a few minutes. No coding required: simply enter your city name and hit play.
Inside the Map Generator
The Map Poster Generator takes raw geographic data from OpenStreetMap and transforms it into beautifully crafted city maps. Using Python, it builds your poster in three simple stages:
Step 1 - Tapping into the Map Data
The process begins with OpenStreetMap, the open, community-built alternative to commercial mapping platforms. OSM contains millions of roads, buildings, rivers, and paths contributed by volunteers around the world. When you enter a place like “Paris, France,” the script uses geocoding to translate that familiar name into precise latitude and longitude coordinates - your poster’s starting point.
Step 2 - Downloading the City’s Hidden Structure
With a location locked in, the code turns to OSMnx, a powerful geographic data tool that can retrieve an entire city’s street network in seconds. Rather than downloading a static image, it pulls the underlying spatial graph: every motorway, side street, park boundary, and waterway within your chosen radius. What looks like a simple map is actually a rich web of interconnected data.
Step 3 - Letting the Map Draw Itself
This is where computation becomes creativity. The script evaluates each element of the city and applies a visual hierarchy:
- Major highways appear bold and prominent.
- Local streets become fine, intricate lines that give the map texture.
- Natural features like rivers, lakes, and green spaces are layered in using polygons.
Finally, Matplotlib brings everything together into a crisp, high-resolution image - a clean, minimalist map complete with subtle typography and exact geographic coordinates.
How to Change the Location
In the Colab code, the very last line is what controls the "where" and "how much." Look for this line:
create_map_poster(city="Paris", country="France", dist=5000)
To generate a different city, simply:
a) Change the City & Country: Replace "Paris" and "France" with your desired location (e.g., "New York", "USA").
b) Adjust the Zoom (dist): The dist value is the radius from the city center in meters.
- 5000 (5km): Perfect for dense city centers like Paris or Venice.
- 15000 (15km): Better for sprawled cities like Los Angeles or Tokyo to capture the whole grid.
c) Re-run the cell: Click the Play button again to generate the new map.
How to Download the Image
Once the script finishes running, it displays the image in your notebook, but it also saves a high-resolution version to a hidden folder in Colab. Here is how to get it:
- Look at the left-hand sidebar in Google Colab and click the Folder icon (📁).
- Open the folder named posters.
- Right-click on your image (it will look like paris_20260118.png) and select Download.
How To Change the Poster's Style
If you want to move beyond the default 'Noir' look, you can easily swap in a new theme. These styles are defined in Section 3 of the Colab code.
Ankur Gupta has created a number of themes - each with its own separate json file. If you open a theme's folder on Ankur's repository you can cut and paste the theme directly into Section 3 of the Colab code.
Below is a poster of London using the 'blueprint' theme.




Comments