originalankur /maptoposter
Transform your favorite cities into beautiful, minimalist designs. MapToPoster lets you create and export visually striking map posters with code.
★ 14,286⑂ 1,251
14,286
stars
+14+16+106
1,251
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions
README
City Map Poster Generator Generate beautiful, minimalist map posters for any city in the world. Examples | Country | City | Theme | Poster | |:------------:|:--------------:|:---------------:|:------:| | USA | San Francisco | sunset | | | Spain | Barcelona | warm_beige | | | Italy | Venice | blueprint | | | Japan | Tokyo | japanese_ink | | | India | Mumbai | contrast_zones | | | Morocco | Marrakech | terracotta | | | Singapore | Singapore | neon_cyberpunk | | | Australia | Melbourne | forest | | | UAE | Dubai | midnight_blue | | | USA | Seattle | emerald | | Installation With uv (Recommended) Make sure uv is installed. Running the script by prepending uv run automatically creates and manages a virtual environment. bash First run will automatically install dependencies uv run ./create_map_poster.py --city "Paris" --country "France" Or sync dependencies explicitly first (using locked versions) uv sync --locked uv run ./create_map_poster.py --city "Paris" --country "France" With pip + venv bash python -m venv .venv source .venv/bin/activate On Windows: .venv\Scripts\activate pip install -r requirements.txt Usage Generate Poster If you're using uv: bash uv run ./create_map_poster.py --city --country [options] Otherwise (pip + venv): bash python create_map_poster.py --city --country [options] Required Options | Option | Short | Description | |--------|-------|-------------| | --city | -c | City name (used for geocoding) | | --country | -C | Country name (used for geocoding) | Optional Flags | Option | Short | Description | Default | |--------|-------|-------------|---------| | OPTIONAL: --latitude | -lat | Override latitude center point (use with --longitude) | | | OPTIONAL: --longitude | -long | Override longitude center point (use with --latitude) | | | OPTIONAL: --country-label | | Override country text displayed on poster | | | OPTIONAL: --theme | -t | Theme name | terracotta | | OPTIONAL: --distance | -d | Map radius in meters | 18000 | | OPTIONAL: --list-themes | | List all available themes | | | OPTIONAL: --all-themes | | Generate posters for all available themes | | | OPTIONAL: --width | -W | Image width in inches | 12 (max: 20) | | OPTIONAL: --height | -H | Image height in inches | 16 (max: 20) | Multilingual Support - i18n Display city and country names in your language with custom fonts from google fonts: | Option | Short | Description | |--------|-------|-------------| | --display-city | -dc | Custom display name for city (e.g., "東京") | | --display-country | -dC | Custom display name for country (e.g., "日本") | | --font-family | | Google Fonts family name (e.g., "Noto Sans JP") | Examples: bash Japanese python create_map_poster.py -c "Tokyo" -C "Japan" -dc "東京" -dC "日本" --font-family