Project Overview
| Role: Developer | Type: Open Source | GitHub Repository |
The Challenge
Generate print-ready, publication-quality city map posters from code, with full control over style, typography, and output format, for any city in the world.
Solution

A Python CLI tool that fetches OpenStreetMap data via OSMnx and renders layered map artwork:
- 17 built-in themes: noir, blueprint, neon cyberpunk, japanese ink, terracotta, sunset, and more
- Multilingual typography: Google Fonts integration for non-Latin scripts (Japanese, Korean, Arabic, Thai, Chinese)
- Print-ready output: A0–A4 paper presets, up to 1200 DPI, in PNG/SVG/PDF formats
- Layered rendering: Background, water, green areas, streets, buildings, and labels composed independently
- Batch mode: Generate all 17 theme variants in one command
Usage examples:
# Basic poster
python create_map_poster.py -c "Paris" -C "France" -t sunset
# Japanese typography
python create_map_poster.py -c "Tokyo" -C "Japan" -dc "東京" --font-family "Noto Sans JP"
# Print-ready A2 at 600 DPI
python create_map_poster.py -c "London" -C "UK" -p A2 --dpi 600
Technical Stack
Python OSMnx Matplotlib Pillow OpenStreetMap Google Fonts SVG PDF
Industry Relevance
Demonstrates geospatial data processing, automated rendering pipelines, configurable output generation, and CLI design. The pattern (ingest external data, apply transformations, produce publication-ready output) applies directly to report generation, data visualization tools, and ETL pipelines.