How Spherical Distance Rings Compare With WGS84 Geodesics

The map generator's distance rings use a spherical Earth with a radius of 6,371 km. A 5,000 km ring represents a 5,000 km great-circle distance on that sphere. It does not necessarily represent a 5,000 km geodesic distance on the WGS84 ellipsoid.

The analysis compared spherical distances with WGS84 geodesic distances for 560 distinct combinations of center latitude, bearing, and distance, each repeated at three longitudes. Across the resulting 1,680 coordinate pairs, the median absolute difference was 2.79 km, the 95th percentile was 22.15 km, and the greatest observed absolute difference was 33.44 km. These are results for a designed test sample, not global accuracy limits.

What the Generator Calculates

The azimuthal equidistant generator uses D3's geoAzimuthalEquidistant() projection and defines EARTH_RADIUS_KM = 6371 in static/js/map-generator.js. It uses that radius to convert spherical angular separation into map scale and to position and label distance rings. It does not calculate ellipsoidal geodesics in the browser.

For angular separation $c$ in radians, the modeled center-to-point distance is:

$$d_{sphere} = 6371c\text{ km}$$

The comparison uses the same numeric latitude and longitude values on both models. The WGS84 coordinates are treated as geodetic latitude and longitude; no conversion to geocentric latitude is applied before the spherical calculation. The WGS84 ellipsoid parameters published by NOAA are a semi-major axis of 6,378,137 m and inverse flattening of 298.257223563. GeographicLib calculates the shortest surface geodesic between each pair on that ellipsoid.

The generator remains equidistant on its sphere. The error reported here comes from the difference between Earth models. It is separate from distortion when measuring between two points away from the map center. An azimuthal equidistant projection can also be implemented on an ellipsoid, as documented by PROJ; the spherical model is a choice of this generator, not a requirement of the projection family. The generator's Lambert equal-area tab does not preserve center-to-point distance even on the sphere.

Calculated Differences

Signed error is spherical distance minus WGS84 geodesic distance. A positive error means the spherical estimate is longer.

Measure Result
Coordinate pairs in principal sample 1,680 (560 geometries at 3 longitudes)
Median signed error −0.028 km
Signed error range −22.29 to +33.44 km
Median absolute error 2.79 km
95th percentile absolute error 22.15 km
Greatest absolute error 33.44 km
Median absolute percentage error 0.196%
95th percentile absolute percentage error 0.437%
Signed percentage error range −0.438% to +0.561%
Signed spherical-minus-WGS84 error in kilometers at ten selected route lengths from 1 to 19,000 km. A line shows each group's median; a shaded range shows its minimum and maximum. Route length is plotted on a logarithmic axis.
Errors for the ten selected WGS84 route lengths. Each length includes 56 distinct latitude-and-bearing geometries repeated at three longitudes. The shaded minimum-to-maximum range applies only to those cases. Open the full-size figure.

For the sampled destinations 5,000 km away on WGS84, the generator's spherical distances ranged from 4,980.94 km to 5,024.77 km. At 10,000 km on WGS84, the corresponding spherical values ranged from 9,977.71 km to 10,033.44 km. Thus a destination lying on a WGS84 distance boundary may appear inside or outside the equivalent labeled spherical ring. These intervals are not bounds for other centers or routes.

The greatest absolute difference in the principal sample, +33.44 km, occurred on a 10,000 km WGS84 route from 60°S, 120°W, heading north toward approximately 30.233°N, 120°W. Its spherical distance was 10,033.44 km. The direction and size of the error depend on latitude, orientation, and route length.

Signed percentage errors grouped by seven center latitudes, from 80 degrees south to 80 degrees north. Each group has a median point and a minimum-to-maximum range.
Error distributions by center latitude. Each latitude has 80 distinct bearing-and-distance geometries repeated at three longitudes. Open the full-size figure.

Percentage and kilometer errors answer different questions. Across the tested 1 km routes, absolute differences were less than 0.006 km (6 m), although the largest percentage difference was approximately 0.561%. For a distance-ring decision, compare the difference in kilometers with the tolerance required by the task rather than relying on a single percentage.

Examples From Fixed Coordinates

These reference points make the calculations easy to repeat. The city coordinates are representative points, not surveyed locations.

