Erstelle wunderschöne, minimalistische Kartenposter für jede Stadt der Welt.
- 18 handgefertigte Themes - Von minimalistisch bis Cyberpunk
- Gebäudeumrisse - Zeigt die Bebauungsstruktur der Stadt
- Landnutzung - Wohn-, Gewerbe-, Industrie- und Einzelhandelsflächen
- Fußwege & Pfade - Parkwege und Fußgängerzonen sichtbar
- Bahnlinien - Dezente Rail-Overlays, klar von Straßen getrennt
- Stadt-Basisdaten - Population/Fläche/Dichte/Höhe/Gründungsjahr (Wikidata + Fallback)
- Intelligentes Caching - Schnellere wiederholte Generierung
- Proportionale Darstellung - Korrekte geografische Proportionen
- Druckqualität - 300 oder 600 DPI Auflösung
| Stadt | Land | Theme | Befehl |
|---|---|---|---|
| Kamenz | Deutschland | noir | python create_map_poster.py -c "Kamenz" -C "Germany" -t noir -d 2800 -b -l |
| Zittau | Deutschland | terracotta | python create_map_poster.py -c "Zittau" -C "Germany" -t terracotta -d 2800 -b -l |
| Löbau | Deutschland | blueprint | python create_map_poster.py -c "Löbau" -C "Germany" -t blueprint -d 2800 -b -l |
| Görlitz | Deutschland | warm_beige | python create_map_poster.py -c "Görlitz" -C "Germany" -t warm_beige -d 4200 -b -l |
# Repository klonen
git clone https://github.com/janfallgatter-rgb/Map2Poster.git
cd Map2Poster
# Abhängigkeiten installieren
pip install -r requirements.txt- Python 3.8+
- osmnx
- matplotlib
- numpy
- geopy
- tqdm
python create_map_poster.py --city <stadt> --country <land> [optionen]Benötigt: --city (-c) und --country (-C).
| Option | Kurz | Beschreibung | Standard |
|---|---|---|---|
--theme |
-t |
Theme-Name | feature_based |
--distance |
-d |
Kartenradius in Metern | 29000 |
--landuse |
-l |
Landnutzungsflächen anzeigen | aus |
--buildings |
-b |
Gebäudeumrisse anzeigen | aus |
--dpi |
Auflösung: 300 (Standard) oder 600 (Druck) | 300 | |
--projection |
Projektion: isometric (Standard), flat, military |
isometric | |
--no-relief |
Geländerelief (Hillshade) deaktivieren | ||
--relief-zoom |
Relief-Detailstufe (Tile-Zoom, Standard 12) | 12 | |
--relief-alpha |
Relief-Transparenz (Standard 0.22) | 0.22 | |
--relief-resolution |
Relief-Gitterauflösung (Standard 600) | 600 | |
--relief-blur |
Relief-Glättung (Sigma, Standard 3.0) | 3.0 | |
--no-rails |
Bahnlinien ausblenden (Standard: an) | ||
--list-themes |
Alle verfügbaren Themes auflisten |
Hinweis: Stadt‑Basisdaten werden per Wikidata geladen; für Kamenz/Zittau/Löbau/Görlitz sind Schätzwerte als Fallback hinterlegt.
# Einfache Karte
python create_map_poster.py -c "Dresden" -C "Germany" -t noir -d 10000
# Mit Gebäuden und Landnutzung
python create_map_poster.py -c "Görlitz" -C "Germany" -t warm_beige -d 5000 -b -l
# Druckqualität (600 DPI)
python create_map_poster.py -c "Prag" -C "Czech Republic" -t midnight_blue -d 10000 -b -l --dpi 600
# Projektion (Militär / Flat)
python create_map_poster.py -c "Prag" -C "Czech Republic" -t blueprint -d 8000 --projection military
python create_map_poster.py -c "Prag" -C "Czech Republic" -t blueprint -d 8000 --projection flat
# Geländerelief (Hillshade)
python create_map_poster.py -c "Löbau" -C "Germany" -t urbanism -d 4000
python create_map_poster.py -c "Löbau" -C "Germany" -t urbanism -d 4000 --relief-zoom 12 --relief-resolution 320
python create_map_poster.py -c "Löbau" -C "Germany" -t urbanism -d 4000 --no-relief
# Alle Themes anzeigen
python create_map_poster.py --list-themes| Distanz | Geeignet für |
|---|---|
| 3000-5000m | Kleine Städte (Löbau, Kamenz, Zittau) |
| 5000-8000m | Mittlere Städte (Görlitz, Bautzen, Liberec) |
| 8000-12000m | Größere Städte (Dresden, Breslau, Prag) |
| 15000-20000m | Metropolen (Berlin, Wien, München) |
18 Themes verfügbar im themes/ Verzeichnis:
| Theme | Stil |
|---|---|
feature_based |
Klassisch schwarz-weiß mit Straßenhierarchie |
noir |
Schwarzer Hintergrund, weiße Straßen |
midnight_blue |
Dunkelblaue Basis mit goldenen Straßen |
warm_beige |
Vintage Sepia-Töne |
terracotta |
Mediterrane Wärme |
urbanism |
Stadtplanung - deutliche Landnutzungsfarben |
blueprint |
Architektur-Blueprint Ästhetik |
japanese_ink |
Minimalistischer Tusche-Stil |
neon_cyberpunk |
Dunkel mit elektrischem Pink/Cyan |
pastel_dream |
Sanfte Pastelltöne |
forest |
Tiefes Grün und Salbei |
ocean |
Blau- und Türkistöne für Küstenstädte |
sunset |
Warme Orange- und Rosatöne |
autumn |
Herbstliche Braun- und Rottöne |
copper_patina |
Oxidierte Kupfer-Ästhetik |
contrast_zones |
Hoher Kontrast für urbane Dichte |
gradient_roads |
Sanfte Farbverläufe |
monochrome_blue |
Einheitliche Blautöne |
Poster werden im posters/ Verzeichnis gespeichert:
{stadt}_{theme}_{JJJJMMTT_HHMMSS}.jpg
Das Script verwendet automatisches Caching für OSM-Daten im cache/ Verzeichnis. Wiederholte Aufrufe für dieselbe Stadt/Distanz sind dadurch deutlich schneller.
Erstelle eine JSON-Datei im themes/ Verzeichnis:
{
"name": "Mein Theme",
"description": "Beschreibung des Themes",
"bg": "#FFFFFF",
"text": "#000000",
"gradient_color": "#FFFFFF",
"water": "#C0C0C0",
"parks": "#F0F0F0",
"road_motorway": "#0A0A0A",
"road_primary": "#1A1A1A",
"road_secondary": "#2A2A2A",
"road_tertiary": "#3A3A3A",
"road_residential": "#4A4A4A",
"road_path": "#5A5A5A",
"road_default": "#3A3A3A",
"buildings": "#E0E0E0",
"landuse_residential": "#F5F5F5",
"landuse_commercial": "#EBEBEB",
"landuse_industrial": "#E8E8E8",
"landuse_retail": "#F0F0F0"
}Map2Poster/
├── create_map_poster.py # Hauptscript
├── themes/ # Theme JSON-Dateien
├── fonts/ # Roboto Schriftarten
├── posters/ # Generierte Poster
├── cache/ # OSM-Daten Cache
├── requirements.txt # Python-Abhängigkeiten
└── README.md
z=11 Textlabels (Stadt, Land, Koordinaten)
z=10 Gradientenverläufe (oben & unten)
z=3 Straßen und Wege
z=2.5 Gebäude (optional)
z=2 Parks (grüne Polygone)
z=1 Wasser (blaue Polygone)
z=0 Landnutzung (optional)
Hintergrundfarbe
MIT License - siehe LICENSE
Jan Fallgatter - Erweiterte Version mit Gebäuden, Landnutzung, Caching und neuen Themes
Claude Code (Anthropic) - KI-gestützte Entwicklung der erweiterten Features
Ankur Gupta - Originalversion
- Ankur Gupta für die ursprüngliche Idee und Implementierung
- OSMnx für den Zugriff auf OpenStreetMap-Daten
- OpenStreetMap Contributors für die Kartendaten
- Roboto Schriftart von Google


