Reach RS+ BASE/ROVER Post Processing GCPs

(Thomas Buhl) #1

Hi All,

We just purchased two Reach RS+ units to collect highly precise Ground Control Points (GCPs) for our ultra high resolution UAV maps. We will be working in the Great Lakes coastal wetlands where wifi and a known point (benchmark) will not be available. Also, the plots we will be flying this summer will have thick vegetation (trees and cattails), which might possibly affect our LoRa radio signals.
From my understanding, without NTRIP (Wifi) or a known point on site, the base station will have to be set to average single and will have to be post processed in RTK LIB to achieve a corrected solution for an absolute point on earth.

That being said my first questions is seeing if I even need a base unit in the field…should we be using just a rover instead of a rover and base? Because we don’t have a known point or network. wouldn’t having a base in the field be useless? Instead we would turn on the rover and start logging at every GCP for about 5 minutes then take a point in the survey tab then turn off the log and move to the next GCP location and repeat… in the lab we would select a CORS station (within 100km away) as our base and post process the data. Is this correct?

Second question…
If the above scenario doesn’t work, how do you correct the base station? I’ve read many docs and listened to what people have said online but I cannot figure out how to post process the base in RTK Lib. If LoRa’s radio signals are able to travel through the thick vegetation and I can receive RTK to my rover… the GCP points I would take down in the survey tab would be accurate but to my inaccurate base station. How would I go about post processing my base so that my rover points are corrected as well? Is there an output position file that shows pre-processed and point processed coordinates for my base station and survey points taken by the rover?

Any information will help,


(Thomas Buhl) #2

I apologize that I didn’t delete Emlid’s information regarding posting new topics.

(Christian Grüner) #3

You will need the base+rover. The Base corrects the rover, and how the precision can be obtained. Without it, you precision will be 1-2.5 meters.

You don’t… but you could use either the 100 km cors station, or or use SBAS correction. The first will probably give you the least poor position, given that you will be 10x over the recommended baseline.

You process this one first (with CORS or SBAS, or just live with the Single solution). then you use the post processed base coordinates, when processing your rover.

Regarding LoRa, I wouldn’t count too much on it, especially if you are planning to Post Process anyhow.

(Tatiana Andreeva) #5

Hi @thomas.buhl,

What’s the distance to the closest to your working area reference station?

We usually don’t recommend exceeding the baseline in 30-40 km for PPK with Reach RS+. 100 km is a too long baseline for PPK with L1 receiver, and you may experience accuracy reduction. That’s why I’d recommend placing a local Reach base.

However, you also need to find out the local base coordinates to get absolute precision on the rover unit, so you still need to post-process base raw data with RINEX log from CORS placed nearby.

The base position post-processing doesn’t differ a lot from the standard workflow. You can follow our PPK guide to post-process RINEX data in RTKLib.

After PPK, you can observe the solution in the RTKPlot tool. The ORI value in the top right corner of the RTKPlot window will show you the average position. You can use this value as base coordinates afterward.

(Ryan Mc Gowan) #6

This is what I’d do:
Establish a known location to the CORS network, using three or more CORS stations with a 24 hour session. The more stations the better. Correct for velocity for each CORS station, and do a least squares average and the result should be close to 1cm, and you can verify your accuracy by calculating RMS. Then use this location for your local base for the duration of the project, or as a separate benchmark to tie your base to in the office.

If this is going to be a long project or for long term use, I’d imbed a threaded rod in concrete on top of a fence post, eliminating pole height errors.

If you can’t get the accuracy you need, you can set up a second head halfway between the CORS and the local base to reduce the errors, or do a traverse between two CORS stations.


Just to throw some numbers out there:

RS+ rover only; no local base; no PPK:

RS+ rover only; no local base; PPK to CORS 100km away:

RS+ rover with RTK to base within 1km; base stand alone:

  • Accuracy for base point: 250cm (relative to WGS84 ellipsoid)
  • Accuracy for each GCP: < 0.8cm (relative to base location)

RS+ rover with RTK to base within 1km; base PPK to CORS 100km away:

  • Accuracy for base point: 10.5cm (relative to CORS base location)
  • Accuracy for each GCP: < 0.8cm (relative to base location)

RS+/RS2 rover with RTK to base within 1km; RS2 base via PPP service with 2-hour log:

