Accuracy of Trail Mileages Deduced From Topo! Measurements of Chantry Flat Trails

Table of Contents

Comments on Accuracy of Elevation Gains and Losses for Routes


Topo! is a useful program for viewing USGS 7.5' topographic maps, and for measuring mileages of routes.

In general, Topo! mileage measurements are extremely accurate for roads and trails that are like roads in that they are well-approximated by short straight-line segments. However, Topo! measurements significantly underestimate trails that have many curves or hairpin turns that occur in ~0.026 mile segments. Topo! measurements can range up to ~30% shorter than true trail mileages.

Topo! elevation gain and loss measurements are so inaccurate at times as to be largely useless for producing good estimates of the elevation gain and loss for a given route.


Topo! (now owned by National Geographic) was the first company to produce affordable commercial software that allowed users to plot a route on a USGS 7.5' topographic map and then compute distances along the route and an elevation profile for the route. This is an amazing capability, but to be useful one needs to know the accuracy of the reported numbers.

This page reports an analysis of the accuracy of the mileages deduced from Topo!, as well as some comments on the accuracy of the reported elevation gains. It is not my intention to be critical of the Topo! software, but only to report the accuracy so that users can understand the limitations of the software. In fact, the correction factors found below help to improve estimates of mileages using the Topo! software.

In general, Topo! measurements of mileages are quite useful, although one needs to understand their limitations. To understand these limitations, it helps to know how Topo! makes its measurements.

A user draws a route of interest by hand (actually, by mouse or other input device) on a USGS topographic map. The accuracy to which the route is drawn depends on the displayed level. For example, on the Level 5 display ("1:12,000"), the step sizes used to draw the route are ~0.016 mile, and on the same map "blown up by 200%" the step sizes are ~0.008 mile. Thus for maximum accuracy for a displayed route, the route should be drawn on the Level 5 maps blown up by 200%.

The power of Topo! comes from the ability to make mileage estimates for a drawn route. For some reason, probably having to do with the interpolation of the USGS digital elevation model that accompanies each USGS 7.5' topo map, routes are always sampled in steps of ~0.026 mile no matter what precision was used to draw the routes. Thus the mileage of a given route is not computed for the route that is drawn, but instead for a route which has steps of ~0.026 mile along the route from its beginning.

Users of Topo! can easily view this step size. Draw a route, produce its elevation profile, then start clicking along the profile, note the position of the yellow dots on the screen, and imagine connecting those yellow dots with straight lines. The line connecting those yellow dots is the route Topo! uses to calculate the distance. If your route has any curves smaller than 0.026 mile, you'll notice that the line connecting the yellow dots "misses" part of the route.

An example will make this clear. (Note that the concept of this example is what is important. The exact details of this example may not exactly correspond to the Topo! algorithm, since I am not privy to the exact algorithm.)

Suppose we have a trail that is perfectly straight, such as the one made up of the blue diamonds in the following map (ignore the pink line for now, and note that there are blue diamonds underneath each of the filled green triangles):

first example of an aliased trail

In the map above, assume that longitude is plotted on the horizontal axis, and latitude on the vertical axis. The units of both axes are miles. The step sizes between the blue diamonds are 0.013 miles. The heavy blue line is how Topo! would draw the trail from a route drawn at the Level 5 display.

When Topo! calculates the mileage of this trail, it will march along the defined trail, starting with the first point, and marking off points that are distances of 0.026 mile from each other. In this case, it comes up with the points marked by the filled green triangles. The line defined by the filled green triangles is the same straight line as before. Topo! will therefore report the mileage of this trail exactly correctly.

Now consider another trail that is perfectly zigzagged, which might happen for tight switchbacks going up a slope. In the pink trail example above, the trail zigzags at 45°, completing two legs of a switchback every 0.026 miles in the longitudinal direction. Each leg is 68' long, and we all know plenty of trails that have such switchbacks.

What happens when Topo! calculates the mileage of this trail? It computes points that it thinks are 0.026 miles apart on the trail, and ends up using the very same green triangles as for the straight trail!

Unfortunately, in this case the line connecting the green triangles is a terrible approximation of the actual pink route. The reported mileage is now off by sqrt(2), an underestimate of 31%.

Consider now another trail that zigzags a little more often, the pink trail in the following map. (Specifically, the step size in the horizontal direction is 0.013 / sqrt(3) ~ 0.0075 miles, and the step size in the vertical direction is 0.013 miles. These values were chosen so that a distance of 0.026 miles would correspond to a straight line drawn from the beginning to the third zigzag in the trail.)

second example of an aliased trail

The Topo! algorithm will now in fact pick up some of the extra mileage associated with the zigzags even though this trail zigzags at a higher frequency than the previous pink trail. (This is called aliasing, and is a general problem whenever higher frequencies are present than can be handled.) The error in this case is however still higher than the previous example, equal to 1 / sqrt(3), an underestimate of 42%.

These two examples make clear the limitations of the Topo! software for measuring mileages:


The following data comes from trail segments near Chantry Flats:

