[Enhancement] Add elevation profile viewer

Bug #1052716 reported by Vita Cizek
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

I've made a patch that creates a profile graph from track's
altitude data.
My motivation was to have track profile when riding a bike.

I originally submitted it to Marcus Bauer, I didn't know
about foxtrotgps at that time.
As the tangogps project seems quite dead,
I attach a patch rebased on top of foxtrotgps-1.1.1.

This is how it looks like:

Now with flattening:

With Y-axis bottom set set to 0:

I added it to the info tabs after "Tracks",
but I assume you'll place it wherever you see fit.

It's not perfect and it would need some polishing.
There are several TODOs/FIXMEs mentioned in the code,
that I think should be thought over or fixed/implemented.

I don't have much time now and unfortunately I wasn't able to test
it on live track, however it kinda works on preloaded tracks.

Anyway, you may find it interesting.

The flattening is a simple algorithm, that attempts to fix
the holes in altitude data (eg when incorrect altitude data received, usually 0.0)
It works surprisingly well.

As this wasn't tested live on my openmoko yet,
I don't know how much resource hogging it is.
It may be necessary to redraw the graph only
once in a while, or to draw just some selected points
(eg. every n-th point).

The second checkbox sets y-axis minimum to 0,
default is to adjust it to the altitude minimum,
to emphasize the elevation difference.

Some notes to other foxtrotgps code:
- I renamed print_track to paint_track, for names to be consistent.
- the 7==6 thing is pretty funny :-)

Revision history for this message
Vita Cizek (3-civ-5) wrote :
Changed in foxtrotgps:
importance: Undecided → Wishlist
status: New → Incomplete
status: Incomplete → Triaged
Revision history for this message
Joshua Judson Rosen (rozzin) wrote :

> the 7==6 thing is pretty funny :-)

Hah--I never noticed that. I just deleted it. :)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.