App Building day 3 - data smoothing...

I worked some more on my GPS app, and I'm looking for some advice from somebody with more experience in dealing with chunky data than I do.

One of the problems that I have with the GPS data that I get is that it's noisy. First of all the altitude data for GPS isn't as good as the location data. It acts as if there's a constant bit of noise added to it. The second problem is that the receiver can't always maintain a sync, and if it doesn't, it ends up with a straight-line projection of the last data, and then abruptly re-syncs when it gets a good fix again.

That means I end up with discontinuities in the altitude data, which messes things up when I try to figure out the gradient of the data, and makes the plot look pretty ugly.

What I need is a good way to smooth over those sections of bad data, and I'm open for ideas.

I did realize as I was writing this that I may be able to use the quality of data information that the GPS sends me to decide what data is bad.