Thursday 15 August 2013

Better GPS track elevation data

Few weeks ago we made a nice little hiking trip near Pazin. I forgot my Garmin and recorded the trip with my Android smartphone. The resulting elevation graph was pretty strange. Look at the black line:


The blue line is the elevation computed from SRTM (Shuttle Radar Topography Mission) data.

Is it obvious why the Android elevations were strange? The first thing is that the graph was cca 40 meters above the actual elevation lines. But this isn't something that bothers me too much. Because if it were only this -- the actual elevation gain should be the same (but the maximum/minimum elevations would be wrong).

But the second thing is what was really strange. Android cooked up a hill in the first 700 meters of our trip. A big hill, almost 420m high. But in reality there was no hill there.

This is why I added an option "Add GPS track elevation" on Trackprofiler. It is online almost two months now. But the actual data used is raw-SRTM data. And that's why the resulting graph was sometimes not a smooth line but a succession of horizontal lines (Look at the blue line in the graph).

I've been experimenting with few different algorithms to make a better elevation graphs from NASA's elevation data. And I think I finally found a good approximation. The result is the red line:


This new (and better) algorithm for elevation detection will be deployed is on Trackprofiler soon now.

PS. I'm not sure but the fact that my Android elevations are cca 40 meters higher may be because of the deviation between the ideal geoid and the actual Earth surface. 

Sunday 4 August 2013

Add missing time on GPS tracks

It is easy to add new points on an existing track. Just click on the track and move the points marked with (or move the if you need to move existing points):



Those new points don't have the same metadata as the old ones. For example, new points don't have elevations. That's why the elevation graph looks like this:


There is a "empty hole" on the part of the track where the new points are. This is easy to solve: Just go to "Add elevation" and click on "Add missing elevations" and the result is:



By the way, you could use the "Add elevations" option instead of "Add missing elevations" if you want to override even the existing elevation data

But there still is one thing missing. Look at the analytics page, the speed graph:


Here, too, there is the same "empty hole", and that's because the new points have no time(stamps) saved

For situations like this I'm finishing/testing a new feature on Trackprofiler. When choosing it, the application will try to interpolate times for all points where the time data is missing. The interpolation is based on distances between points.

The "Add missing time" feature is almost ready and will be online soon is deployed now.  (BTW. Watch us on Trackprofiler on Twitter, Facebook or Google+ for notifications about the new versions deployed.)