transit accessibility · research demos
Interactive maps of public-transport accessibility for three European cities — Torino, Milano, and Paris — computed from open GTFS schedules: each city's transit network is rebuilt from its timetables, travel times are routed over a hexagonal grid (with OSRM walking legs), and every cell is colored by how well transit serves it. Methodology from my first-author papers at hEART 2022 and TRB 2023 — including equity metrics comparing the three cities below.
How evenly is that accessibility spread over people? Two population-weighted views, using the inequality-index family of my hEART 2022 and TRB 2023 papers. Whole-city reach and time to amenities: each hex's average travel time t (to the entire city, or to the points of interest — recovered from the maps above, 8:00 layer) as a velocity-like accessibility 1/t. Essential services: how many schools, universities, hospitals, clinics, doctors, pharmacies, supermarkets and markets (OpenStreetMap) each hex reaches by transit within 60 minutes at 8:00 — a cumulative-opportunities measure recomputed from current GTFS timetables with the same limits as the original research (15-min walk to stops, 5-min transfers), drawn hex by hex in the Essential-services maps above. 0 means perfectly equal on every index; the Palma ratio is the accessibility share of the best-served 10% of people over the worst-served 40% (0.25 at perfect equality).
| City | View | Gini | Theil | Atkinson (ε=0.5) | Palma | Bottom-50% share |
|---|---|---|---|---|---|---|
| Torino | P2P — whole-city reach | 0.087 | 0.012 | 0.006 | 0.36 | 43.7% |
| Milano | P2P — whole-city reach | 0.107 | 0.018 | 0.009 | 0.40 | 42.4% |
| Paris | P2P — whole-city reach | 0.081 | 0.010 | 0.005 | 0.36 | 44.2% |
| Torino | P2POI — time to amenities | 0.344 | 0.214 | 0.097 | 1.44 | 27.3% |
| Milano | P2POI — time to amenities | 0.414 | 0.275 | 0.138 | 1.78 | 19.7% |
| Paris | P2POI — time to amenities | 0.234 | 0.088 | 0.042 | 0.77 | 33.5% |
| Torino | Essential services within 60 min | 0.259 | 0.153 | 0.097 | 0.78 | 30.9% |
| Milano | Essential services within 60 min | 0.287 | 0.200 | 0.134 | 0.90 | 28.9% |
| Paris | Essential services within 60 min | 0.234 | 0.118 | 0.074 | 0.67 | 33.2% |
Read a Lorenz curve as: the bottom x% of people (ranked by accessibility) hold y% of the city's total accessibility — the farther below the diagonal, the less equal. Near-equality on whole-city reach is expected: an average over the entire city is dominated by geography every resident shares, and the source exports cap travel times at 120 minutes. Caveats: population weights come from the original research exports (one assumed service day per city); unreachable cells were dropped at export time; travel times are floored at one minute before inversion (a few cells contain the amenity itself and export ~0 minutes); the essential-services view walks straight-line distances scaled by 1.3 rather than routed streets, and uses 2026 timetables while the maps above show the original research runs.