- render.py: parameterized CLI (--modes, --no-buses, --bus-subset, --max-bus-routes, --dpi, --size, --format, --out, --no-basemap, --no-labels) - basemap: OSM standard tiles via contextily (EPSG:3857) - two-tone lines: dark casing + colour body per route, z-order bus->s_tog->light_rail->regional->metro - shapeburst fade mask outside City Pass area (distance-transform alpha) - station labels for metro + S-tog via adjustText - title + attribution - styling.yaml: switch basemap to OpenStreetMap.Mapnik (CartoDB now needs API key) - .gitignore: exclude generated outputs (regenerable via render.py) - verified: full map, --no-buses, --bus-subset, --modes, SVG all work
78 lines
1.6 KiB
YAML
78 lines
1.6 KiB
YAML
# Styling for the Copenhagen transit map. Referenced by render.py and prepare.py.
|
|
# Colours keyed by `style` (from modes.yaml) then route ref.
|
|
# zorder is draw order bottom->top (higher drawn later / on top).
|
|
|
|
zorder:
|
|
bus: 1
|
|
s_tog: 2
|
|
light_rail: 3
|
|
regional: 4
|
|
metro: 5
|
|
|
|
line_width: # body width in points (outline = body + outline_width)
|
|
bus: 0.8
|
|
s_tog: 2.0
|
|
light_rail: 2.0
|
|
regional: 1.8
|
|
metro: 2.6
|
|
|
|
outline_width: 1.2 # added to line_width for the dark casing
|
|
outline_color: "#2b2b2b"
|
|
|
|
alpha:
|
|
bus: 0.45
|
|
s_tog: 0.95
|
|
light_rail: 0.95
|
|
regional: 0.9
|
|
metro: 1.0
|
|
|
|
# Fallback palette when no GTFS route_color and no OSM colour tag are present.
|
|
# Metro / S-tog values mirror the OSM colour tags (verified). Regional trains
|
|
# have no OSM colour, so the palette supplies one.
|
|
palette:
|
|
metro:
|
|
M1: "#008d41"
|
|
M2: "#ffc600"
|
|
M3: "#ff0a0a"
|
|
M4: "#009cd3"
|
|
s_tog:
|
|
A: "#00a4eb"
|
|
B: "#50ae30"
|
|
Bx: "#adce6d"
|
|
C: "#f68b1f"
|
|
E: "#7670b3"
|
|
F: "#fcc019"
|
|
H: "#e63511"
|
|
regional:
|
|
default: "#7a1b3e"
|
|
light_rail:
|
|
default: "#e89b3a"
|
|
bus:
|
|
A: "#d6264a"
|
|
C: "#16a085"
|
|
S: "#2a6fb5"
|
|
default: "#c8a80e"
|
|
|
|
bus_filters:
|
|
# ref-based bus categorisation (regex applied to route ref)
|
|
categories:
|
|
A: "^\\d+A$"
|
|
C: "^\\d+C$"
|
|
S: "^\\d+S$"
|
|
regular: "^\\d+$"
|
|
|
|
mask:
|
|
fade_distance_m: 2500 # shapeburst fade width outside the area
|
|
max_alpha: 0.85
|
|
color: white
|
|
|
|
basemap:
|
|
provider: OpenStreetMap.Mapnik
|
|
zoom: 14
|
|
|
|
labels:
|
|
show: true
|
|
styles: [metro, s_tog] # which station types to label
|
|
min_fontsize: 5
|
|
max_fontsize: 9
|