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
- Intelligentes Caching - Schnellere wiederholte Generierung
- Proportionale Darstellung - Korrekte geografische Proportionen
- Druckqualität - 300 oder 600 DPI Auflösung
| Stadt | Land | Theme | Befehl |
|---|---|---|---|
| Bautzen | Deutschland | noir | python create_map_poster.py -c "Bautzen" -C "Germany" -t noir -d 5000 -l -b |
| Zittau | Deutschland | terracotta | python create_map_poster.py -c "Zittau" -C "Germany" -t terracotta -d 5000 -l -b |
| Görlitz | Deutschland | warm_beige | python create_map_poster.py -c "Görlitz" -C "Germany" -t warm_beige -d 5000 -l -b |
| Löbau | Deutschland | blueprint | python create_map_poster.py -c "Löbau" -C "Germany" -t blueprint -d 4000 -l -b |
| Lubań (Lauban) | Polen | copper_patina | python create_map_poster.py -c "Lubań" -C "Poland" -t copper_patina -d 4000 -l -b |
| Kamenz | Deutschland | japanese_ink | python create_map_poster.py -c "Kamenz" -C "Germany" -t japanese_ink -d 4000 -l -b |
| Liberec | Tschechien | midnight_blue | python create_map_poster.py -c "Liberec" -C "Czech Republic" -t midnight_blue -d 6000 -l -b |
| Wrocław (Breslau) | Polen | urbanism | python create_map_poster.py -c "Wrocław" -C "Poland" -t urbanism -d 8000 -l -b |
| Dresden | Deutschland | forest | python create_map_poster.py -c "Dresden" -C "Germany" -t forest -d 10000 -l -b |
| Praha (Prag) | Tschechien | pastel_dream | python create_map_poster.py -c "Praha" -C "Czech Republic" -t pastel_dream -d 10000 -l -b |
# 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]| Option | Kurz | Beschreibung | Standard |
|---|---|---|---|
--city |
-c |
Stadtname | erforderlich |
--country |
-C |
Land | erforderlich |
--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 | |
--list-themes |
Alle verfügbaren Themes auflisten |
# 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 -l -b
# Druckqualität (600 DPI)
python create_map_poster.py -c "Prag" -C "Czech Republic" -t midnight_blue -d 10000 -l -b --dpi 600
# 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}.png
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









