Differential Correction (GPS and GIS) Part 2

Making Differential Correction Work

From a practical point of view, a number of conditions have to be satisfied for the process to work. The base and rover have to be taking data at the same time, and the base has to be taking data frequently. If the base station is to serve the rover, wherever it may be (within the 500 km limit), regardless of when data are taken, the base station must take data from all satellites the rover might see. This can cause a problem: if the base and rover are widely separated the rover might see a satellite that the base cannot view. For example, if the base and rover use the same elevation mask (say 10°), the rover might see "Satellite B" in Figure 4—6, while the base would not.

 Base station misses a satellite that the rover sees.

Figure 4-6. Base station misses a satellite that the rover sees.

Usually base stations are set up with an elevation mask value of 10°. A good rule of thumb is to increase the elevation mask for the rover by one degree for every 100 kilometers (60 miles) it is from the base station. So a setting of 15 degrees works well for the rover in general if it is within 500 km of the base station. Fifteen degrees is also good for avoiding difficulties due to terrain, and that elevation angle reduces errors that tend to occur when signals come from satellites low on the horizon, since those signals must pass through more atmosphere. In any event the rover elevation mask must be set high enough so that there is no possibility the rover will record data from a satellite that the base is not recording, as illustrated by Figure 4—7.


Correcting errors by the differential correction method implies that the base station—the receiver at the known point—can communicate with the roving receiver(s). In practice this happens either:

• at the time the readings are being taken, called Real-time Differential GPS (RDGPS), or

• after the readings from the receivers are loaded into a computer, which we call post-mission differential correction.

In RDGPS, a radio link is set up between the base station and the rover. As soon as the calculation for a given point is completed by the receivers, a rover uses the correction signal broadcast by the base station to adjust its opinion of where the point is.

Neither base nor rover sees Satellite B.

Figure 4-7. Neither base nor rover sees Satellite B.

In postprocessing GPS, (more correctly called postmission-processing GPS), the data from both the base and the rover are brought together later in a computer, and the appropriate correction is applied to each fix created by the rover. In the projects that follow, you will use postmission processing to correct GPS files. For mapping and GIS activities this approach yields better results.

Proof of the Pudding

The above discussion became pretty theoretical. Is differential correction worth it? You be the judge. The files we used to open this Overview are shown again below. But there is something additional: a "smudge" in the lower left of Figure 4—8. Here we added all the fixes that were displayed before, but here now each fix was differentially corrected. In other words, all the fixes with their obvious errors are now within the area of one small circle— that presumably includes the true location of the antennae. The ticks again are 10 meters apart, so you can get an idea of the amount of error reduction and the accuracy you can expect from differentially corrected data.6

Eight files; four as collected, then as corrected.

Figure 4-8. Eight files; four as collected, then as corrected.

STEP-BY-STEP PROJECT 4A—Rooftop II

Look at the Effects of Differential Correction

Before you postprocess any data yourself, you will see a demonstration of the effects of differential correction. You will consider four files:

1. An uncorrected SSF file taken with the antenna stationary. It is named T071122A.SSF and it was collected as a Not In Feature type file.

2. Each fix of the file above was modified by differential correction; the corrected file is called T071122A.COR. That file was then converted, using the Grouping Utility, to T071122A_COR_ LINE—a Line_generic file so it can be distinguished when you display it.

3. T071122A_COR_1PT: A Point_generic file consisting of a single point that is the average of the corrected fixes—that is, the average of the fixes in T071122A.COR.

{_} Start the Pathfinder Office software. If you are asked about a Project, select Default. (We won’t be using the advantages of a Project in this exercise. "Project" is a convenience for pointing to a set of files and directories, but it is not necessary for the operation of Pathfinder Office. Since we will be jumping around from directory to directory, we will put aside the Project approach for the moment.) Close any open windows.

{__ } Click the "Open" icon (a yellow file folder on the Standard Toolbar) and navigate so you can see the files in _:\GPS2GIS \ROOFTOP. Set "Files of Type" so you can see "All files *.*." (I did away with the SSF and COR file extensions when I converted some files.) There you will find T071122A.SSF. Single click on the file icon. Note that the file consists of 334 observations taken within a single-hour period (using some older GPS equipment); the antenna was stationary. You will also find T071122A_COR_LINE, also consisting of 334 fixes— actually the same ones, except that each fix has been moved by a correction vector such as we described in the previous overview. Finally, the third file is called T071122A_COR_1PT. It is a single point that is the average of T071122A.COR. Open all three files. Even if the Map window is open, don’t bother looking at them yet.