Center to destination WGS84 distance Spherical minus WGS84
(0°, 0°) to (0°, 90°E) 10,018.75 km −11.21 km
(0°, 0°) to North Pole 10,001.97 km +5.58 km
New York (40.7128°N, 74.0060°W) to London (51.5074°N, 0.1278°W) 5,585.23 km −15.01 km
(0°, 0°) to (0°, 180°) 20,003.93 km +11.16 km

The final row is an exact antipodal pair. Both Earth models have a shortest-distance value, but a unique initial bearing does not exist on the sphere at the antipode. The generator's circular outer edge should not be used to infer a precise direction there.

Route Selection and Limitations

The script chooses seven center latitudes (80°S, 60°S, 30°S, 0°, 30°N, 60°N, 80°N), eight initial bearings (0° to 315° in 45° increments), and ten WGS84 lengths: 1, 10, 100, 500, 1,000, 2,500, 5,000, 10,000, 15,000, and 19,000 km. GeographicLib's direct geodesic solver determines the destination for each combination. Its inverse solver then calculates the geodesic distance for the resulting coordinate pair. The spherical calculation uses the same coordinates.

Seven latitudes × eight bearings × ten lengths produce 560 distinct distance geometries. Each was evaluated from three center longitudes (120°W, 0°, and 120°E), yielding 1,680 route records. Because WGS84 is rotationally symmetric, changing longitude without changing latitude, bearing, or length repeats the geodesic geometry. Those replications exercise longitude wrapping; they are not independent observations. Removing them leaves the reported rounded medians, percentiles, and extremes unchanged.

The sample is deterministic, not random or weighted by actual visitor routes. The percentiles describe these chosen combinations and should not be interpreted as a global or probabilistic error distribution. Percentage error is calculated relative to WGS84 distance and is undefined for zero-length routes.

Separate checks covered 21 coincident pairs, 21 exact antipodal pairs, and 63 near-antipodal pairs. Coincident pairs produced zero distance on both models. For exact antipodes, spherical distance was 20,015.09 km and WGS84 shortest distance was 20,003.93 km, a difference of +11.16 km. These edge cases are excluded from the principal percentiles. Near-antipodal directions are particularly sensitive to small coordinate changes; this study does not evaluate bearing errors.

The calculations do not test coastline-data accuracy, user input accuracy, terrain elevation, pixel measurement, image-export fidelity, or the map's apparent distances between two off-center points.

Using the Results

The generator is suitable for illustrating spherical distances and bearings from a chosen center. If a decision depends on whether a place is just inside or outside a specified distance limit, calculate the WGS84 geodesic directly. The tested differences do not establish a universal safe tolerance for a distance ring.

This comparison does not justify changing the generator's projection or ring calculations without a separate design and compatibility review.

Data, Code, and Reproduction

The downloads contain synthetic route coordinates and numerical outputs, plus the representative public-coordinate examples above. They do not include visitor locations, analytics, credentials, or private data.

From an Azimuthal Map repository checkout, run:

python -m pip install -r static/research/requirements.txt
python static/research/compare-sphere-wgs84.py --out static/research

The script checks the source generator's radius and projection when that source is present. If run without the repository source, it records that the source could not be checked; it still reproduces the numerical comparison. An optional check compares 100 evenly selected principal cases against pyproj.Geod(ellps='WGS84'). In this review, its greatest difference from GeographicLib was below 0.000001 km. Run it with --verify-pyproj after installing pyproj==3.7.2. That cross-check does not validate D3's rendered pixels or the exported images.

For complementary explanations, see how to read an azimuthal equidistant map and choosing between equidistant and equal-area projections.

About This Article

Who It Is For

  • People interpreting distance rings or range limits in the Azimuthal Map generator
  • GIS students and educators comparing spherical and ellipsoidal distance calculations

Methodology

  • Inspects the interactive generator's 6371 km radius, D3 projection and distance-ring scaling
  • Compares 560 distance-and-bearing geometries at three longitudes using GeographicLib 2.1 and WGS84
  • Reports signed, absolute and percentage errors with separate coincident and antipodal checks

Notes

  • Measured errors concern the spherical Earth model, not distortion between two off-center map points
  • The repeated longitudes test wraparound but do not add independent distance geometries
  • Results describe the selected sample, not a universal tolerance or error bound

Sources

azimuthal equidistant geodesics cartographic accuracy WGS84

Try the Map Generator

Compare azimuthal equidistant and Lambert equal-area maps with the same center point.

Generate a Map