Skip to content

PostProcessing with goGPS

Emanuele Ziglioli edited this page Jun 2, 2017 · 3 revisions

Introduction

Here the steps to perform post processing with goGPS using RINEX files or UBX binary files (e.g. generated with uCenter)

Define inputs

Simply define ObservationsProducer classes by using the file parser needed for the corresponding file format, in this case ubx file for the rover and RINEX for master and navigation:

ObservationsProducer roverIn = new UBXFileReader(new File("./data/ublox.ubx")); 
ObservationsProducer masterIn = new RinexObservationParser(new File("./data/vrs.11o")); 
NavigationProducer navigationIn = new RinexNavigationParser(new File("./data/vrs.11n"));

Define output

double goodDopThreshold = 2.5; 
int timeSampleDelaySec = 30; // should be tuned according to the dataset; use '0' to disable timestamps in the KML
String outPath = "./test/out.kml"; 
KmlProducer kml = new KmlProducer(outPath, goodDopThreshold, timeSampleDelaySec);

Initialize the input streams

navigationIn.init(); 
roverIn.init(); 
masterIn.init();

Run

Run goGPS in batch mode, with a constant velocity dynamic model for the Kalman filter

GoGPS goGPS = new GoGPS(navigationIn, roverIn, masterIn) 
                  .addPositionConsumerListener(kml) 
                  .setDynamicModel(DynamicModel.CONST_SPEED) //may be also set to constant acceleration or static  
                  .run( RunMode.KALMAN_FILTER_CODE_PHASE_DOUBLE_DIFF );

End properly

roverIn.release(true,10000); 
masterIn.release(true,10000); 
navigationIn.release(true,10000);
Clone this wiki locally