Testing a survey marker using PPK

I am trying to learn/test Reach M with a “known location” using PPK with a base provided by my local dept of transportation.
My end goal is to go anywhere and know I can accurately make a new “known spot” using RINEX ppk data from my local dept of transportation.

The known location I found using https://www.ngs.noaa.gov/NGSDataExplorer/
I found one that was marked GPS and Vertical Control (black circle and triangle in it).
I drove to the location on the map and found the little disc in the ground.
I placed the reach device directly on the disc and turned it on.
I log raw data for 1 hour. Then turn it off and bring it home.

My question is when I run RTKPOST should I set options to pull base station position from RINEX header or manually enter it with what they have posted online?

My first initial tests came back with green dots on RTKplot but the ORI was off from the location that was in the notes for the “survey marker” I drove out to. The vertical was off my almost 1m.

Do you have more then one Reach unit?

Manually enter coordinates.

We just have one reach unit right now.
Our RTK state network in Texas does not allow public use. But does post RINEX logs.

Basically I’m just trying to tweak my skills of obtaining a true position. So I can go to a site and know I can get a true location for my base (when I buy one).

I am testing this by physically going to the site markers around my area. I lookup the GPS location they have in their notes online. And verify it to what I obtain using PPK with the base station data from texas dept of transportation.

They just seem a little off especially vertically from what is shown online for that marker.

Question: With PPK does the base do the corrections and add them to the RINEX files?

Or does RTKpost do the corrections with the two rinex files?

You need this log to process against your reach and do PPK with only one Reach.

Base does only provide singel data for the PPK software (e.g RTKpost) to calculate/correct the base data to fixed solution. (in a really nasty way to say it)

RTKpost doesnt exist. RTK meaning REAL TIME KINEMATIC, its done live at the site. PPK is post work and done some time later.

I meant RTKPOST the application. Is that taking the raw data of the base and the raw data of the rover and doing the “calculations” through the program?

Is that why it’s better to manually enter known coordinates under the (position) settings instead of using the RINEX header coordinates?

Yes, sorry. RTKpost does what a rover would do if it had the base data available, BUT with the option of running it over and over again with different setting to get the best output :slight_smile:
Manual or Rinex header should get the same result, but under different situations and mishapp, it can output different result. But double/trippel checking your data should back you up

1 Like

Thanks. Sorry about all the questions.

Does the following sound right for RTK (not ppk)

So with RTK the base knows it’s location. So when it gets GPS and it’s not correct compared to what it knows it should be, it does some calculations to fix this. This is because of atmosphere conditions. Then these “corrections” are sent to a rover. They should be close (10km) because the corrections only work if the atmosphere is the same. For example Florida and Canada would be different conditions thus too far. Also the calculations will need satellites both base and rover should see at same time. Then the rover applies those calculations it received from the base to its own GPS its getting which makes it accurate to cm.

Questions: The link between the base and rover is only sending GPS corrections right? If so is the link pretty much only one way? From base to rover? Or does the rover send any info to base? The base is what is calculating those corrections? Or does the base send its raw data and knows location and the rover does the calculations?

Other than the settings mentioned in the emlid docs for ppk what other “settings” would you recommend playing with to get better output?
This is the guide I have tried https://docs.emlid.com/reach/common/tutorials/gps-post-processing/

Not exactly. With the base and if it has known coordinates or average coordinates, all it does is just collect data it has and ships it to the rover. Thats about it. The rover does all the calculation by comparing its own satellite info with base satellite info and correct any errors.
So with a base placed over a known point, it doesnt do much other the provide intel.

The should be close because the accuracy degrades with longer baseline. (1ppm) Ref this link
BUT longer baseline is possible with right processing.


It can send all systems, but only few is needed

The correction signal works one way yes, but for e.g VRS you need signal both ways.

No, rover does it.

Start out with the recommende and try others as you survey. You learn soon enough what basic setup works best for you. It is different from setup to setup, and place to place.

Oh ok. I always assumed because people say the base is sending corrections data that meant the corrections were being done on the base before sending.

Even on this page it says “One of them is stationary and is called “base station”, the other one is “rover”. The base station measures errors, and knowing that it is stationary transmits corrections to the rover (refer to How RTK works for more information about RTK).”

So base is literally just sending raw uncorrected gps data to the rover. and its position I guess?


Wow, this is a really good back and forth session! I would like to put in my 2 cents by reinforcing what you guys have already talked about. :slight_smile:

For PPK, the base logs raw data which is satellite observations (timings) and navigation messages (ephemeris).
The rover does the same. In fact, with PPK there is no difference between a base and a rover when logging data. They are all rovers until you decide one will act as a base by assigning it a predetermined coordinate.
Afterward, your post-processing program (RTKPOST) takes in this minimum information:

  • the known coordinates of the base station
  • base station observations
  • rover observations
  • navigation messages from either the base or rover

And from that it produces a corrected rover position file.

The difference with RTK is that the base is streaming its observations and its pre-determined coordinate to the rover in real time. Usually that will be in a binary format (RTCM3) to keep the bandwidth low. The rover runs the processing program using:
  • observations from rover
  • navigation messages from rover
  • base station coordinate from base station
  • observations from base station
1 Like

Thanks you both for the excellent information!

I noticed in RTKpost there is a place for multiple “nav” files?
My base station includes a nav file for glonass and gps. Should I add them both? Or just the .nav gps version?

1 Like

RINEX 2.x used separate nav files for each satellite constellation: GPS = .nav, GLO =.gnav, etc. So you would include all relevant files. With RINEX 3.x all the nav messages are in one .nav file.

So, the answer is to add whatever nav files are applicable to the satellite constellations that you are processing.

1 Like

The rinex file reach units make are 2.x right? So would need to add the .gnav file also?

ReachView makes RINEX files for you in the version you specify. You will find a a drop-down list in the logging tab. The default would be version 3.x

1 Like

Oh ok. It was on 2.x for some reason. I changed it to 3.x. Thanks!

1 Like

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