I have been somewhat disappointed with the GPS track information that my app reports. It appears to only capture a new track coordinate about every five seconds. I presume it does this to save on battery power as the GPS consumes a lot. Note, because of this I use an external battery to help my iPhone last longer (the one I bought is less than $10 from Amazon).
However, GPS coordinates are not entirely accurate, so my tracks tend to jump around and they clearly don’t show exactly where I walked. Not only does this look bad in my Google Earth videos, it also gives misleading information as to how far I walked and how much I climbed for a given hike. Thus, I wrote a program to smooth out the GPS track information. This now provides a lot better information as to how much I climbed, and it also makes the tracks better looking. The only drawback is that the distance of the hike is now likely a little short as some of the switchbacks were smooth out a bit and thus won’t be accurately reported.
At any rate, I have now updated all my hikes to show this smoothed track information, though I have not updated the videos (yet).
UPDATE (3/31/13): I knew that Google Earth clamped my GPS data to its terrain map, which is nice because then you can see the track (it’s not hidden under the terrain data in places), but I just discovered that it uses this clamped data when creating its elevation profile. Unfortunately, I had been using the stats on this profile to know how many feet I have climbed.
In my latest hike, the clamping caused a big error when Google thought I had stepped over the edge of a cliff and counted me as having climbed down and back up the 300 foot cliff wall! Because of this, I now calculate climbing information directly from my own data (thankfully I’m a programmer and can do this). So, I will be reporting both how high the highest point on my hike was over the trail head, and then also how many total feet I actually had to climb up (which takes into account that hikes go up and down in places).
I also didn’t like how my smoothed track data seemed to show I hadn’t hiked that far. So I now smooth the data less when calculating the distance in miles that I walked. I think this is a fairer representation of the actual distance of the hike.
UPDATE (4/7/13): I still didn’t like the distance calculation because I was using just a point to point calculation using longitude and latitude only. The calculation didn’t take into account the ramp going up and down, so I’ve added that in now.
And after looking at my elevation data more, I concluded that it needed to be smoothed even more to get an accurate calculation of how many feet up and down I walked.
It would be so nice if the GPS data was more accurate!!
UPDATE (6/10/13): I notice a number of people have dropped by looking for “GPS Smoothing”. If you would like my C# code that I use to do the smoothing, just drop me a message, and I can send you my Visual Studio 2012 solution.
UPDATE (10/5/13): I’ve posted my VS 2012 solution: here. It’s the file GPXTest.ZIP.