How to post process finding base position from only raw log data


If the PPP method (Precise Point Positioning) is not accurate enough, you can choose VRS service or, if this is not available, your own Rapid Static computation, but from several threads on the forum you can see that it is not easy.

If you are using CSRS-PPP is the principle is that you must always give the source of the message.

Do you post process or does it need to be RTK?

here you have the whole set from PPP (2.9 MB)

And to make the confusion total, here is one from me.
1.Created VRS from 3 stations (baseline 70,919 and 1352km away) with GNSS solution
2.Converted BVRS1 to RINEX (gnss kept crashing on my computer)
3.Postprocessed static base against VRS with RTKlib

Screenshot shows @r.pazus nrcan PPP in top left corner, basestation is VRS file and PPS_VRS is base of Nata.

1 Like

I went through a long hard learning curve and I will answer you from a non-surveyor Pilot perspective. I am going to talk in simple non technical terms. My post below is for any newcomers in the forum learning GCP collection. I fully know the struggles of learning this stuff!

First off, you have to use software to process your log file from the Reach. I use EZsurv which is a paid software but VERY very easy to use and works very nicely. There is a free software called RTKlib but it is very hard and nobody has done a video that explains how to use that software for collecting and processing GCP’s (start to finish fully explained for a newbie)

If you are new to mapping and GPS processing then you REALLY need to watch this video from 2015. It is a very simple but yet easy to understand video (1 hour 25 minutes) and it will help you understand why you must correct (post process) the data you collect in the field (ie your Ground Control Points). EXCELLENT video.

I have done a very short version of how to collect ground control points and process them here:

A full comprehensive video will be ready in the next couple of days.

Before you ever start doing mapping for business you need to know that you can survey a known point with accuracy. You can find known points (aka Benchmarks) that are close you (USA only) by visiting this site:

I have a short video on how to do this here. I am using EZsurv but maybe someone will make a very easy to follow for UAV pilots using RTKlib software (or any other software).

If you have a CORS station within 15km of your Mappnig mission then having a Reach Base is not an absolute requirement, but still a good idea. I will always set one up. The base unit (whether a CORS base or the one you setup on your mapping site) is used to “correct” the original data collected by the Reach Rover. And after watching the 1.5 hour video above, you know why corrections are necessary. When you have a CORS unit (which is a “base”) within 15km then you are using that . If you are using a Reach “Base” then you will have to first “correct” it’s position to be absolute and then use the new corrected position for corrections on your Reach Rover file.

One thing worth noting. If you were going to be flying a mission over and over at the same site, then you could create your own Benchmark. Then survey that benchmark for the required amount of time to find it’s absolute location. Now on future missions, you can setup your base over your new benchmark and manually enter the known coordinates. Then provide RTK corrections from the Reach Base to the Reach Rover and no post processing would be necessary.

The general steps for Ground collecting and processing GCP’s are.

  1. You must first determine how far your flight mission is from the closest CORS station. You find that out here. You just enter city and state and it will bring them up on the map.
    CORS Map

You MUST know this because the distance of the CORS unit is telling you how long your base unit must log static (stationary) to post process it’s location with CM level accuracy.
15 min : CORS stationi within 15 km
30 min : CORS station between 15-20 km
1 hour : CORS station between 20-30 km
2 hours : CORS station between 30-45 km

If you are only going to use a singe Reach Rover (no Reach Base) then the CORS unit can not be further than 15km. If it is then you would either have to have an onsite base or create a VRS. There is a recent post on VRS (virtual reference station) but I have yet to fully learn that process. The guys on this forum are actually very brilliant and they sometimes forget that there are many non-brilliant folks who need this in layman terms. We can all learn how to do this stuff if taught in way we can learn :slight_smile:

  1. If using an onsite Reach Base, Log your base unit for the required amount of time in unobstructed sky. I actually create a Single Point survey in the ReachView app, even when using my base.

  2. Survey your GCP’s with Reach ROVER. The unit must log for at least 30 minutes in unobstructed sky. It does not matter if it only takes you 10 minutes to survey your GCP’s, you still let the Reach Rover log for a minimum of 30 minutes. Longer is always better. So when you go to the field to fly your Mapping mission, you set up both the Base and the Rover and have them start logging before you do anything else.

  3. After collecting your data and you head to the office. You will first correct your Base unit. After you correct your base unit, you will then use that as a “reference base” for the Reach Rover survey that you conducted. Provided that you collected good data, and you did everything properly, you will have very good accurate data for your GCP’s. You can then export a CSV file with coordinates to import into Pix4D or what ever drone mapping software you are using.

I will post the full GCP 101 video as soon as I have it ready. That video is for one group, those new to GCP collecting and trying to learn how to Post Process your data. No technical stuff that you can’t understand, just simple how to video. Then once you learn the basics, all this other technical stuff will actually start to make a “little” sense :slight_smile:


