📏 Shanghai to Ulaanbaatar
| Great-circle (haversine, R = 6371.0088 km) | 2,225.5 km |
| Miles (international) | 1,382.8 mi |
| Nautical miles | 1,201.7 nmi |
| Initial true bearing | 330.5° NNW |
| Flight at 900 km/h (no climb, taxi or wind) | 148 min |
| Drive at 80 km/h, non-stop | 27.8 h |
| Latitude change | 16.6600° |
| Longitude change | -14.5600° |
ℹ️ What this tool does & how it works
The air line between the two is 2,225 km (1,383 statute miles, 1,202 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 Ulaanbaatar at 47.8900° N, 106.9100° E — using the IUGG mean Earth radius of 6371.0088 km. Leaving Shanghai toward Ulaanbaatar you start on a true bearing of 330.5° (NNW); because the Earth curves, that heading drifts as you go.
How the Shanghai and Ulaanbaatar 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–Ulaanbaatar 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 2,225 km line becomes roughly 2,893 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 148 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 16.66° shift in latitude is about 1,851 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. Ulaanbaatar, Mongolia (Asia): 47° 53′ 24.0″ N, 106° 54′ 36.0″ E — decimal 47.89, 106.91, GeoHash y2s02y17r. 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.