Skip to content

Commit 87b0911

Browse files
Copilotsteffenaxer
andauthored
Update README.md to match new visualization (Leaflet, colors, routes, features)
Agent-Logs-Url: https://github.com/steffenaxer/matsim-libs/sessions/38e277ad-1a22-4836-b94e-ea1400fd85ff Co-authored-by: steffenaxer <26229392+steffenaxer@users.noreply.github.com>
1 parent 6981be0 commit 87b0911

1 file changed

Lines changed: 18 additions & 17 deletions

File tree

matsim/tools/ch-viz/README.md

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# CH Router Visualization
22

3-
Interactive D3.js visualization of the Contraction Hierarchies (CH) routing algorithm vs Dijkstra on the Berlin road network.
3+
Interactive Leaflet.js and canvas visualization of the Contraction Hierarchies (CH) routing algorithm vs Dijkstra on the Berlin road network.
44

55
Created by Steffen Axer ([iteratively.io](https://iteratively.io)) to demonstrate CH routing efficiency for LinkedIn.
66

@@ -48,35 +48,36 @@ Most browsers block `fetch()` from `file://` URLs. Use a local server as above,
4848

4949
## Visualization Features
5050

51-
- **Split-screen** Dijkstra vs CH comparison (synchronized animation)
51+
- **Split-screen** Dijkstra vs CH comparison (synchronized pan/zoom via Leaflet maps)
52+
- **OSM tile background** — dark-themed OpenStreetMap tiles with WGS84 coordinates
5253
- **Play / Pause / Step** controls with speed slider (1×–50× events per frame)
53-
- **Progress bar** with click-to-seek
54-
- **2.5D mode** — nodes lifted by their CH contraction level, showing the hierarchy
54+
- **Step slider** — drag to seek forward/backward through events; forward (▸) and backward (◂) step buttons
55+
- **2.5D mode**CSS perspective tilt + nodes lifted by CH level, showing the hierarchy
5556
- **Meeting point** golden glow when the bidirectional CH search converges
5657
- **Stall-on-demand** visualization (gray flash for pruned nodes)
5758
- **Final overlay** showing search space savings (e.g. "97% less search space")
5859
- **Cinema mode** — hides controls, auto-plays for screen recording
5960
- **Video export** — native `canvas.captureStream(60fps)` + `MediaRecorder` → downloads `ch-router-berlin.webm`
60-
- **4 pre-computed OD pairs** selectable via dropdown
61+
- **4 pre-computed OD pairs** selectable via dropdown (long cross-city routes)
6162

6263
## Color Scheme
6364

6465
| Element | Color |
6566
|---|---|
66-
| Background | `#0d1117` |
67-
| Network edges | `#1e2937` |
68-
| CH forward search | `#58a6ff` (blue) |
69-
| CH backward search | `#f78166` (orange) |
70-
| Dijkstra settled | `#da3633` (red) |
71-
| Final path | `#3fb950` (green) |
72-
| Meeting point | `#d29922` (gold) |
73-
| Stalled nodes | `#8b949e` (gray) |
67+
| Background | `#0c0e14` |
68+
| Network edges | `rgba(255,255,255,0.09)` |
69+
| CH forward search | `#38bdf8` (sky blue) |
70+
| CH backward search | `#f472b6` (pink) |
71+
| Dijkstra settled | `#ef4444` (red) |
72+
| Final path | `#34d399` (emerald) |
73+
| Meeting point | `#fbbf24` (amber) |
74+
| Stalled nodes | `#64748b` (slate) |
7475

7576
## OD Pairs
7677

7778
| Route | ~Dijkstra settled | ~CH settled | Savings |
7879
|---|---|---|---|
79-
| KreuzbergCharlottenburg | ~3,000–5,000 | ~80–150 | ~97% |
80-
| MitteNeukölln | ~2,000–3,000 | ~60–120 | ~96% |
81-
| SpandauLichtenberg | ~6,000–8,000 | ~150–250 | ~97% |
82-
| Prenzlauer Berg → Tempelhof | ~3,000–5,000 | ~100–180 | ~96% |
80+
| SpandauMarzahn (West-East) | ~8,000–12,000 | ~200–350 | ~97% |
81+
| FrohnauLichtenrade (North-South) | ~8,000–12,000 | ~200–350 | ~97% |
82+
| WannseeKarow (SW-NE Diagonal) | ~10,000–15,000 | ~250–400 | ~97% |
83+
| Tegel → Adlershof (NW-SE Diagonal) | ~8,000–12,000 | ~200–350 | ~97% |

0 commit comments

Comments
 (0)