Skip to main content

Understanding Distance

The --distance (or -d) flag controls the map radius in meters from the center point. This determines how much of the city is visible on your poster.
python create_map_poster.py -c "Paris" -C "France" -d 10000
Default: 18,000 meters (18km radius)
The distance represents the radius from the center point, not the diameter. The actual coverage area is a circle with this radius.

Quick Reference

Distance RangeBest ForExample Cities
4,000-6,000mSmall cities, dense centers, high detailVenice, Marrakech medina, Amsterdam center
8,000-12,000mMedium cities, downtown focus, iconic districtsParis, Barcelona, Manhattan
15,000-20,000mLarge metros, full city view, sprawling layoutTokyo, Mumbai, Los Angeles

Distance by City Type

Small / Dense Cities (4,000-6,000m)

Perfect for capturing intricate street patterns in compact areas.
python create_map_poster.py \
  -c "Venice" -C "Italy" \
  -t blueprint -d 4000
# Captures the entire historic center with canal detail
Why small distances?
  • Captures fine-grained street patterns
  • Shows architectural details
  • Perfect for walkable historic centers
  • Emphasizes unique urban layouts

Medium Cities (8,000-12,000m)

Ideal for focused downtown areas and iconic districts.
python create_map_poster.py \
  -c "Paris" -C "France" \
  -t pastel_dream -d 10000
# Shows the radial Haussmann street pattern
Why medium distances?
  • Balances coverage with detail
  • Shows recognizable landmarks and districts
  • Captures the “heart” of major cities
  • Good for cities with distinct downtown cores

Large Metropolitan Areas (15,000-20,000m)

For sprawling cities and comprehensive coverage.
python create_map_poster.py \
  -c "Tokyo" -C "Japan" \
  -t japanese_ink -d 15000
# Shows the vast, organic street network
Why large distances?
  • Shows the full scale of megacities
  • Captures multiple districts at once
  • Reveals overall urban morphology
  • Good for cities without a single center

Distance by Urban Pattern

Grid Pattern Cities

Cities with regular street grids look great at medium distances.
# Manhattan, NYC - Iconic grid
python create_map_poster.py -c "New York" -C "USA" -t noir -d 12000

# Barcelona - Eixample district
python create_map_poster.py -c "Barcelona" -C "Spain" -t warm_beige -d 8000

# Chicago - Urban grid
python create_map_poster.py -c "Chicago" -C "USA" -t contrast_zones -d 12000
Recommended: 8,000-12,000m

Radial Pattern Cities

Cities with star/radial patterns shine at medium distances.
# Paris - Haussmann boulevards radiating from Arc de Triomphe
python create_map_poster.py -c "Paris" -C "France" -t pastel_dream -d 10000

# Moscow - Ring road system
python create_map_poster.py -c "Moscow" -C "Russia" -t noir -d 12000

# Washington DC - L'Enfant Plan
python create_map_poster.py -c "Washington" -C "USA" -t blueprint -d 10000
Recommended: 8,000-12,000m

Organic / Historic Cities

Cities with medieval or organic layouts need smaller distances for detail.
# Rome - Ancient street layout
python create_map_poster.py -c "Rome" -C "Italy" -t warm_beige -d 8000

# Marrakech - Medina maze
python create_map_poster.py -c "Marrakech" -C "Morocco" -t terracotta -d 5000

# Jerusalem - Old City
python create_map_poster.py -c "Jerusalem" -C "Israel" -t blueprint -d 6000
Recommended: 4,000-8,000m

Waterfront Cities

Coastal and river cities benefit from distances that capture the water interface.
# Venice - Canal network
python create_map_poster.py -c "Venice" -C "Italy" -t blueprint -d 4000

# Amsterdam - Concentric canals
python create_map_poster.py -c "Amsterdam" -C "Netherlands" -t ocean -d 6000

# Sydney - Harbour city
python create_map_poster.py -c "Sydney" -C "Australia" -t ocean -d 12000

# San Francisco - Bay and peninsula
python create_map_poster.py -c "San Francisco" -C "USA" -t sunset -d 10000
Recommended: 4,000-12,000m (depends on city size)

River Cities

Cities bisected by rivers need enough distance to show both banks.
# London - Thames curves
python create_map_poster.py -c "London" -C "UK" -t noir -d 15000

# Budapest - Danube split
python create_map_poster.py -c "Budapest" -C "Hungary" -t copper_patina -d 8000

# Paris - Seine bends
python create_map_poster.py -c "Paris" -C "France" -t pastel_dream -d 10000
Recommended: 8,000-15,000m

Fine-Tuning Distance

Start with Defaults

If unsure, start with the city-type default:
# Small/dense city - try 5000m
python create_map_poster.py -c "Venice" -C "Italy" -d 5000

# Medium city - try 10000m
python create_map_poster.py -c "Paris" -C "France" -d 10000

# Large city - try 18000m (default)
python create_map_poster.py -c "Tokyo" -C "Japan"

Iterative Adjustment

  1. Generate a test poster
  2. Evaluate coverage:
    • Too zoomed out? Reduce distance by 2,000-4,000m
    • Too zoomed in? Increase distance by 2,000-4,000m
  3. Regenerate and compare
Generate multiple posters with different distances using --all-themes to compare quickly:
# Generate at 8km
python create_map_poster.py -c "Paris" -C "France" -d 8000 -t noir

# Generate at 12km
python create_map_poster.py -c "Paris" -C "France" -d 12000 -t noir

Override Center Point

For precise control, manually set the center coordinates:
# Focus on Central Park, NYC
python create_map_poster.py \
  -c "New York" -C "USA" \
  -lat 40.776676 -long -73.971321 \
  -d 8000

# Focus on Eiffel Tower, Paris
python create_map_poster.py \
  -c "Paris" -C "France" \
  -lat 48.8584 -long 2.2945 \
  -d 6000
Geocoding services may not always return the ideal center point. Use coordinate overrides for precision.

Distance Comparison Examples

Same city, different distances to show the effect:

Paris

python create_map_poster.py \
  -c "Paris" -C "France" \
  -d 6000
# Shows central arrondissements only

New York

python create_map_poster.py \
  -c "New York" -C "USA" \
  -d 8000
# Shows Manhattan core

Common Distance Values

Frequently used distance presets:
DistanceCoverageTypical Use
3,000m3km radiusNeighborhoods, small districts
5,000m5km radiusHistoric centers, old towns
8,000m8km radiusDowntown cores, central districts
10,000m10km radiusFull city centers
12,000m12km radiusExtended metropolitan core
15,000m15km radiusMajor cities, full coverage
18,000m18km radiusDefault - Large city overview
20,000m20km radiusMegacity sprawl, maximum coverage

Technical Notes

Distance Compensation

The tool automatically compensates for aspect ratio by fetching slightly more data than requested:
compensated_dist = dist * (max(height, width) / min(height, width)) / 4
This ensures the specified distance is fully covered regardless of poster dimensions.

Data Fetching

Larger distances mean:
  • Longer download times (more OSM data)
  • Higher memory usage (more features to process)
  • Larger cache files (data is cached locally)
Very large distances (>25km) may cause:
  • Slow performance
  • Memory issues
  • Overpass API timeouts
Stay within the recommended 4,000-20,000m range for best results.

See Also

Basic Usage

Common commands and usage patterns

Command Reference

Complete flag documentation

Resolution Guide

Configure output dimensions

Examples

City-specific examples and recommendations

Build docs developers (and LLMs) love