RS+/RS2 rover with RTK to base within 1km; RS2 base via PPP service with 24-hour log:

***disclaimer that these figures are based on published specs and so they likely represent the best-case-scenario. YMMV.

(Thomas Buhl) #8

Hi Tatiana,

Thank you for your response,

So I went out today and set up my base station and logged for about an hour. While the base was logging, I took two points with my rover, both points in a single solution. My base was in single solution as well. The nearest CORS station is 400 meters away but I didn’t want to use NTRIP corrections because a majority of my sites will exceed the baseline to a nearby CORS station preventing on site RTK corrections via network (we will use this method if baseline is not exceeded). Also, there will be no known point at any of the sites. I should also mention that I didn’t use the LoRa radio to transmit corrections from base to rover because our study sites will have dense vegetation between the base and rover so I wanted to see if I can post process everything (base and rover in single solution) in the event that the radio signals do not work in the field. From my understanding, I will take the raw log (converted to obs) file from the base unit and input it in RTKLIB post as the rover obs. My base input will be the CORS data provided on NOAA’s website and my nav file will also be provided via NOAA’s website for that particular CORS station in time. Is this the correct way to post process a single solution base station and make it absolutely accurate (RTK)? Another issue I’m having is knowing if my base station is being corrected? Is there a way to know if its corrected? Is this what you were referring to when you say ORI value? *** I attempted the above workflow and all of my data was in single solution (obviously). *** Can I even get RTK with my logging method via PPK to a known location e.g. CORS?

Second step…
Once I have a corrected Lat, Long, and Ellipsoid height for my base. I will follow the post process procedure and take my rover converted obs file and input it into RTKLIB post as the rover file. I will then input my converted obs base file for the base station and under the positions tab input the newly corrected base coordinate. Then I would add my rover nav file and execute. From there I will be able to change my collection and end time from my csv file and have corrected rtk survey points. Is this survey correction workflow correct?

It is essential that I have cm accuracy for ground control points and ground truthing points around my sites. In the future, my team and I will want to revisit vegetation plots and look at succession of certain species and without cm precision we will not have a pixel by pixel match from our drone imagery. Please please input on the process I described above and if I’m missing something… I’m new to RTK but am eager to learn.

Thank you for the support!


And in RTKPOST, you will enter use the base station coordinates that NOAA provides for their CORS station. (Technically this should be WGS84 coordinates, but they may supply NAD83 or similar).

You will know that your position output file has been corrected when it shows a status of:

  • Q = 1 (fixed solution), or
  • Q = 2 (float solution)

Q = 5 means single solution (uncorrected).

ORI stands for Origin point. The default origin point in RTKPLOT is the average solution. In other words, by opening up your .POS (position solution) file in RTKPLOT, the average position is calculated for you and represented in the top right corner as “ORI”.

It was done incorrectly then. At a minimum, for RTKPOST post-processing you need to use:

  • rover OBS file
  • base OBS file
  • base (or rover) NAV file
  • base coordinates (in “options”) either set to ‘average single’ or entered manually

I think I know what you mean, but the question is phrased a bit wierd. In terms of chronological events, there are 2 ways to do what you are asking:

  1. Head out and let your base make an ‘average’ coordinate for itself; do your RTK survey off of that point. Later, and optionally, you can post-process your base’s log file against CORS data to get a more precise (PPK) base coordinate. Then you have the option of either:
    a) determining the shift between the initial “averaged” base coordinate and the “PPK’d” base coordinate, then appliying the same shift to each of your collected points; or
    b) use the “PPK’d” base coordinate and your raw base and rover log files to post-process each of your colllected points.
    So, with option a) you are actually going back in time with your new, accurate base position and globally shifting your whole survey into a more accurate position; and with option b) you are really just colleting raw data in the field with which you will process later into individually accurate points.

  2. Head out and to the survey site and make a permanent mark for your base. Set it there and let it log (a few minutes for CORS; 1 or 2 hours for minimum PPP; 24 hours for best PPP). Now go back and run post-processing or PPP on the base log. Obtain an accurate coordinate for that permanent mark. Now go back to the survey site (probably on another day) and set up the base on the permanent mark and enter the accurate coordinates you obtained. Now you can do an RTK survey and get accurate results directly on your rover without any post-processing. (You said that you weren’t going to use LoRa for RTK, so this option isn’t necessarily for you)