Advanced: Waypoint Averaging (experimental)

Your GPS signal is not accurate. You know this, that’s what the accuracy radius every better GPSr or GPS-application gives you is all about. So with the atmosphere filtering the signals, the canyon you’re in reflecting them, the satellites taking the wrong positions and the dense forest you’re in not helping either, how are you supposed to determine the exact coordinates for your just hidden cachebox?

Waypoint averaging to the rescue! The idea is to not only get the coordinates for your position once, but many times, preferably many hundred of times. The software then calculates the statistical center of all the inprecise positions, which should be more precise than the single samples used to calculate it. This process is named averaging.

Waypoint averaging comes with every better GPSr and now GeOrg has it, too. But why is it labeled experimental? Read on …

First of all, how do you start waypoint averaging? You can, for example create a new waypoint from the WaypointPage. There, press the averaging button, like this:

It will bring you to the waypoint averaging dialog:

Ok, what’s all this supposed to mean?

  • Above everything you get the current GPS-status. How many satellites and what accuracy the device gives us for the current position. As long as GPS isn’t enabled or still activating, you won’t see much action. When you finally get your first fix, the calculations start.
  • The “latest sample” shows you the current coordinates, as determined by the device.
  • “Samples” is the number of samples you already took.
  • “Out of range” is the number of samples to far from the currently calculated averaged position to be still taken into consideration
  • “Average accuracy”: this takes into account the current averaged position and counts the collected samples increasing in distance from that position. After having counted a certain percentage of samples this is the distance of the last counted sample to the averaged position. This value starts small and increases slowly while the averaging takes place.
  • Finally: The current averaged position

If your GPS needs some time to warm up, you can let GeOrg start averaging and when the accuracy is satisfying, press Reset to restart the calculation.

When you are happy with the result, press OK and the current averaged position will be taken as your waypoint’s coordinate.

So, still, why is this experimental?
During the development of this feature I began to wonder about how my G1 determines its position. For instance, I got a accuracy of 16m and expected coordinates to spread in circle with 16m radius. Few at the border, more at the center.
Instead nearly all of the samples went within 1-2m of the center of the circle of accuracy. I got the impression that my G1 already does some filtering before passing me the values in which case an averaging process would not make much sense.

I will continue investigating this topic but until then I figured I could just as well release the current averaging-feature, maybe you have different experiences with different hardware or maybe somebody has a clue about what’s going on 🙂

Also I think that the G1 doesn’t cope too well with multi-pathing (reflection of the satellites signal in cities, gorges or anywhere next to big walls). At least not as good as our Garmin 60CSx. For example we live in a narrow street with five-floor-houses on both sides. The G1 always gets my position wrong in an order of about 20m-30m (behind the houses on the opposite side of the street) when I’m standing on our balcony on the third floor. The accuracy it displays, though, is at about 4-8m… Anyone else experiencing stuff like this?