← Back to live globe
UC24 · World Rail Networks

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

🌍
01

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.

globe.gl Three.jsearth-night.jpg textureearth-topology.png bumpnight-sky.png backgroundatmosphereColor #1a3fff
🚄
02

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.

arcsData5 type coloursarcStroke 0.25–0.5arcAltitudeAutoScale 0.3Planned dash animation 2500ms
📍
03

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.

pointsDatapointRadius ∝ √pax × 0.02Cyan→red colour gradientpointsMerge: falseonClick detail panel
🗺
04

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.

polygonsDatacountries-110m.geojsonHover/select stroke colourspolygonAltitude 0.005800ms fly-to animation
📊
05

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.

Country name matchingLine / hub countTotal km per countryClose button + re-click dismiss
🎛
06

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.

Client-side type filterarcsData onClickpointsData onClickHSR km leaderboardSpin toggle

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