Comparing PPK position to the averaged position and applying corrections to the collected data

Hello all,
I have been trying to dig into base station emplacement when no internet connection or known points are present in the field. I understand quite well what is described here:

Except for point 4) under the heading “Post Processed Kinematics”
After you get the coordinates you may enter them manually in Base coordinates section. Comparing PPK position to the averaged position and applying corrections to the collected data is the way to compensate the shift shown in the example on figure 2

So, I have been thinking about a typical situation I encounter in my work. I usually work in remote areas, no cell phone connection, no known points where to set the base. Usually I work in full PPK, i.e., taking raw data from both base and rover and then postprocess the base first (usally with NRCAN) and then use it to postprocess rover data, collected over 5-7 minutes for each point.

I wonder if, instead, this workflow may work:

  1. Set up the base and average single position for 20-30 (or more?) minutes.
  2. Set the base to collect RINEX data
  3. Note down the base position as averaged by the app
  4. Collect rover points via RTK (connecting the radio) waiting for fix.
  5. Once back to a place with connection, send the base data to NRCAN, and obtain precise positioning for the base.
  6. Calculate the XYZ offset between the NRCAN-processed base and the average single position
  7. Apply the same offset to all points in the survey (downloaded as csv)

Would this work, or there is something very obvious i am missing?

1 Like

Yep, that is one way of doing it. However, using PPP (NRCAN etc) has a few disadvantages:

  1. You need hours of logging before you have reliable log for PPP. 12 hours and preferably more, especially if you don’t wait the 3 weeks for a Final solution from NRCAN.
  2. The output from NRCAN is in ITRF which has a significant offset from WGS84 used by GNSS. So you have transform it. Not hard of course, but just an extra step.

When I am in the field, I don’t have problem of missing Internet, but I am too cheap, so I haven’t got a local NTRIP supplier for corrections.

Since I usually can’t wait 3 weeks (or rather, my customers will not wait), I use local CORS station data (from EUREF) to postprocess my data.

In this case my flow would be as follows:

  • Setup up the base, and start logging
  • Average single for no more than than a few minutes
  • Start rover+logging and verify Lora correction feed from Base + fix.
  • Collects point using the Survey-tool in ReachView, which incorporates time-stamp for start/stop of each point.
  • When coming home, download base+rover logs+ survey csv file, and find the nearest CORS station, and download the corresponding observations from there.
  • Then process the base station logs using the CORS data
  • Use the derived base coordinates for processing the rover-log
  • Feed the resulting rover pos-file and survey csv file to a program that uses the timestamp to extract the average location of each surveyed point.
  • aaaaand you’re done.

Yes, mine was a worst-case scenario. I am leaving in a few days to a remote place in South America, and the closes base station will be 70+ kms away, which makes it iffy with a L1 receiver.

I also tried the process you outline, but I do wonder how long should one keep the base static for. I usually keep it quite long in static, and I don’t turn on/off the rover raw data collection.

I would not go under 5 minutes per point, but maybe I am being over-cautious here?

Yeah, if you need absolute position precision, it is a bit of a stretch.

There was a rule of thumb mentioned here on the forum not too long ago. Now I can’t find it of course. But for 70 km on L1, I would use no less than 4 hours, preferably more

If you have good skyview and can keep an unobstructed path while logging your point, 1-2 minutes is just fine. If you want to process each point as static (better results), you should keep the rover on each point for 15-20 min to ensure you will will have a fix for each point.

where are you getting that information from? i think your wrong, but if your right then i need to know. i have used NRCAN a bit and compared it to OPUS but the results just seemed lower precision and more variable not shifted, did i miss something?

Nad83 or ITRF. User seleactable.

remote area of south America, yes that is the workflow i would do. or i would buy a L-band PPP system. what would be great would be a low cost system for getting the base station coordinates from PPP in the field over a satellite modem. then you wouldnt have to do the shift back in the office.

i dont think averaging for more than 20 minutes makes a difference but i havnt looked into it. my feeling is that its still autonomous so its still relatively noisy data.

correct but ITRF = WGS84…search the page… at the bottom;


  • WGS84, the World Geodetic System of 1984, was originally compatible with the NAD83 reference system; however, WGS84 has been redefined and it is now compatible with the ITRF2008 reference system.

I would add leaving the rover still for 5 or 10 minutes to have a good initialization for postprocessing (in my case with 10 minutes 99% FIX, plain area, GPS + Glonass + Galileo)

Yep, if you process the whole thing as kinematic, it’s a good idea. However, I recommend more than 5-10 mins. At least 15 mins, per the recommendation of the RTKLib manual when using the Static Start method in RTKpost.

1 Like

I would add leaving the rover still for 5 or 10 minutes to have a good initialization for postprocessing

For EACH rover point, or only when inizializing the survey?
Thanks all for answering this post, I am learning a lot.

Could you walk through the last step? feed the resulting rover pos-file and survey csv file to a program that uses the timestamp to extract average location of each surveyed point? What program do you use?

Hi Alessio,

Sorry for the delay!

We’d recommend collecting the data for 5-10 minutes on each point.

Hi @ggraham,

I hardly can provide you with such software. However, you may manually cut the log by a time period of a point using the Time Span/Interval tool in RTKPlot (you can find it in the Edit menu), and then get the averaged position in the ORI field.

Here is one: Another survey post-processing software

5 posts were split to a new topic: How long to log for base position?