Ellie: plot elevation from a GPS track

There are lots of ways, mostly related to the Open Street Map project,
to display GPS data on Linux. But none of them display elevation.
I like being able to track how much I climbed on a hike or bike
ride.

So I wrote a little Python script which I'm calling ellie.
It parses track log files, in gpx format, and gives you a graph
and a few statistics.

It uses pylab for plotting, which uses matplotlib; you'll need
the python-matplotlib package installed (or its equivalent)
to see the graphs. New in 0.3: ellie can print stats on total
climb, distance traveled, moving time and stopped time even if
pylab isn't installed.

Download

If you want the very latest ellie, you can check it out from the
PyTopo SVN repository.
(It usually isn't very different from the latest release.)

Usage

ellie tracklog.gpx
It can currently plot only one track log at a time (is there
much need to do more?)

Screen shot

Known Bugs

Ellie's plot tends to end up at a different elevation than it
started, even when you start and end at the same place.
I haven't tracked down why yet; it probably has something to
do with the code for smoothing out small changes in elevation.

Changelog

10/30/2010, 0.3:

Give an estimate for total distance traveled, moving time and stopped time;
if pylab isn't installed so we can't plot, print the stats anyway.

3/18/2009, 0.2:

Fixed meters/feet confusion. Smarter total climb code: don't
count little blips like taking the GPS out of its case to read it.