The TopoFusion Climbing Analysis Dialog

One issue of interest to the developers of TopoFusion is the various
methods available for the computation of the total ascent along a GPS
track. We often hear wildly inflated claims of XXXXX feet of
climbing--and it's by GPS! But how were those numbers computed? The
Climbing Analysis dialog provides a tool for comparing a number of
different data sources as well as algorithms for computing the total
elevation gain along a track.

The climbing analysis dialog is under the Analysis Menu.
Below is a screen grab of the dialog:

The file to be analysed is selected in the dropdown box (it must be
loaded in the main TopoFusion window). Below the totals for the
various algorithms are listed. A custom method is available with the
following settings:

Minimum Gain -- The minimum continous gain required for a climb to be
counted.

Subdivide segments -- Whether to divide segments longer than the
spacing, interpolating at "spacing" intervals if longer. TopoUSA
appears to be doing this.

Check moving time -- whether to consider elevation gained while the
GPS wasn't moving or not. TopoFusion does not count this as
legitimate gain, since it's often due to GPS error.

Box Filter Width -- A box filter is a simple way to smooth noisy data. All GPS acquired (and DEM as well) data has errors,
and since elevation gain is a sum, it is generally good practice to apply some sort of smoothing. The width of the filter is how many surrounding points are used for the average elevation at each point. So a wider filter means more smoothing and, correspondingly less climbing. You can get a general idea of how noisy a GPX file's data is by seeing how much effect increasing the width has on the elevation gain.

Presets -- sets the custom algorithm to the settings of the different
algorithms, so that it is clear what is being computed for each one.

DEM interpolation method -- effects how DEM elevations are computed.
As far as we can tell, other programs / sites are using bilinear. This
setting effects all of the DEM calculations, not just the custom
algorithm. It does not effect the interpolation method used for 3D
model generation.

The presets dropdown can be used to see what the settings are for the
algorithms. It simply sets the custom algorithm to the settings of
the various presets.

Add DEM Elevation to Track - This button will add (replacing
any current data) DEM interpolated elevation values to the currently
selected file. This is very useful for tracks drawn with the pencil
tool (though if DEM data is available while drawing, elevation will automatically be added).

Filter (Smooth) Elevation Data - Pushing this button will a apply a box filter of
width 5 to the currently selected file (all tracks within the file are affected). This is a good idea
to use after adding Elevation data to the track. The more times you hit the button, the smoother and
less noisy the data will be.

Some observations: TopoUSA offers the most inflated climbing numbers,
especially when the track is in a fairly steep (mountainous) area. In
general, using DEM interpolation inflates the numbers considerably
over GPS acquired data, especially if it barometer corrected (e.g. eTrex 30).
However, in flat areas the opposite is true: GPS acquired data tends
to be much higher than DEM interpolated values.

What to trust, then? Well, as in any measuring process there are
errors involved, and a typical way to deal with small errors is to
smooth the data. This is exactly that Maptech appears to be doing by
only counting climbs that are larger than 10 meters. Popular websites
such as Strava and Garmin Connect are also smoothing data before computing elevation gain. From experimentation it
a box filter width of five seems to be what these sites are using.

Doing some sort
of smoothing is extremely important when using DEM interpolation as
the resulting profiles are riddled with noise. When looking at climb
by the start and end elevation it is easy to see when DEM (and GPS
elevation) is inflating it (assuming you know there are no downhills).
Smoothing by something in the neighborhood of 10 meters seems to bring
most climbs back to reality, though it can sometimes be to harsh to a
GPS acquired elevation track.

TopoUSA is the worst of them all--subdividing individual
segments while not doing any smoothing. Subdividing is not a bad idea
in general, since small ups and downs could be missed by the GPS
track. However, since the GPS track logging algorithm in Garmin units
seems to be mindful of speed changes it is unlikely any major changes
in elevation (from climb to descent or visa versa) will be missed. This is not really an issue anymore as many GPS tracks are collected at a rate of 1 per second.

A word on resolution

Since elevation gain is a sum, it's important to be aware that the result is highly sensitive to the number of points in a track. The more points, the more error, the more differences and the more gain. Try simplifing a file and comparing the elevation gain afterward. With a high resoltion file (one point per second) it becomes even more important to smooth the data.

What TopoFusion does

The climbing numbers displayed in the main form (active list) of TopoFusion
are from whatever data (usually GPS acquired) is present in the GPX
file. A box filter of width 5 is applied (as of version 5.25+) to smooth the data. Also if the track has time
data any segments determined to be "not moving" are thrown out--this
helps eliminate many errors.