GPSLog Labs Blog

GPSLog Labs Blog

New features and tips for using gpsloglabs.com

Filed under

discard filters

Using the position filter to clean tracks through tunnels

GPSLog Labs' Position Filter now has a new "tunnel mode" that interpolates along a custom path instead of a straight line so resulting distances and speeds are more accurate.

This is easiest to illustrate with an example: A route I regularly run goes under a raised freeway for about 500m. Throughout this section, the GPS signal is unreliable and the following map shows the kind of quality of track I can expect:

Picking one of these logs in particular shows that it's probably got the wrong distance and the speeds will be way off too, not very useful.

So, to fix this up, click on Filters in the right-hand side panel of the activity detail page:

Tunnel-filter-3

Then add a filter:

Tunnel-filter-4

And choose the Position filter:

First you'll need to position the "discard" circle over the area of the track you wish to delete.

By default, the discarded point from your track will be replaced with a straight line through the circle. This is likely to result in an incorrect overall distance being calculated for your track (i.e. it'll be too short and the average speed will be to low too.)

To add a line of waypoints to interpolate the track through, click the Add Waypoints button then click on the map to draw the new path through the area.

Double-click to stop drawing the line, and drag the points to edit them, clicking a point will delete it.

Once the filter is saved and the edit page reloaded, the discarded points will be shown as small markers.

The following graph shows how the new track is interpolated through the waypoints at a constant speed, so stopped time will be counted in your average speed.

And back on the activity detail page, there's a nice cleaned up track that shows where I actually went, much better!

Like other filters, the Position filter can be saved to a tag so it will automatically be applied for any appropriate activity passing through that noisy signal area, meaning you'll never have to deal with messed up GPS data again.

Filed under  //  discard filters   filters   position filter   position filter  

New "Splat" filter

A problem you'll encounter very quickly when using a GPS logger is "splats" in your log files caused by a bad signal while you're inside a building or other area with lots of signal reflections.

This can be very annoying as it will often create spikes in your speed that completely mess up any maximum speed or distance statistics for that log file.

For a while, GPSLog Labs has had "position" and "time" filters that let you manually remove these "splats" but it was tedious to get right, so now a simpler "splat filter" has been added that makes the process much less painful.

First, go to the activity you want to filter and click on the Filters link in the side panel:

Screenshot-splat-filter-before

Then click "Add a filter" and choose "Splat filter":

On the Splat filter page, you need to drag the marker so that it covers the "door" of the building. It doesn't have to cover all of the spikes of the splat, you just need to capture the last good point before you enter the building and the first good point when you get out and start getting a good signal again.

As you can see, the marker is only covering the actual building under the splat, not the whole splat.

The Splat filter will then discard all the points while you were inside the building and interpolate over the gap (which will give you a long period of very slow or 0 speed, restoring the stats of your log back to something sane):

The results are dramatically better, the distance and maximum speed are both now much more accurate and representative. This log also included the Static Navigation filter as the AMOD AGL 3080 logger was quite bad for logging at walking speeds.

Enjoy!

Filed under  //  changelog   discard filters   filters   position filter   splat filter   time filter  

Cleaning up a bad GPS log file

On a run the other day, my GPS logger (an AMOD AGL3080) recorded a really noisy signal and the resulting trace was inaccurate for the first 10 minutes. I have no idea why it did this, the second 10 minutes were fine.

The end result was a log which was almost unusable, the distance recorded was twice what it should be and the average speed was way off.

By experimenting with the Speed Filter I was able to find a set of filters that cleaned the log up remarkably, meaning I could include it in my training stats after all. The following graph and map show the discarded points and the resulting "cleaned" data:

Screenshot-filter-before-after

The red points are discarded by a Radius Filter as that section of the route goes down a lane-way where the signal is generally very bad.

The green points are discarded by the Speed Filter and show how bad the signal was for the first 10 minutes.

The speed is smoothed with a 10 second Speed Median filter too, but the discard filters do the bulk of the work.

I had to experiment with the Speed Filter parameters by varying the cut-off speed until the log's distance was correct (based on previous logs along the same route). When the cut-off was too high, the resulting distance was still too long, and when it was too low, too many points were discarded and it was too short. Once the distance was right, the resulting average speeds were reasonable enough for me to be able to use them. As the table of before and after stats shows, the results were pretty dramatic:

0screenshot-filter-before-after

This is the most successful filtering of a log I've seen so far, generally it's removing much smaller amounts of noise, and it's great to know it can be this powerful. I hope some other GPSLog Labs users can get similar results too as it's very frustrating when a log of your activity doesn't record well and is unusable.

Filed under  //  discard filters   filters   position filter   speed filter   tips  

Manual discard filters

In addition to the automatic discard filters, GPSLog Labs has 2 "manual" filters you can use to clean bad data out of GPS tracks that the automatic filters can't handle.

Manual Filter

This filter lets you discard logged data between two times. E.g. if you spent some time inside a building and got spurious signals as a result, you can "zero out" the data between when you entered the building and when you left.

Select the time range by highlighting the portion of the log on the graph, or adjusting the slider, or keying the times into the text boxes:

The data between those two times will be discarded and GPSLog Labs will interpolate the log between the remaining points:

You can use as many manual discard filters as necessary to clean up your log.

Position Filter

This filter lets you discard logged data in a specified area. E.g. if you have travelled between buildings or through an underpass where you get bad signals you can zero all points within that area.

Select the area to remove by moving the marker on the map and adjusting the radius:

The data between within the selected area will be discarded and GPSLog Labs will interpolate the log along a straight line between the remaining points. This won't be perfect, but will be better than the original noisy data. Like Places, the discard filter is "sticky" so that if the track leaves the radius briefly (less than 60 seconds) it will discard everything between the first point inside the radius and the last. This should mean you don't have to make the radius too large and will still be able to capture all the bad points.

Screenshot-radius_result

You can use as many radius discard filters as necessary to clean up your log.

Filed under  //  discard filters   filters   manual filter   position filter  

Automatic discard filters

GPSLog Labs currently has 2 "discard" filters that run automatically to clean bad data out of GPS tracks.

Speed Filter

This filter is the easiest to understand: It will discard any points where the speed is above a certain threshold.

It has two parameters, the cutoff speed (e.g. 20 km/h for running) and the number of points to discard either side of the "bad" point.

After the points have been discarded, the log will be interpolated between the remaining points, hopefully giving you a more accurate trace of your activity.

Static Navigation

The static navigation filter will only be useful if you have a GPS logger with a chipset that includes this "feature" and you can't disable it (e.g. a logger using the SiRF Star III chipset such as the AMOD AGL 3080.) More details on static navigation can be found by reading http://www.etenblog.com/2007/11/20/static-navigation-explained/ and http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=25575.

Basically, in this mode (which is optimized for driving, not walking or running), when your speed is below 5km/h the logger will "clamp" your position on the assumption it's getting some kind of signal "drift". When it decides you really have moved the logged position will "jump" giving you a log that looks something like the following:

Applying a simple median filter to this data doesn't really help (see the detail below) as there are still lots of samples at the same location:

The static navigation filter will detect these points and remove not just the point, but as many of the "clamped" points as it can, giving a much better result:

(Note that this still needs a median filter to get the best results.)

The next post will describe the "manual" discard filters.

Filed under  //  discard filters   filters   speed filter   static navigation  

© 2013 Tom Paton | GPSLogLabs.com | Source | Feedback | RSS | Subscribe