Skip to content
Snippets Groups Projects

Resolve "load from rinex outside classes"

Merged Pep Martí Saumell requested to merge 12-load-from-rinex-outside-classes into devel
1 file
+ 63
72
Compare changes
  • Side-by-side
  • Inline
@@ -35,83 +35,74 @@ int main(int argc, char* argv[])
// load observations from RINEX file
std::vector<Observations> obs_rinex =
loadObservationsFromRinex("../src/examples/rover_sample.obs", t_start, t_end, dt, opt);
loadObservationsFromRinex("../src/examples/sample_data.obs", t_start, t_end, dt, opt);
observations = obs_rinex[0];
observations.print();
std::cout << "Number of epochs: " << obs_rinex.size() << std::endl;
// RTKLIB trace
char str_file[80];
snprintf(str_file, sizeof str_file, "../src/examples/trace");
tracelevel(5);
traceopen(str_file);
observations = obs_rinex.back();
for (auto obs = observations.getObservations().begin(); obs != observations.getObservations().end(); ++obs)
{
printf("Satellite number: %u \n",obs->sat);
}
// load navigation from RINEX file
navigation.loadFromRinex("../src/examples/sample_data.nav", t_start, t_end, dt, opt);
navigation.print();
// observations = obs_rinex[0];
// observations.print();
// Trace close
// traceclose();
// RTKLIB trace
// char str_file[80];
// snprintf(str_file, sizeof str_file, "../src/examples/trace");
// tracelevel(5);
// traceopen(str_file);
/* Set processing options */
// load navigation from RINEX file
// navigation.loadFromRinex("../src/examples/sample_data.nav", t_start, t_end, dt, opt);
// navigation.print();
// // Trace close
// // traceclose();
// /* Set processing options */
// /* header */
// std::cout << "------------------" << std::endl;
// std::cout << "Processing options" << std::endl;
// std::cout << "------------------" << std::endl;
// prcopt_t prcopt = prcopt_default;
// prcopt.mode = PMODE_SINGLE;
// prcopt.soltype = 0;
// prcopt.nf = 1;
// prcopt.navsys = SYS_GPS;
// prcopt.elmin = 0.525; // 60 degrees = 1.05 rad
// prcopt.sateph = EPHOPT_BRDC;
// prcopt.ionoopt = IONOOPT_OFF;
// prcopt.tropopt = TROPOPT_OFF;
// prcopt.dynamics = 0;
// prcopt.tidecorr = 0;
// prcopt.sbascorr = SBSOPT_FCORR;
// prcopt.ru[0] = 0; // 4789374.0336;
// prcopt.ru[1] = 0; // 177048.3292;
// prcopt.ru[2] = 0; // 4194542.6444;
// std::cout << "Processing options defined" << std::endl;
// Eigen::Vector3d lla_gt(41.383293114 * M_PI / 180.0, 2.116101115 * M_PI / 180.0, -91.6641);
// // Compute spp
// /* header */
// std::cout << "-----------" << std::endl;
// std::cout << "pntpos call" << std::endl;
// std::cout << "-----------" << std::endl;
// int stat;
// sol_t solb = { { 0 } };
// char msg[128] = "";
// stat = pntpos(observations.data(), observations.size(), &navigation.getNavigation(), &prcopt, &solb, NULL, NULL,
// msg);
// std::cout << "msg: " << msg << std::endl;
// std::cout << "sol.stat: " << int(solb.stat) << std::endl;
// std::cout << "Position: " << solb.rr[0] << ", " << solb.rr[1] << ", " << solb.rr[2] << std::endl;
// std::cout << "Position (GT): " << latLonAltToEcef(lla_gt).transpose() << std::endl;
// std::cout << "Position LLA: " << ecefToLatLonAlt(Eigen::Vector3d(solb.rr[0], solb.rr[1],
// solb.rr[2])).transpose()
// << std::endl;
// std::cout << "Position LLA (GT): " << lla_gt.transpose() << std::endl;
/* header */
std::cout << "------------------" << std::endl;
std::cout << "Processing options" << std::endl;
std::cout << "------------------" << std::endl;
prcopt_t prcopt = prcopt_default;
prcopt.mode = PMODE_SINGLE;
prcopt.soltype = 0;
prcopt.nf = 1;
prcopt.navsys = SYS_GPS;
prcopt.elmin = 0.525; // 60 degrees = 1.05 rad
prcopt.sateph = EPHOPT_BRDC;
prcopt.ionoopt = IONOOPT_OFF;
prcopt.tropopt = TROPOPT_OFF;
prcopt.dynamics = 0;
prcopt.tidecorr = 0;
prcopt.sbascorr = SBSOPT_FCORR;
prcopt.ru[0] = 0; // 4789374.0336;
prcopt.ru[1] = 0; // 177048.3292;
prcopt.ru[2] = 0; // 4194542.6444;
std::cout << "Processing options defined" << std::endl;
Eigen::Vector3d lla_gt(41.383293114 * M_PI / 180.0, 2.116101115 * M_PI / 180.0, -91.6641);
// Compute spp
/* header */
std::cout << "-----------" << std::endl;
std::cout << "pntpos call" << std::endl;
std::cout << "-----------" << std::endl;
int stat;
sol_t solb = { { 0 } };
char msg[128] = "";
stat = pntpos(observations.data(), observations.size(), &navigation.getNavigation(), &prcopt, &solb, NULL, NULL,
msg);
std::cout << "msg: " << msg << std::endl;
std::cout << "sol.stat: " << int(solb.stat) << std::endl;
std::cout << "Position: " << solb.rr[0] << ", " << solb.rr[1] << ", " << solb.rr[2] << std::endl;
std::cout << "Position (GT): " << latLonAltToEcef(lla_gt).transpose() << std::endl;
std::cout << "Position LLA: " << ecefToLatLonAlt(Eigen::Vector3d(solb.rr[0], solb.rr[1],
solb.rr[2])).transpose()
<< std::endl;
std::cout << "Position LLA (GT): " << lla_gt.transpose() << std::endl;
// traceclose();
}
Loading