Saturday 23 February 2013

GPS elevation graphs

This blog post is a short history on the evolution of GPS elevation graphs on trackprofiler.

When starting the service I created a simple javascript based graph library and used it for GPS tracks elevation graphs:

...but over time, some problems arose. First of all it was slow and rendered in the browser. That means that for slower computers the graphs slowed the rendering of the entire page by more than a second.

And, there was another thing I wanted to show on the graph -- the speed graph. So, a month ago a new version of TrackProfiler was deployed. The graph is now a PNG image created on the server -- no client's CPU is used. The graph, then, looked like:

The green graph is speed, the gray one is elevation.

But, there still was one thing in the evolution of the graph I wanted to make. For example on the GPS track shown -- it started on elevation 197m and never went below. So, it don't make sense to show the vertical  part of the graph from zero. It only makes the uphill and downhill slopes flatter.

After another iteration (online for the last 3 days) -- the vertical part of the graph now starts from the minimum elevation found on the graph. And the uphill/downhill slopes are better visible:

See an example here, or try it yourself on TrackProfiler.


  1. ...but we can't see actual speed value

  2. ...but we can't see actual speed value

  3. Right, bit this is still a work-in-progress. There are a few things left (for example the imperial units (miles) and the speed values). I'm working on the new route editor at the moment, but after it is ready, I'll finish the graph tasks.