World Rail Networks
25+ global railway corridors — high-speed, conventional, freight, and planned — visualised on a globe.gl 3D globe with arc rail lines, point station hubs, and interactive country borders with stats. Click any element for details.
25+
Rail corridors
53k km
Total tracked length
30
Major hubs
20
Passenger flow arcs
5
Line type categories
195+
Country borders
2033
Latest planned route
1916
Oldest corridor
Implementation Pipeline
globe.gl — Earth Renderer
The visualisation uses globe.gl, a Three.js-based globe library. The globe is textured with a NASA night Earth image and topology bump map, set against a star-field background. Auto-rotation starts at 0.15 rpm, centred over Europe and Asia (lat 30°, lng 60°, altitude 2.0). The atmosphere is rendered in blue (#1a3fff) at 14% altitude. Damped OrbitControls allow smooth user interaction — spinning pauses automatically when a country is clicked.
arcsData — Rail Corridors
Each railway corridor is rendered as a globe.gl arc drawn from the first to the last waypoint of its path. Arc colour is type-coded: HSR red (#ff3c3c, stroke 0.5), conventional blue (#64b4ff, stroke 0.35), freight brown, metro green, and planned purple (stroke 0.25). Planned lines use arcDashLength/arcDashGap with a 2500ms animate time to produce a travelling-dash effect. arcAltitudeAutoScale 0.3 gives every arc a gentle geodesic bulge proportional to its distance.
pointsData — Station Hubs
The 30 largest railway stations are rendered as globe.gl points. pointRadius scales with √(annual passengers in millions) × 0.02, so Shinjuku (770M/year) and Tokyo Station (462M/year) appear much larger than smaller hubs. Colour interpolates from cyan for lower-traffic stations to red-tinted for the busiest, using the same gradient as the original deck.gl ScatterplotLayer. Hovering a hub shows a tooltip; clicking populates the bottom-right detail panel.
polygonsData — Country Borders
Country borders are loaded from /countries-110m.geojson and applied via polygonsData at altitude 0.005. Border stroke colour transitions from faint white (rgba 18%) on hover to 60% white, and to vivid yellow (#fde725) when a country is selected. The polygon cap is fully transparent by default with a subtle yellow or white fill for hovered/selected states. Clicking a country triggers a smooth fly-to animation (pointOfView transition over 800ms) and opens a country stats panel.
Country Stats Panel
When a country is selected, a panel in the bottom-right corner lists all rail lines whose country field matches the selected country. Each line shows its type colour dot, name, and length. A summary row shows total tracked kilometres and hub count for the country. The panel dismisses on the close button or by re-clicking the same country polygon on the globe.
Filter, Selection & Detail Panel
Bottom-left filter buttons toggle the active rail type (All / High-Speed / Conventional / Planned / Freight / Metro), immediately updating the arcsData subset. Clicking a rail arc or hub point opens the bottom-right detail panel with metadata: name, operator, length, top speed, opening year for lines; or station name, city, annual passengers for hubs. A top-right leaderboard ranks countries by total HSR kilometres with animated percentage bars. The Pause/Spin button toggles globe auto-rotation.
Design Highlights
Geodesic arc curvature
globe.gl arcs follow great-circle paths on the sphere surface. With arcAltitudeAutoScale set to 0.3, longer corridors like the Trans-Siberian (9,289 km) and Beijing–Guangzhou HSR (2,298 km) show a pronounced curvature, accurately reflecting the geodesic distance. Short corridors like Morocco TGV (186 km) are rendered nearly flat.
Planned lines dash animation
Future corridors (HS2, California HSR, Mumbai–Ahmedabad, Pakistan ML-1, Brazil SP–RJ, Egypt Cairo–Alexandria) use arcDashLength 0.4, arcDashGap 0.3, and arcDashAnimateTime 2500ms to produce a moving-dash effect in purple, immediately distinguishing them from operational corridors without relying solely on colour.
Country border interaction
Clicking any country polygon on the globe triggers an 800ms animated pointOfView fly-to centred on the country's bounding-box centroid at altitude 2.0, then opens a stats panel listing all tracked rail lines in that country with their lengths. Auto-rotation pauses so the user can explore at leisure.
Colour Scheme
High-Speed
Operational HSR corridors (300–360 km/h)
Conventional
Intercity and regional rail (100–240 km/h)
Planned
Future corridors — animated dash
Freight
Dedicated freight lines
Metro
Urban rapid transit
Country border
Selected country highlight
Tech Stack
Visualisation
globe.gl (Three.js-based 3D globe)
Rail lines
arcsData — 25 corridors, 5 types
Station hubs
pointsData — 30 major hubs
Country borders
polygonsData — 195+ countries (110m GeoJSON)
Colour scheme
HSR red · Conventional blue · Planned purple
Arc animation
Planned lines: arcDashAnimateTime 2500ms
Interaction
Hover + click arcs, points, polygons
Data
Hardcoded static arrays + /countries-110m.geojson