A stationary GPS receiver will produce a random cluster of coordinate points around its actual location. I can look at previous coordinate readings and apply various algorithms to find the "average" position, but I have a different idea I'm trying to explore: If I know the uncertainty radius of the coordinates, I should be able to "round" the coordinates to that level of uncertainty to provide a slightly coarser coordinate that is actually a better approximation of the actual position of the receiver.

Example: If the uncertainty range is 100m, then I need to "round" my coordinates to a 100m "grid", as having coordinates with more resolution than 100m gives me "false accuracy".

Is there an algorithm to do this calculation?

I know I can simply chop off decimal-degree digits, but this level of "rounding" doesn't really let me match the current uncertainty range.

  • 2
    Though it is a nice idea, in my own experience the accuracy values only correlates to some extent with real position accuracy, and I would for sure not use it for stripping decimal places or snap to 100 meter grid - though depends on use case. Something more on gps accuracy value here - gis.stackexchange.com/questions/3414/…. My recommendation - if you want to somehow include the accuracy parameter, go with symbology -graduated or categorized symbol.
    – Miro
    Aug 26 at 6:24

Technically, you could save the GPS reported precision in an attribute, convert it from m to degrees using 111km per degree latitude (and multiplying by cos(latitude) for longitude). Then you could use the log10 function to convert the error to number of significant digits and finally round or format_number to display the GPS coordinates suitably rounded.

However, while eg handheld phones and other consumer units routinely report a precision of 5m, or about 1/20000 of a degree latitude, the accuracy is often less due to multipath or other systematic errors. So I’m not sure how useful this type of calculation would be.

On reread, it seems you may have your coords in m already, so that step was already done in this instance. The rest still applies.

  • Thank you for your comment, but I don't think simple rounding is the right solution. What I'm pursuing now is "binning", essentially "snapping" a given coordinate to a regular grid of coordinates (the grid being set by the desired resolution). This is showing some promise, but more experimentation is needed.
    – eric
    Aug 28 at 18:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.