{__} Set the Coordinate System to (UTM, Zone 16 in the Northern Hemisphere. Set Coordinate Units to Meters. Set the Datum to WGS 1984. Set "Altitude Measured From" to MSL (EGM96 Global) in meters. Set Distance units to Meters. The time zone is Eastern Daylight.

{_} Under View ~ Layers ~ Features set the following: (Make sure the "Join" box is checked so you get lines and not just points, which are less easily visible.)

Not In Feature: a thin gray line (for T071122A.SSF) Line_generic: a thin green line (for T071122A_COR_LINE) Point_generic: a red square (for T071122A_COR_1PT)

{_} Open both the Map and Time Line windows. Measure the distance of the points furthest apart on the uncorrected SSF data. You should get about 200 meters—which is consistent with the general accuracy stated for autonomous GPS readings when selective availability was active: 95% of the points fell within 100 meters of the true location.8

{_} Examine the trace made by the corrected data file, shown by the green lines. Notice the dramatic reduction in variation made by the correction process. Zoom up so that the corrected file fixes fill the window. Measure the distance between furthest points of the corrected data file. You should see about a five-fold improvement in the accuracy in the two dimensions shown by the map. Selective availability was active at the time this file was collected. The improvement is remarkable. Less dramatic improvements occur when SA is not active, as you will see shortly.

{_} Open the Position Properties window (use either the icon or the Data menu). Using the Select arrow pointer, click on the single point of T071122A_COR_1PT in either the Map or the Time Line window. (This is probably most easily done in the view of the Time Line.) A box should appear around the point in both the windows. If you have set all the parameters correctly, the Position Properties window should reveal the location of this average point: 4,207,347.119 meters (north of the equator) and, 720,651.532 meters (which is 220,651.532 meters east of the 87th (west) meridian, which is the central meridian of UTM Zone 16)9

The altitude should be 297.001 meters.

We don’t know whether the found point actually lies close to the true point—since we have no data on where the antenna truly was. But in the next Project, we use a surveyed point to compare our GPS readings with.

PROJECT 4B—The McVey Monument

Correct Some Supplied Point Data

In the steps below you are supplied with a data file of 60 fixes taken with the antenna placed over the carefully surveyed McVey National Geodetic Survey (NGS) marker located on the University of Kentucky (UK) campus.10 You are also supplied with base files taken by Trimble community base stations. Base station files usually consist of an hour’s worth of position data. A new file is started every hour, on the hour, 24 hours a day, seven days a week. The format of a base station file is XYMMDDHH.SSF, where

• "X" is an arbitrary, permanent "prefix" letter chosen by the base station managers to identify files from that base station

• "Y" is the last digit of the year in which the base station file was collected

• "MM" is the number of month in which the base station file was collected

• "DD" is the number of the day in which the base station file was collected

• "HH" is the hour, in UTC time, of the day in which the base station file was collected

In general you can obtain a base station file over a computer communication network such as the Internet or its alter ego, the Worldwide Web. Another way is to download the file to your computer through anonymous FTP (File Transfer Protocol). Or, you could request a base station file be sent to you through the mail on a floppy diskette if the base station does not have a web site or anonymous FTP—a situation which occurs less and less frequently. Base station files are usually large (compared to rover files)— from 150Kb to 350Kb. Sometimes, to reduce their size, and hence the time it takes to transmit them electronically, they are compressed into "ZIP" files or self-extracting "EXE" files. Base stations usually record a data fix every few seconds from all the satellites in view, using an elevation mask of 10°.

{_} Start a new Project named McVey_NGS_yis, with the primary folder as _:\GPS2GIS\McVey_NGS. The directory structure has already been set up for you with Base, Backup, and Export folders.

{__ } Close all files and windows (except Pathfinder Office, which should occupy the full screen). Bring up the Differential Correction window, either by selecting it in the Utilities menu or by clicking on the Differential Corrections icon (it looks like a target) on the Utility toolbar.

Because you have a Project selected, navigating to the proper files should be easy. Basically, to fill in the blanks of the DIFFERENTIAL CORRECTIONS window, you have to select

• the rover file(s) that you want corrected

• the base file(s) needed to do the corrections

• where the corrected file(s) are to be placed

• some parameters

{__ } Under Rover Files click Browse. Navigate, if necessary, to the file C:\GPS2GIS\McVey_NGS\M032522A.SSF. (If it doesn’t appear, make sure Files of Type include those files with SSF extensions.) Click on the file. Click on "Open" to okay the choice. Back in the Differential Corrections window, the choice should appear; the directory and file name should both be presented.

{__ } Under Base Files click Browse. The contents of the "base" directory, located within the McVey_NGS directory, should appear, containing a set of file names of base station files. Among others you will see four files—two from each of two nearby base stations. They are: A9032521.SSF A9032522.SSF L9032521.SSF L9032522.SSF

The files that begin with "A" are from the UK Department of Agriculture. Those starting with "L" are from the Bluegrass ADD— a regional area development district. Two of these files might be appropriate for correcting M032522A.SSF. Which are they?

Finding differential correction files in the Base folder.

Figure 4-9. Finding differential correction files in the Base folder.

{__ } Click Local Search to initiate a search of the project directory Base folder within the McVey_NGS directory. A "Local Search for Base

Files" window will appear, looking like Figure 4—9. It should show __:\GPS2GIS\ McVey_NGS\Base in the Folder text window.

{__ } After making sure that the path to the directory is correct, place an "A" in the Preferred Base Station Prefix field. Then press Search.

{__ } A window asking you to Confirm Selected Base Files will appear—please see Figure 4—10. Study this window. Assure yourself that the time covered by the base station file indeed includes the time period over which the rover file was taken. Then okay the window.

{__ } A window showing the Reference Position of the base station will appear. See Figure 4—11. You could put in new coordinates, but you have no reason to dispute that what is shown is indeed the location of the base station antenna. You could change the coordinates, but don’t. Okay the window.

{__ } Check to see if the Output Folder specifies __:\GPS2GIS\ McVey_NGS and that the file extension is "COR." The name of the corrected file will be M032522A.COR. Since you will be correcting "code" data (as differentiated from "carrier" data) be sure that either "Smart Code and Carrier Phase Processing" or "Code Processing Only" is checked under Processing. Look over the Differential Corrections window; okay it if it is correct; fix it if it’s not.

{__ } You may get a warning that a file will be overwritten. You want to continue anyway.

Checking compatibility of the rover and the base station files.

Figure 4-10. Checking compatibility of the rover and the base station files.

Reference position of the base station.

Figure 4-11. Reference position of the base station.

{_} Watch the reports of the progress of the correction process. When it is finished 60 positions should have been adjusted; ask for "More Details." Examine the resulting report, then dismiss it. Close the Differential Corrections Completed window.

Map the Data

{__} Open the files M032522A.SSF and M032522A.COR. Map them. Unfortunately you can’t tell much because they are both Not in Feature files. Do you recall how to use the Grouping utility to convert a file from a Not In Feature file into a Generic_line feature file? Do you recall also how to get a Generic_point feature file that averages the 60 fixes to get the estimate of the single point? If not, use the next few steps to guide you.

{__ } Start the Grouping utility. For the input file, "Browse" and choose M032522A.COR. Call the output file MV_LINE.COR. Use "One group per input file" and create the feature type "Lines." Okay.

{__ } Start the Grouping utility again. For the input file choose M032522A.COR. Call the output file MV_POINT.COR. Use "One group per input file" and create the feature type "Points." Okay.

{__ } Open M032522A.SSF, MV_LINE.COR, and MV_POINT.COR. If necessary, fix up the display parameters with View ~ Layers ~ Features so that you can tell the three files apart. Again, note the improvement that differential correction made. Enlarge the Map window somewhat and Zoom up on the corrected fixes.

{_} Open the Time Line window. With the arrow pointer, select MV_POINT.COR so that there is a box around it. Under Options, make the coordinate system Latitude and Longitude and the Datum NAD 1983 (Conus). The altitude units should be US Survey Feet. Make the Style of Display DD*MM’SS.ss"—that is, degrees, minutes, seconds, and decimal fractions of a second.

To review: You just learned how to differentially correct an SSF file. What you did is called postmission processing, or postprocessing, because considerable time elapsed from the time the file was recorded in the GPS receiver and the time it was corrected by you. As mentioned previously, another way to improve GPS data is called "real-time differential correction," whereby the base station transmits a radio signal that is received by the rover (s), allowing them to correct their data almost instantly. This allows the roving receivers to display the more nearly correct position fixes immediately. One might use such a capability to bring a ship into a harbor. The objective is to miss the rocks at that moment; postprocessing would hardly be appropriate.But for using GPS data in a GIS, postmission differential correction is the way to go.

Next post:

Previous post: