How can I filter out GPS "spidering" from tracks created when user is stationary? We collect vehicle mileage data from GPS loggers (based on a 5 second sample of location) and need an accurate measure of the mileage travelled.  However what's caught us out is that some vehicles leave the GPS accessory permanently powered, which causes the logging to continue even when the vehicle is stationary for hours (or days) at a time. This causes false mileage of dozens of miles which we need to eliminate. This can be at the start of a trip, end of a trip, or in the middle, but I need to somehow remove this 'rubbish' data and collapse it down to just the few points where they initially entered or left the area. 
I've spent many hours on this so far and only have a partially working solution which has some unwanted side effects. I'm keen to hear any new ideas (suggestion of technique/algorithm) on the best way of solving this problem. 
[Please also suggest tags. I'm new to this site and unsure how to classify this problem.]
See pictures below:




EDIT:
So far, my system works by tagging points with a "score" which increases the more the surrounding points look like spider points. The score is the sum of some sub-scores which included things like speed below 5mph, the angle created with the two adjacent points (with a penalty or sharp angles) and a second pass to take in to account the score of points 5 either side of the current one. It is working to some extent, but as well as missing some spidering, it also tends to drop a lot of points if a vehicle is moving slowly in traffic (perhaps I need to ignore speed, or pay less importance to it). 
I'd ideally like to find an algorithm which 'notices' that a set of points are not making useful journey progress. 
Another problem is that the size of the spidering can vary widely, from only a few metres wide (with a good GPS fix) to 300m across if the vehicle was parked in a garage and has a very poor fix. So I can't rely on the points necessarily fitting into a given radius. 
I've also considered thinking less about points, and more about does the path between two points, cross an area of known spidering (i.e. lots of other lines), but there's a chicken and egg problem to solve here and I can't think how to approach that.
It's also really important I don't get rid of any valid journey sections so I tend to run a final pass to re-include the 5 points either side of any sets of points flagged for removal. 
 A: It's difficult to make new suggestions if you dont' tell us what you've tried so far... If you think of postprocessing I have some ideas:


*

*low-pass filter your track.

*if your "vehicles" are cars that don't go offroad you could match the position with some street maps (if available). If there's no road around you can disregard the position fix.

*run statistics on the direction between adjacent fixes (i.e. on heading). As cars usually change heading gradually (with appropriate sampling intervals, 5 second may be too coarse), the distribution of heading changes will be different for moving and standing vehicles.

*create a dynamic model of your car's dynamic and simulate the journey (this may come down to some Kalman filter)



Edit: Ok, you can't change the receivers, so let's forget about these ideas...


*

*In navigation systems it is common to combine GPS with additional sensors (e.g. inertial sensors). The measurements are combined in some filter; Kalman-Filters are widely used. Such systems are called integrated navigation systems. More details could be found e.g. in the book by Mohinder & Grewal. But be aware that such systems can cost lots of money... (By the way - built-in navigation systems in cars work exactly that way and combine GPS with inertial sensors, wheel rotation sensors, magnetometers, etc.)

*If additional sensors are not a solution, you could try to increase GPS accuracy. This does not eliminate the "spidering", but at least reduces its magnitude. Think of antenna placement, better antennas, additional services like WAAS... Also differential GPS could be a solution, eventually it may help to place a second GPS tracker in the same car and average the position fixes...
