[Ellie: plot elevation]

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.

Ellie is now part of my more general mapping program PyTopo: it's the file pytopo/trackstats.py in that module, runnable as ellie if you install it with pip.


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

Screen shot

[Ellie screenshot]

Known Bugs

I've tried my best to smooth the elevation data for the "Total climb" number. It probably won't quite agree with whatever other program you use; but then, no two mapping programs ever agree on total climb, since it depends on how much you smooth it.

Similarly with total mileage. I think Ellie tends to over-estimate slightly, and doesn't do as good a job with smoothing as it does in the elevation case, but it's at least close.

Ellie's plot sometimes ends up at a different elevation than it started, even when you start and end at the same place. I think that's usually due to differences in barometric pressure between the start and end of the journey; if you have a case where you see a difference that doesn't correspond to what's in your actual track log, please send me the track log to debug.


More Recent Changes:
See the PyTopo changelog.
8/31/2014, 0.4:
Use Kaiser window smoothing to try to make the total climb numbers more sensible.
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.
First release.

PyTopo: Navigate tiled maps on or offline
More Software
Shallowsky Home
mail me