My previous post would apply to those in the USA as the links I provided are only for the US. This is the link to the VRS post. TB_RTK did a video on how to do this but I have not yet comprehended the whole process. Since you are in Asia, with no correction bases close by, then if you can learn how to create and use VRS then it would be really nice. He already showed you sample of what he got using VRS. Very nice!!

This is an example of the local survey network. As in other threads, this network can be referenced to the “Terrestrial Reference Frame” by VRS. The network needs the adjustment as classical static, not as RTK (base -> rover). Here it looks like in the attached report.
. Land Survey Overview.pdf (201.6 KB)
vrs13040.pdf (1.5 MB)

1 Like

Wow, this is allot of information for simply setting GCP’s. I have also been learning to use PP, but have yet to have to use it with the RS+ receivers. @natapatnatapat, do you have a base and rover? I am just curious.

When creating a VRS, even though the GNSS Solutions can download the Raw Data files for the reference stations selected, should we always download the Rinex files manually and then bring them into GNSS using the Load Disk option?

Tore did it that way in his video and I am just wondering if is it not ok to use the “Download” function when creating the VRS? I have used the “Download Raw Data” option but my accuracy is not very good when I go back and compare the VRS (of a known point) to the actual coordinates of the known point.

Chasco, this stuff can be overwhelming! These guys can tell you for sure but I don’t think PP is any good on a L1 receiver (as far as accuracy goes). If you are not using L2 then you do not need to do PP if you are going for accuracy. That is just what I understand. If you do not live where there are CORS stations then learning how to properly create these VRS may be the way to go. I am still trying to learn the how to create the VRS’s with accuracy.

From what i understand its just the same. When gnss download them for you its just easier to just hit download button instead of browsing through half the internet to find the correct file. But @r.pazus probably knows more about this then me.

My first thought is either mixup of projection/datum or some other simple mistake.
Could you show your steps during gnss usage and what files used?

Tore, here are my steps:

Here is a 1 1/2 minute video showing the error values of my Post Processed observation compared to the known point it was over. (3.2 MB)

Data sheet of known point:

1 Like

Awesome video Tim.
I dont know Ezsurv, but did you process .ubx with the vrs file? or did you just compare them two?
It seems like it just got compared. And since VRS is normally created few meteres away it would state so too when you compared them (based on the result Ezsurv is showing you in the first clip)

Edit: Also be aware of the difference of geographic coordinates like wgs84 and the projected ones from your benchmark that is nad83

Also not sure what they mean by this.
Network accuracy estimates per FGDC Geospatial Positioning Accuracy
AJ2658 Standards: _
_ AJ2658 FGDC (95% conf, cm) Standard deviation (cm) CorrNE _
_ AJ2658 Horiz Ellip SD_N SD_E SD_h (unitless)

_ AJ2658 -------------------------------------------------------------------_
_ AJ2658 NETWORK 0.95 1.82 0.43 0.34 0.93 -0.04870202_

Deviation (cm). Like 0.95cm? or 0.95m?
0.95cm insanly resolution. Like 9,5mm… Thats 9 and a half millimeter??

Would be greate if anybody could elaborate this. I am not familiar with these nad83`s

And after some more reading about NAD83(2011) i spotted this

As mentioned earlier, in the past we did not have to be concerned with the shift between NAD83 (1986) and WGS84 as introduced in 1987, because the discrepancy easily fell within our overall error budget. NAD83 and WGS84, originally differed by only a centimeter or two. That is no longer true. In their new definitions—NAD83 (2011) and WGS84 (G1762)—differ up to one or two meters within the continental United States.

I did not know that the VRS was created away from original surveyed point. In otherwords, I thought the VRS was actually created at the exact coordinates of the “post processed” location that was surveyed by the Reach RS.

It seems that one should be able to create a VRS at any point you desired, IE, at a benchmark/ known point, Is that possible?.

I saw your other post on the variations between nad83 and wgs84. The data sheets that I use for the known points, are reported in Nad83. But I have everything set to use WGS84. I am wondering for the USA is there one that is better to use over the other??

Thanks Tore!

Cool huh :smiley: From random selected refrence stations hundreds/
thousands of km away, you get a virtual station close to your own you can postprocess against.

I think that is possible. You get the option to edit VRS position just before you add refrence station to create the BVRS.

If you use the VRS you imported to Ezsurve and process that against the .ubx file. What is your result then?

Only these two RINEX formats are acceptable. That’s why you sometimes need to convert to these formats. Hence ‘Load from disk’

If RINEX is created from raw data, always in the header will be approximate coordinates that the receiver registered at the beginning of the session. Hence these differences of position after postprocessing. If there would not be differences, there is a risk of zero-vector calculations, which may suspend the program.

In active geodetic networks, the principle is to provide exact coordinates in the header. They are related to a specific spatial reference system…

I intend to post process and collect raw data as much as possible.