Version 48 (modified by knpa, 8 years ago) (diff)


Applanix Processing (Manual)


If you have any problems with the steps below then please check here for common applanix processing errors.

  1. Create new project, aim at <data dir>/applanix. Name should be "YYYYJJJ.ppc". Aim 'POS Data First' at applanix/Raw/ and select the first file. Both filename kernels should be "YYYYJJJ" (YYYY = year, JJJ = Julian day (including flight letter)).
  2. Hit "Extract". If POSPac crashes, check first raw file contains data.
    1. Kernel should be "YYYYJJJ".
    2. Read through output for errors - key things to look for are data gaps (if large, you may have to split the processing)
  3. Hit "POSGNSS" The POSGNSS stage does not need to be done if the ipas navigation has already been processed - see below
    1. Convert input files to GPB (File -> Convert -> Raw GPS to GPB)
    2. Plane applanix
      1. Set receiver type to auto-detect
      2. Point at the applanix/Extract directory (check this!) and 'Auto add all' (this should add a NovAtel OEM3 file)
      3. Select the Novatel file, click options and Make all epochs Kinematic (this is because the NovAtel is the sensor on the plane, which is definitely kinematic!)
      4. Run the conversion (check output for errors)
    3. Base stations (repeat for all base stations)
      1. Set receiver type to autodetect
      2. Point at the base station directory and 'Auto add all' (this should add a file, probably Rinex for the UK)
      3. Run the conversion (check output for errors, some health warnings are ok)
    4. File -> Add Remote File, select the gpb file in the applanix/Extract directory, defaults fine
    5. (for all base stations - note: multiple base stations may need other stuff done)
      1. File -> Add Master File(s), select the gpb file in the basestation directory
      2. (if you have gaps, it may offer to resample for you - not sure if we need to do this or not)
      3. The basestation data will come with extra info specifying the precise location and antenna type.
      4. Fill in the antenna type (use advanced method) if you have the info, otherwise set the height appropriately
      5. The base station location will come in a particular datum/coordinate system - you must correctly convert this to a form that POSGPS knows about.
      6. For UK base stations, see the instructions below for this conversion.
    6. Load the airborne settings (Settings -> Load Settings From -> Airborne)
    7. Process differential (button looking like a blue world with a ruler on it). This brings up a set of options.
      1. Change the Process -> Process Information -> Desc each run so you can compare between results.
      2. Try a run with the default settings first.
      3. Read the output for hints as to problems. You want to see "Fixed" ambiguity and a green (1).
      4. You will probably need to change the settings to improve the trajectory (and the below graphs) See here for things to try.
      5. Iterate as often as needed
    8. When processing is complete, the track will be coloured according to the quality of the data. The important parts should be green!
    9. Click the graph button (or Output -> Plot GPS Data) and review the error estimates.
      1. To get time periods for the important parts of the track, left click on points on the track and note the time.
      2. To restrict the display on a graph, right click on points to set start/end time or to restrict the Y range.
      3. Important statistics (remember these are just estimates and not based on ground truth!):
        1. Number of satellites (BAR)- needs to be 5+ for a chance of adequate data quality
        2. Combined separation - displays the difference between the forward and reverse solutions for each axis - want the error to be small (<10cm for X & Y, < 30cm for Z) and the separation tiny.
        3. (mggr needs to transcribe the rest from notes)
    10. When happy you have the best you can, click Output -> Export to PosProc. Then save and exit POSGPS (goes back to POSPac)
  4. Run POSProc.
    1. Change the Proc. filename kernel to YYYYJJJ.
    2. Make sure "Post-Process GPS" is ticked - if it's not there, you didn't save the POSGPS output correctly!
    3. Click the Subsystem setup button and enter the reference -> IMU lever arm offsets from the table below. Note that the reference axes have positive Z DOWN and positive Y to starboard (numbers below are correct for this).
    4. Run the process - read the messages for errors again!
  5. You should now have a sbet file in .../Proc/sbet_YYYYJJJ.out - this is what's needed for processing
  6. Save project and exit POSPAC

To check on the right coordinates of OS active stations, see the link below

Base station data not 1 second resolution? Resample (interpolate using posgps). While this doesn't improve the data, it apparently makes it more evenly applied (no internal interpolation?). Unverified.

Exporting Grafnav Result to POSPAC

If you have already done navigation processing in grafnav you can export the results to POSPAC. This saves doing the GNSS processing two times (one for LiDAR IMU and one for Applanix IMU). The version of Grafnav is newer than the POSGNSS version and should be used instead of POSGNSS.

When the solution in Grafnav is ready to be exported, save the project and go into POSGNSS. Open the Grafnav project into POSGNSS, ignore warnings about being an older version. Then click the "combine GNSS" or "combine PPP" button. This will load in the previous solution. This can then be exported to POSProc as per usual. If the "combine" buttons are not highlighted, then you can goto the menu and select combine solutions, select the files and load in the forward and reverse ones.

Optional extras

Output as ASCII - this isn't used for processing, but you might want to be able to look through the position estimates manually/programmatically. Note this is how you obtain external nav files for CaliGeo.

  1. Hit Grid and ensure that all options (projection, UTM zone, etc) are appropriate for the dataset.
  2. Hit 'OUTPUT', hit 'ok' (or hit XYZ button)

