📏 Shanghai to Xi'an
| Great-circle (haversine, R = 6371.0088 km) | 1,220.4 km |
| Miles (international) | 758.3 mi |
| Nautical miles | 658.9 nmi |
| Initial true bearing | 289.8° WNW |
| Flight at 900 km/h (no climb, taxi or wind) | 81 min |
| Drive at 80 km/h, non-stop | 15.3 h |
| Latitude change | 3.1100° |
| Longitude change | -12.5300° |
ℹ️ What this tool does & how it works
The air line between the two is 1,220 km (758 statute miles, 659 nautical miles). It comes from the haversine formula on the two coordinate pairs the page carries — Shanghai at 31.2300° N, 121.4700° E and Xi'an at 34.3400° N, 108.9400° E — using the IUGG mean Earth radius of 6371.0088 km. Leaving Shanghai toward Xi'an you start on a true bearing of 289.8° (WNW); because the Earth curves, that heading drifts as you go.
How the Shanghai and Xi'an distance is worked out
Two points on a sphere are separated by the shorter arc of the great circle that passes through both of them, and the haversine formula is the numerically stable way to get its length: it converts the latitude difference and the longitude difference into a single chord ratio, takes its square root, and multiplies by twice the radius. Written that way it stays accurate even for pairs a few kilometres apart, which is why it is still the standard in navigation code. The radius used here is 6371.0088 km, the IUGG mean radius; on the true WGS84 ellipsoid the same Shanghai–Xi'an arc differs by a few tenths of a per cent depending on the route's orientation, which is well inside the error of a city-centre coordinate.
What that number means for an actual trip
It is the distance a bird flies. A 1,220 km line becomes roughly 1,586 km of road once hills, borders, river crossings and bypasses are counted — the 1.2 to 1.4 multiplier is the usual empirical range, and this page does not pretend to know the road you would take. Air distance is closer to the figure above, though airline routings, wind and holding add time to the 81 minutes a perfect 900 km/h cruise would take. Rail sits between the two. The latitude and longitude changes in the table show why the line is not simply "north" or "east": a 3.11° shift in latitude is about 346 km, while the same number of degrees in longitude shrinks with the cosine of the latitude.
Both positions, exactly
Shanghai, China (Asia): 31° 13′ 48.0″ N, 121° 28′ 12.0″ E — decimal 31.23, 121.47, GeoHash wtw3sj5zb. Xi'an, China (Asia): 34° 20′ 24.0″ N, 108° 56′ 24.0″ E — decimal 34.34, 108.94, GeoHash wqj7qgrsv. Those two pairs are all this page needs, and everything above is derived from them; nothing is fetched, and the coordinates you can edit in the form are recalculated by your own browser, so a different pair costs nothing and stays on your device.