Indoor Routing Coverage

This report analyses the availability of indoor pedestrian routing data in Valhalla tiles for GTFS transfer pairs in Ile-de-France. Indoor maneuvers (elevators, stairs, escalators, building entrances/exits) enable accurate turn-by-turn instructions for station transfers.

How this report was generated

The bin/check_indoor.py script queries Valhalla's pedestrian route API for each unique GTFS transfer pair and checks whether the response contains indoor maneuver types (39-43). See Development Setup for usage.

Summary

MetricValue
Total transfer pairs checked71,479
With indoor routing data3,729 (5.2%)
Outdoor only67,745 (94.8%)
Routing errors5
Stations with indoor data355 / 9,047 (3.9%)

Indoor Maneuver Types

TypeCountDescription
Escalator3,060Escalator transitions between levels
Stairs1,441Staircase transitions
Elevator1,296Elevator/lift transitions
Enter building34Entering a station building
Exit building26Exiting a station building

Escalators are the most commonly mapped indoor element, followed by stairs and elevators. Building entrance/exit transitions are rare, found mainly at CDG airport terminals.

Top 25 Stations by Indoor Coverage

Stations ranked by indoor score (total count of indoor maneuvers across all transfer pairs involving the station).

StationScoreRatioElevatorsStairsEscalators
Gare Saint-Lazare1,34453%85324935
La Défense1,08957%4701,042
Gare du Nord64652%8313325
Massy - Palaiseau63387%2290404
Gare Montparnasse52727%048479
Versailles Chantiers47877%1400338
Opera38434%0228156
Republique33232%028844
Juvisy30474%242062
Gare de l'Est26032%888164
Saint-Quentin en Yvelines24361%145098
Gare de Lyon22625%1065151
Europe21032%013476
Corbeil-Essonnes20658%81980
Bibliotheque Francois Mitterrand19850%293166
Aeroport CDG Terminal 2 (TGV)18068%36066
Fontainebleau - Avon16474%137270
Aulnay-sous-Bois14059%14000
Neuilly - Porte Maillot14018%032108
Magenta12675%413109
Haussmann Saint-Lazare119100%371666
Evry - Courcouronnes8728%21066
Havre - Caumartin8110%162144
Bondy7559%8670
Rosny-sous-Bois6431%0640

Key Observations

Well-covered stations

The major railway hubs have the best indoor coverage:

  • Gare Saint-Lazare has the highest indoor score (1,344) with a good mix of escalators, stairs, and elevators. Over half of its transfer pairs include indoor maneuvers.
  • La Defense scores second (1,089), dominated by escalators — consistent with its large underground hub connecting RER, metro, and tramway.
  • Gare du Nord and Gare Montparnasse are well mapped, with escalators and stairs.
  • Haussmann Saint-Lazare achieves a 100% indoor ratio — all its transfer pairs return indoor maneuvers.

RER/Transilien stations

Several suburban stations have high indoor ratios thanks to elevator mappings:

  • Massy-Palaiseau (87%), Versailles Chantiers (77%), Juvisy (74%), Fontainebleau-Avon (74%) — these stations likely have well-mapped accessibility elevators in OSM.
  • Aulnay-sous-Bois has 140 elevator maneuvers, suggesting comprehensive accessibility mapping.

Metro stations

Metro stations have lower coverage. Opera (34%), Republique (32%), and Europe (32%) appear in the top 25 but with moderate ratios. Most metro stations have no indoor data — the corridors and stairs connecting platforms are not yet mapped in OSM.

Gaps

  • 94.8% of transfer pairs have no indoor routing data
  • Only 3.9% of stations (355/9,047) have any indoor coverage
  • Building enter/exit maneuvers are almost exclusively at CDG airport
  • Most central Paris metro interchange stations (Chatelet, Nation, Strasbourg Saint-Denis...) are missing from the indoor data

How Glove Uses This Data

Glove only displays transfer maneuvers when Valhalla returns indoor routing data. For the 94.8% of transfers without indoor data, the transfer section shows only the duration and stop names — no potentially misleading outdoor walking route is displayed.

This ensures that:

  • Users at Gare Saint-Lazare see: "Take the escalator to Level 2"
  • Users at Chatelet see only: "Transfer 3 min" (no false outdoor route)

Improving Coverage

Indoor coverage depends on OSM contributors mapping station interiors. Key tags to add:

OSM TagDescription
highway=footwayIndoor walkways/corridors
highway=stepsStaircases between levels
highway=elevatorElevators/lifts
indoor=yesMarks a way as indoor
level=*Floor level (-1, 0, 1, ...)
railway=subway_entranceMetro station entrance nodes

Tools for editing indoor data:

  • OpenLevelUp — visualize existing indoor data by level
  • JOSM with IndoorHelper plugin — edit indoor features
  • Overpass Turbo — query indoor tags around a station

Regenerate this report

After updating Valhalla tiles with new OSM data, regenerate the CSV files:

python3 bin/check_indoor.py --output data/indoor_report.csv --summary data/indoor_summary.csv