Trail SegmentMileage From(Topo! Mileage)/
(Truth Mileage)
Gabrielino: Chantry Flat to Lower Falls Jct1.441.391.04
Falls Trail0.230.300.77
Gabrielino: Lower Falls Trail (Lower to Upper Falls Jct)0.750.920.82
Gabrielino: Upper Falls Trail (Lower to Upper Falls Jct)
Gabrielino: Upper Falls Jct to Sturtevant Jct.1.391.400.99
Gabrielino: Sturtevant Jct to Newcomb Pass1.922.200.87
Sturtevant Trail2.663.100.86
Mt. Zion2.002.600.77
Mt. Zion spur0.080.110.73
Lower Winter Creek1.711.800.95
Upper Winter Creek2.162.250.96


The following plot shows the comparison of the mileages measured from Topo! to the mileages adopted as truth:

plot of mileages measured from topo! vs. truth mileages

In general, there is fairly good qualitative agreement between the mileages measured from Topo! and the mileages adopted as truth. Seven of the trail segments agree quite closely, but five of the segments are significantly underestimated.

A more accurate way of viewing the consistency of the Topo! mileages is to compute the ratio of the mileage derived by Topo! to the truth mileage:

plot of topo! divided by truth mileages vs. truth mileages

Now it can be seen that underestimation is quite typical. The Topo! mileages agree within 5% of the truth for only five of the trail segments. Nearly as many trail segments (four) are underestimated by over 15%, with the largest errors around 25%.

Looking at the measurements for individual segments, the trails that are measured best by Topo! are ones that lack many tight switchbacks. The Gabrielino Trail from Chantry Flat to Lower Falls Junction is in fact a driveable road, and hence would be expected to produce a good Topo! measurement. Likewise, the Upper Falls Trail and the Gabrielino Trail from the Upper Falls Junction to Sturtevant Junction are both smooth trails, with only a few tight turns.

The trails that have the biggest discrepancies are ones with a lot of tight switchbacks. The Mt. Zion Trail has a lot of switchbacks and a lot of small-scale curves, and is underestimated by 23% by Topo!.

Thus the underestimate for the Topo! mileages depends on the "curviness" of a trail. In this case, trails like the Mt. Zion Trail, with many switchbacks and a lot of small-scale curvature, will be badly underestimated (2.00 miles vs. 2.60 miles, a 23% error). On the other hand, trails like the Gabrielino Trail from Chantry Flat to Sturtevant Jct. will be nearly correct (3.58 miles vs. 3.71 miles, a 4% error).

However, if one is familiar with a trail (on the ground, not from the topo map version!), one can usually predict if a given trail is one whose mileage will be estimated well by Topo!. Unfortunately, if one predicts that the trail will not be estimated well by Topo!, it is not possible to estimate a correction factor very well.

Probably the best procedure in such a case is to simply multiply the Topo! measurements by 16% to produce the "best" estimate of the true mileage, and assign an error bar to the measurement equal to the correction factor. Doing so for these trails (note that no correction is applied to the Gabrielino Trail from Chantry Flat to Lower Falls Junction since that is clearly road-like), produces a range of estimates that agrees with truth (see plot).


In general, Topo! mileage measurements are extremely accurate for roads and trails that are like roads in that they are well-approximated by short straight-line segments. Most roads can in fact be well approximated by straight-line steps of 0.026 miles, and in my experience Topo! measurements of roads, including fire roads, are generally accurate to ~0.01 mile. The only exception would be roads with a lot of hairpin turns, where Topo! is prone to "cutting off" the full turn.

Most trails, however, have significant "curviness". Many trails follow a series of "S" curves on short scales that cannot be even represented on 7.5' topo maps, and hence cannot be measured by Topo!. Typically, Topo! underestimates the mileages of such trails by up to 25%. Hence a better estimate of the true mileage of such trails would be to apply a correction factor to measured Topo! mileages. Since the correction factor is the inverse of the underestimate, the correction factor ranges up to 33%.

Since it is probably very difficult to make a good estimate of the correction factor, for such trails it might simply be best to use a correction factor of 0-33% and report a range of possible true mileages inferred from the measured Topo! mileages.

Comments on Accuracy of Elevation Gains and Losses for Routes

I have not analyzed the accuracy of the elevation gains reported by Topo!, but they clearly are so inaccurate at times as to be largely useless for producing good estimates of the elevation gain and loss for a given route. The difficulty is in interpolating the digital version of the USGS topographic map. In particular, the reported elevation gain and loss for a given route can be horribly off for ridge and river trails. The fundamental reason behind this is that the elevation does not change smoothly in all directions at such locations, and hence it is difficult to properly interpolate the gridded elevation points near such locations. (Technically, the first derivative of the elevation may not even exist at these points, which is a nightmare to handle automatically.)

For example, the old Fish Canyon Trail to Fish Canyon Falls in Azusa, that travels along the river bottom, is reported by the Topo! software as having an elevation gain and loss of 1752' roundtrip, compared to the truth of 900' elevation gain and loss for the total trip. And this is for version 2.3.2 and later, where they implemented a software change to ignore changes in elevation between 0.026 mile steps of less than 50'. Older software versions reported an elevation gain and loss exceeding 2000'!

Go to:

Copyright © 2000 by Tom Chester.
Permission is freely granted to reproduce any or all of this page as long as credit is given to me at this source:
Comments and feedback: Tom Chester
Last update: 30 December 2000