The Best Flat Map

Every measured flight, ping, rail line and satellite pass on one plane

Rule. The surface is a plane. Each of the 219 cities may sit anywhere on it. No latitude, longitude, radius, projection or spherical formula enters the solver.

Measurements. Flight times give lengths: 1,344 routes, cruise speed × time in the air, both directions. Pings (6,958), rail and road lengths (70) and satellite passes (56) give limits: no farther apart than this.

Tolerance. A flight holds between 75% and 110% of its length. Shorter means a route over a third longer than the straight line; longer means an aircraft above its top speed the whole way.

Solver. From a starting flat map it moves the cities to keep as many measurements as it can and marks the rest red (faster than possible) or amber (far off the straight line). Coastlines follow the cities like a rubber sheet.

Start from
Data
Drag to pan · scroll to zoom · click a city
Drag to turn

Result

Best of 311 starting maps (North-pole and dual-pole AE, the layout of the flight times alone, and AE maps centred on 308 other points): 9 measurements broken. The plane keeps almost the whole northern network, but it cannot close the ring of routes around the southern oceans: Auckland–Santiago ×2.07, Mauritius–Perth ×1.85, Santiago–Sydney ×1.84, Melbourne–Santiago ×1.77, São Paulo–Johannesburg ×1.72, Johannesburg–Perth ×1.64, Johannesburg–Sydney ×1.50, Johannesburg–Singapore ×1.22. Each of those needs its aircraft faster than it can fly. To keep the rest, the plane squeezes 254 flights below 80% of their timed length; on the globe 18 are.

On the globe, by the same rules: 1 flight longer than its aircraft can fly (San Salvador–San José, a short hop where the 15-minute allowance for climb and descent is too generous), 0 limits broken, and 8 flights below 75%: detours around closed airspace, indirect airways, and short hops where climb and approach take most of the time (Istanbul–Moscow, Dubai–Baku, Kuala Lumpur–Singapore, Doha–Baku). Surveyed triangles do not depend on the layout: a plane gives every triangle exactly 180°, and 232 of the 935 measured triangles exceed that by more than four times their survey's angle noise (3 on the globe; The Triangle Test).

Released into 3D, the same cities and measurements close into a ball. The cities wrap 160° round its centre, with 0 measurements broken.

Wider tolerances

The further short a flight may fall, the more of the network the plane can squeeze to make room for the southern routes. It keeps everything once flights may fall to 50% of their timed length, which means routes up to twice as long as its straight lines. That layout has 601 flights below 75% and 285 below 60%. The globe has 8 and 1.

Flights kept betweenPlane: too longPlane: too shortPlane: limitsPlane: below 75%Globe: too longGlobe: too shortGlobe: limits

Pings alone

A ping only caps a distance, and internet routes run well past the straight line, so the caps are loose. With pings alone a flat map can shrink until every cap holds; turn off Flight times to see it. Scale comes from lengths, and the flights supply them.

Method

Flights
From The Measured Sphere ("each flight's own speed"): routes flown both ways, each direction's median time from wheels-off to wheels-on over two weeks (FlightAware), less 15 minutes for climb and descent, times the aircraft type's cruise speed (Mach × 1,062 km/h). Averaging the two directions cancels the wind. Click a city for each route's flights, aircraft and track logs.
Limits
A ping is a round trip: the signal goes out and comes back. A ping of t ms caps a distance at 102.1 km per ms (light in fibre; the vacuum option multiplies by 1.468), plus 25 km at each end and the distance from each server to its city's airport. Sources: WonderNetwork's 2020 archive and the live RIPE Atlas, Globalping and Vultr measurements on pingstats. 2 pings shorter than every surface allows were left out as mislocated servers. Rail and road: the straight line can be no longer than the published route. Satellite passes: two stations can be no farther apart than the two closest ranges plus the satellite's measured flight between them.
Solver
First a least-squares fit of every flight's relative error. Then eight rounds of a reweighted, nearly linear penalty on how far each measurement falls outside its band, which gives up on as few measurements as it can instead of straining many (the layout with the fewest broken is kept). Limits count three times a flight. L-BFGS throughout. The page runs the same steps live. Offline, the same code (fit.py) ran from 311 starting maps and then refined the 20 best layouts with twelve rounds.
Drawing
Coastlines (Natural Earth 1:110m) are projected on the starting map, then carried along by a thin-plate spline through the cities' starting and current positions. Land near the starting map's rim is outlined only.
3D
The same objective with a third coordinate. After the solve, a least-squares sphere is fitted to the points to describe the shape; how far round it reaches is the angle from the cities' mean direction to the farthest city.