View the trajectory

Reference to IMU Lever arm offsets

(To be entered in PosProc software - adjusted for software orientation)

Year X Y Z
2006 1.068 0.182 1.489
2007 Use 2006 :S Use 2006 :S Use 2006 :S
2008 Use 2006 :S Use 2006 :S Use 2006 :S
2009 Use 2006 :S Use 2006 :S Use 2006 :S
2010 Use 2006 :S Use 2006 :S Use 2006 :S
2011 Use 2006 :S Use 2006 :S Use 2006 :S

N.B. Some of the 2006, 2007 data has a preset IMU lever arm offset of 0.907, 0.190, 1.783 - not sure where this comes from, perhaps coords noted on the plane? Dave Davis has said to use the 1.068, 0.182, 1.489 offsets.

Basestation handling

Automatic basestations

Free basestation data (from Nico@Applanix):

Coming to one data set: You may know that you can download base
station data from the IGS service. These stations are free of charge
and you can download them from inside of POSGNSS.

You should try to download free base stations from POSGNSS. The tool
can be found under >>Tools/Download service data<<.

Go to tab >>add closest<< and enter coordinates of interest and hit
>>find stations<<. Select the stations that are close enough.

Got to >>download<< tab and define the path, date, start time, length
of flight and interpolate to 1 second data. Then click download.

International base stations

Mostly the same as for UK - just make sure the position is correct and in the correct datum (may need transformation or conversion).

UK Rinex base stations


Since moving to Smartnet, it appears the positioning information provided in the files is correct and doesn't need any conversion. If your file extension is .09o you don't need to do anything else.


For the UK Rinex stations, the position is provided as Earth-centered Cartesian coordinates (XYZ) in the ETRS89 datum (directly compatible with WGS-84, just more exacting). As they're compatible, these coordinates just need to be converted to WGS-84 lat/longs for POSGPS. If we were coming from or going to a different datum/coordinate system (e.g. OS National Grid), we would need to do a coordinate transformation rather than conversion - this is complicated!

For the O/S UK GPS network (Rinex format files), the .07o file has a header like this:

     2.1            OBSERVATION DATA    G (GPS)             RINEX VERSION / TYPE
GPServer 2.50 2620  Rinex Merge         11-May-07 08:03:46  PGM / RUN BY / DATE
NEOT                                                        MARKER NAME
                                                            MARKER NUMBER
National GPS Network Ordnance Survey                        OBSERVER / AGENCY
0036227             LEICA SR530         4.20                REC # / TYPE / VERS
     0                                                      RCV CLOCK OFFS APPL
102098              LEIAT504        LEIS                    ANT # / TYPE
  3918702.4172    -7624.0107  5015612.3424                  APPROX POSITION XYZ
        0.0000        0.0000        0.0000                  ANTENNA: DELTA H/E/N
     1     1     0                                          WAVELENGTH FACT L1/2
     5    C1    P2    L1    L2    D1                        # / TYPES OF OBSERV
     1.000                                                  INTERVAL
  2007     5    10     9     0    0.0000000     GPS         TIME OF FIRST OBS
APPROX POSITION XYZ replaced by precise ETRS89 values       COMMENT
                                                            END OF HEADER

Note the ANT # / TYPE line and the ANTENNA: DELTA H/E/N for antenna details.

The APPROX POSITION XYZ is the precise ETRS89 X,Y,Z location (see COMMENT sections to confirm this it says it's precise). This must be converted to a WGS-84 lat/long:

  1. Go to and get the coordinate conversion spreadsheet (or see attachment)
  2. Enter the coordinates from the APPROX POSITION field in the .07o file into the XYZ fields on the Enter Coords here sheet, clearing the other fields
  3. Check the constants are set for WGS-84
  4. Take the lat/long/ellipsoidal height from the XYZ to lat,long,H sheet and enter into POSGPS (you may want to save these as a favourite too)

PPP Processing (when no base station data is available)

Follow the standard method to the point of adding the remote gpb file.

  • Settings -> Load Settings From -> Airborne PPP
  • Process -> Process PPP (single point)
    • Hit Precise tab. Ensure start and end dates entered are correctly and hit download. This will download precise clock and ephemeris files. Add these files when you are prompted.
    • Hit Process when you are happy with all other settings.
  • Check the quality of the data (especially the track colour (bright green is best) and 'Combined Separation' Plot).
    • If the quality is not satisfactory, alter settings and reprocess. (Note: The reported quality of data using the PPP processing method does not seem to be consistently repeatable. e.g. When processing the data with the same settings consecutively, the track colour and combined separation plot tend to vary).
  • Follow standard processing method from exporting to PosProc.

Note: If you get: "error: cannot find DCB epoch within <n> weeks of gps week <n>", the only way around this has appears to be using (the latest version of) grafnav instead of POSGNSS. After you get acceptable results you can then save as a PSGNSS project and carry on back in POSGNSS.

Note from Nico on practicalities of PPP:

PPP might not be a good solution here. This method requires a long time of data
logging before the flight mission and afterwards. If I say long, I mean around
30 minutes.

This time is required before the algorithm can converge yielding a solution. So,
whenever you plan to use PPP in the future please make sure you log enough data
before you take off and after landing.

Todo: add in detailed notes from Applanix training course

Attachments (1)

Download all attachments as: .zip