Translocating a Point w/ PPK Workflow


I am currently trying a PPK workflow with (x2) Reach RS+ to translocate a point from a distant base station (~77km) to my home location to set a benchmark and for setting out GCPs for UAV mapping. I am seeking some help now in analyzing the data, and wondering where I go from here in further processing this data.

To maintain a reasonable baseline to assure cm accuracy needed for GCPs, we placed the reach base 30.5km from the reference base station. The reach rover we placed another 23.5km away in the next closest town. We recorded logs on both base and rover for 2h. We repeated this process from the last rover location to our home location over a 28km distance at a later date.

As my logs were already in RINEX format, I went straight to RTKPost. The first time I processed that data, I had done it in Kinematic and the results were as such:

I unfortunately didn’t screen shot the parameters I entered to get these results. I have since processed this data a few other ways and haven’t been able to come back to the same results. Having read through some other forum posts, I understood that since my rover was stationary, it is best to process in Static mode, which I subsequently did.

However I also got some interesting results in Kinematic. I’m just not quite sure how to interpret this information.

I will post here screenshots of the ways in which I processed this data in Kinematic and Static.



(Enlarged Q=1)

These appear to be my best results perhaps?

I suppose my current doubts are, the Q=1 fix solution shows a spread path over a distance of up to 30cm (in static), is this my actual accuracy or is a point averaged from this solution as my output? Glad to share my .obs/.nav here. Do I need to further process this data?

Furthermore, I am a little stuck as to what data I should plug into RTKPost for the second half of my workflow between the last rover position and home locale. Would I use the .pos file that is the output from processing base corrected to the reference station? That seems the logical route to me if I want the home position to align up with the corrected base position…

Lastly, I suppose I am a bit lost after performing the PPK process, how to proceed in making use of this data for my workflow purposes.

Any help and advice is greatly appreciated, thank you.

P.S. I am including you @tatiana.andreeva in my inquiry as you’ve been a great help in getting me to this point! thanks!

ppk needs a static initialization of at least 20 minutes depending on the distance of the base. The first CGP must have at least 20 minutes, the following CGPs can be measured for one minute.
the postprocess in rtklib must be kinematic and define the coordinates of the base correctly (position window) according to the coordinates that move from a known point

GCPs will only be placed once we have a benchmark set at our home location, and we may do it in RTK.

At this point my workflow is just translocating a point from A, B to C over 77km to set my benchmark at home location. So in this case I am running 2h logs on base and rover between A and B and then B and C localities. Base and rover are stationary, so in this case the post processing should be done Static from what I understand. Thanks.

only static processing is to translate the coordinates of a known point, once it has the coordinates it uses them for ppk and ppk processing is kinematic

in the static postprocess you must filter the points and use the times in Q = 1

I am not sure I follow. From what I understand, I’d select kinematic in the post processing if my rover was in movement collecting points, but it wasn’t, it was stationary. From reading around here that would seem to be the way to process the data

Could you describe how I would filter the points and use the times in Q = 1?

Interesting project!

A few comments into processing:

  • You will need either longer obs-times, or shorter baselines. Use this rule of thumb for obs-time on a L1 receiver for long-lasting static points: 120 min + 5 min pr km baseline
  • Remember to add-up all your standard-deviations. Have that in mind if you need certify absolute accuracy. You could easily face 10 cm summed stddev would be my guess. The relative precision of each (and the final) step will of course be much less.

A few hints on your processing:

  • Enable the Iono- and Tropo correction (from broadcast).
  • Set “Output Single If Sol Outage” to Off. This will remove the Single solution from the plot, so it doesn’t interfere.
  • Use Continuous instead of Fix-and-Hold. This gives you a more trustworthy solution, but also makes it a bit harder to get a Fixed solution. You need very good SNR and reasonable baseline.
  • As you mentioned, use Static for Positioning Mode.
  • Use MGEX precise Sat Ephemeris/Clock.

Also, you might want to use PPP (from NRCAN i.e.) instead. Make a 24 hours obs, and submit it. Even if not going down this route, I would suggest to do anyhow, and compare the result with your Traversing-result.

If you can upload the obs/raw-files, I’d be happy to give it a go!

1 Like

Thank you. I am very new to all this and it has been a big learning curve thus far. But in thinking this through, in what I need to accomplish, it would seem to be the workflow that makes the most sense to set a known point in our remote location for further site surveying…

I could redo my workflow and possibly add an additional point to divide up the baseline to be no more than 20km perhaps and could run longer logs.

Could you describe in detail how I go about the process of adding up the standard deviations, is this something I just need to note down? I’m not familiar in ‘reading’ that to understand to certify absolute accuracy. Thank you.

I will take a look at these parameters and see what I can come up with, thank you! I will have to take a second look at how I use MGEX precise Sat Ephemeris/Clock, in this case I would just set the timeframe of the obs-times?

I would need to see if the local NTRIP service provides PPP? My only concern is setting out my devices for 24h, it is a highly impractical method I think, with the number of points and distance as well as the logistics of keeping my devices set up somewhere safe. :confused:

Sure thing:

Reach RS+ Base (location A)
raw_201912071943.obs (9.3 MB)
raw_201912071943.nav (59.9 KB)

Base Station RINEX:
MGIT341t copy.obs (7.1 MB)

I appreciate the help, though I’d like to be able to understand it all!

Still in doubt too after I process my base referenced to the base station, how I go about processing the rover position so it is aligned with the base/base station. Would I use the .pos file from first post processing the base position?

Thanks, giving it a go now.

You don’t need your local NTRIP provider for this. That is the beauty of it.
Try it out here:

Take a look here

This is solution I get, also using MGEX precise products.

Standard Devs (taking equipment error + baseline into account):
XY StD: 0,0305 meters
Z StD: 0,0732 meters

It gets a bit more acceptable if you go below 20 km baseline, and very nice below 10 km. .

1 Like

Paso%201 Paso%202 Paso%202


Can you also show your settings 2 tab ?
Any reasons you are not using the Combined processing method ?

Our heights are ~2 meters different.
I would not recommend using fix and hold for these things.


I do not provide antenna heights

Disable the Int Amb Res for GLO, and you will get a fixed solution

Neither do I.

1 Like

that’s why it’s the difference in heights

Likely, yes

1 Like

Combined, continuos, int amb res Glo off