RTK GPS Accuracy determination


What is the best way to determine the accuracy level of the rover?

For example,

We have a real-time software stack that should only be used when the GPS accuracy is within 20cm error margin. How do I determine if GPS rover accuracy is within 20cm error margin?

On rover’s reach view, there are AR validation ratio, positioning mode, solution status. Which indicators to use to scientifically determine the accuracy? (except for looking at a satellite map and visually see the GPS location is off a bit from the physical location on the ground)


If it’s Fixed accuracy is 3cm or better, but that’s relative accuracy and there are many conditions to know whether or not it is globally accurate. Just depends on your setup. If it’s Floating then there is no telling because it is more than likely bouncing back and forth, but I have seen longer Float observations (1-2 minutes) come in as good as your 20cm, but if it is for any kind of autonomy then the bouncing probably wouldn’t be good.

Thank you! It is similar to my experience. <3cm error if position status is “fixed” is good-to-know! However, when the indicator is “float”, it is a little bit of guess work on the accuracy level. I hope if there could be a less binary indicator in addition to “Fixed” and “Float”. Look like “Float” indicates a relatively wide range of RTK accuracy level. There are many applications that can work or not work at this accuracy range indicated by “Float” (if “Fixed” is not achievable all the time because of the environment and the type of application).

For the most part a Float condition will probably be 30cm +/- 15cm and outside of that it Fixes or goes dark. The values you set for your tolerances have allot to do with what solution is reported. I turn all my values down to a more strict Fix which can make a 10 second shot take 30 seconds, but I am much less likely to be experiencing a false Fix or Float.

First, you need to determine if you need high Absolute or Relative accuracy.

Absolute Accuracy will tell you where you are in relation to the Earth, but not necessarily give you accurate measurements from point to point.

Relative Accuracy can tell you the distance and angles between the Base and the Rover to a very high accuracy, but it may be shifted on the surface of the Earth by many meters.

You may not need high absolute accuracy if you do not intend to measure to objects that were not made by you or at locations very far apart. For example, if you took measurements of a wall one day in Spain, and another day you (or someone else) took measurements of a wall in Germany, then high relative accuracy will give you the measurements of the wall very accurately, like having a high-quality tape measure at each location, but not knowing anything about how far apart those tape measures are, or where on the globe they are. High absolute accuracy will tell you how far apart those walls are with very high accurately, and probably not so precisely how tall they are.

GPS is inherently only accurate to within 10 meters or so of absolute accuracy, but can be tricked into being more accurate because it has high relative accuracy.

If you need absolute accuracy, you need to measure from a known point, such as a CORS network, NTRIP caster, or a control point established beforehand. This gives you your location on the surface of the planet within a few centimeters, depending on how far the network receivers are to your base. You can average your location by using multiple CORS to refine the location. This will be best done post-processing in the office using RTK-LIB. Once you know your location to high absolute accuracy, you use those coordinates in the Base Mode every time you set up.

Then, your rover will give you positions that are high absolute accuracy, but not necessarily high relative accuracy.

To make sure you have high relative accuracy on the rover, you need to have:

  • A fixed solution.
  • AR Ratio should be stable in the high hundreds (500+) and ideally 999.
  • The base correction less than a few seconds aged.
  • For very precise points (sub centimeter), measurements over time, and preferably at different times of the day when the satellite constellation has changed.

If you record a point on Reachview, it will display the accuracy of the Northing, Easting, and Elevation of each point in the RMS next to the point location. This is not enough to trust unless all the above conditions are met first.

If you want to know exactly how accurate the readout is, the only way to know without any doubt is to reference it to a previously measured location because you cannot analyze a single data point. However, if the checklist above is met, you can reasonably assume the accuracy is consistent. You can confirm this by repeating measurements on a single point over time and analyze the difference.

Now, if you considered your base setup to be a rover, and another receiver provided by a network such as CORS or an Ntrip service with a published predefined location as a base, then take one long measurement at your location, you can post-process the data in RTK-LIB and find the true location of your base, then you will have a very accurate point location that you can now use as that base point. Then all measurements made from that base location will have both high relative accuracy, and high absolute accuracy as well.


Hi @bohan.wang,

Welcome to our community!

I’d like to sum up the information about how solution statuses correspond to position accuracy:

  • Fix - centimeter-level accuracy

  • Float - submeter-level accuracy

  • Single - meters-level accuracy

To check the estimated RMS In ReachView 3, you can tap at the Survey tab screen’s upper right corner.

If it’s Floating then there is no telling because it is more than likely bouncing back and forth

Agree with this note. Surveying in Float wouldn’t be reliable in this case, as the RMS can exceed 20 cm values.

AR Ratio should be stable in the high hundreds (500+) and ideally 999.

Please note that Reach gets a centimeter-accurate result when AR Ratio is 3 or higher.


This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.