Best algorithm to make a smooth route through a raw set of GPS-points with some errors? We're developing a mobile application where one of it's functions is tracking user driving route.
The app simply pushes GPS-coordinates to the server, which stores them into a route.

Then we need to display that route gracefully on a map.

There are 2 problems:


Too many points to draw it all. I solve this by applying my variation of RDP algorithm
GPS coordinates aren't ideal, sometimes there is an error up to 100-200 meters. Which causes loops or zigzags on the map and no one of the polyline simplification algorithms which I know can deal with it.


Do you know a way or an algorithm how to deal with errors in coordinates data to draw smooth routes?

The black is the actual polyline. The red is kind of my desired simplification.
Use a Kalman filter.  This is a powerful way to smooth the data to eliminate noise, in a way that takes into account the dynamics of how physical objects move.