81 int main(
int argc,
char *argv[])
105 if ( (argc < 3) || (argc > 4) )
107 cerr <<
"Usage:" << endl;
108 cerr <<
" " << argv[0]
109 <<
" <RINEX Obs file> <RINEX Nav file> [<RINEX Met file>]"
122 ndfp = std::make_shared<gnsstk::MultiFormatNavDataFactory>();
126 if (!ndfp->addDataSource(argv[2]))
128 cerr <<
"Failed to read \"" << argv[2] <<
"\"" << endl;
133 list<RinexMetData> rml;
148 tropModelPtr=&ggTropModel;
152 while (rms >> rmd) rml.push_back(rmd);
161 roffs.exceptions(ios::failbit);
175 indexP1 = roh.getObsIndex(
"P1" );
179 cerr <<
"The observation file doesn't have P1 pseudoranges." << endl;
186 indexP2 = roh.getObsIndex(
"P2" );
195 list<RinexMetData>::iterator mi=rml.begin();
198 while ( roffs >> rod )
205 while ( ( argc==4 ) &&
208 ( (*mi).time < rod.
time ) )
217 ggTropModel.
setWeather( (*mi).data[RinexMetHeader::TD],
218 (*mi).data[RinexMetHeader::PR],
219 (*mi).data[RinexMetHeader::HR] );
228 vector<SatID> prnVec;
229 vector<double> rangeVec;
235 Rinex3ObsData::DataMap::const_iterator it;
241 for ( it = rod.
obs.begin(); it!= rod.
obs.end(); it++ )
287 prnVec.push_back( (*it).first );
329 cout << setprecision(12) <<
raimSolver.Solution[0] <<
" " ;
347 cerr <<
"Caught an unexpected exception." << endl;