コード例 #1
0
ファイル: OrbSysGpsC_30.cpp プロジェクト: SGL-UT/GPSTk
   void OrbSysGpsC_30::dumpBody(ostream& s) const
      throw( InvalidRequest )
   {
      if (!dataLoadedFlag)
      {
         InvalidRequest exc("Required data not stored.");
         GPSTK_THROW(exc);
      }

      s << endl
        << "           GROUP DELAY CORRECTIONS"
        << endl
        << "Parameter    Avail?     Value" << endl;

      s.setf(ios::scientific, ios::floatfield);
      s.precision(8);
      s.setf(ios::right, ios::adjustfield);
      s.fill(' ');

      s << "Tgd            ";
      if (avail_Tgd)
         s << "Y       " << setw(16) << Tgd << endl;
      else 
         s << "N" << endl;

      s << "ISC(L1CA)      ";
      if (avail_L1CA)
         s << "Y       " << setw(16) << ISC_L1CA << endl;
      else 
         s << "N" << endl;

      s << "ISC(L2C)       ";
      if (avail_L2C)
         s << "Y       " << setw(16) << ISC_L2C << endl;
      else 
         s << "N" << endl;

      s << "ISC(L5I5)      ";
      if (avail_L5I5)
         s << "Y       " << setw(16) << ISC_L5I5 << endl;
      else 
         s << "N" << endl;

      s << "ISC(L5Q5)      ";
      if (avail_L5Q5)
         s << "Y       " << setw(16) << ISC_L5Q5 << endl;
      else 
         s << "N" << endl;

      s << endl
        << "           IONOSPHERIC PARAMETERS"
        << endl;
      s << "  Alpha 0: " << setw(16) << alpha[0] << " sec       "
        << "   Beta 0: " << setw(16) << beta[0]  << " sec       " << endl;
      s << "  Alpha 1: " << setw(16) << alpha[1] << " sec/rad   "
        << "   Beta 1: " << setw(16) << beta[1]  << " sec/rad   " << endl;
      s << "  Alpha 2: " << setw(16) << alpha[2] << " sec/rad**2"
        << "   Beta 2: " << setw(16) << beta[2]  << " sec/rad**2" << endl;
      s << "  Alpha 3: " << setw(16) << alpha[3] << " sec/rad**3"
        << "   Beta 3: " << setw(16) << beta[3]  << " sec/rad**3" << endl;
   } // end of dumpBody()   
コード例 #2
0
ファイル: CNAVEphemeris.cpp プロジェクト: idaohang/GPSTk
void CNAVEphemeris :: dump(ostream& s) const
throw()
{
    s.setf(ios::fixed, ios::floatfield);
    s.setf(ios::right, ios::adjustfield);
    s.setf(ios::uppercase);
    s.precision(0);
    s.fill(' ');

    s << "****************************************************************"
      << "************" << endl
      << "CNAV Message Types 10 and 11" << endl
      << endl
      << "PRN : " << setw(2) << PRNID << "      "
      << "System : " << satSys << "      "
      << "Carrier: " << ObsID::cbDesc[obsID.band] << "      "
      << "Code: " << ObsID::tcDesc[obsID.code] << endl << endl;


    s << "                  Week        SOW     DOW   UTD     SOD"
      << "   MM/DD/YYYY   HH:MM:SS\n";
    s << "Transmit Time:  ";

    timeDisplay(s, getTransmitTime());
    s << endl;
    s << "Time of Predict:";
    timeDisplay(s, getTimeOfPrediction());
    s << endl;

    s << endl
      << "          ACCURACY PARAMETERS"
      << endl
      << endl
      << "URAoe index:  " << setw(4) << orbit.getURAoe() << endl;

    s.setf(ios::scientific, ios::floatfield);
    s.precision(11);

    s << endl
      << "           SIGNAL PARAMETERS"
      << endl
      << endl
      << "L1 Health bit:  " << setw(2) << L1Health << endl
      << "L2 Health bit:  " << setw(2) << L2Health << endl
      << "L5 Health bit:  " << setw(2) << L5Health << endl
      << setfill(' ') << endl;

    s << endl
      << "           ORBIT PARAMETERS"
      << endl
      << endl
      << "Semi-major axis:       " << setw(18) << orbit.getAhalf()  << " m**.5" << endl
      << "Motion correction:     " << setw(18) << orbit.getDn()     << " rad/sec"
      << endl
      << "Eccentricity:          " << setw(18) << orbit.getEcc()    << endl
      << "Arg of perigee:        " << setw(18) << orbit.getW()      << " rad" << endl
      << "Mean anomaly at epoch: " << setw(18) << orbit.getM0()     << " rad" << endl
      << "Right ascension:       " << setw(18) << orbit.getOmega0() << " rad    "
      << setw(18) << orbit.getOmegaDot() << " rad/sec" << endl
      << "Inclination:           " << setw(18) << orbit.getI0()     << " rad    "
      << setw(18) << orbit.getIDot()     << " rad/sec" << endl;

    s << endl
      << "           HARMONIC CORRECTIONS"
      << endl
      << endl
      << "Radial        Sine: " << setw(18) << orbit.getCrs() << " m    Cosine: "
      << setw(18) << orbit.getCrc() << " m" << endl
      << "Inclination   Sine: " << setw(18) << orbit.getCis() << " rad  Cosine: "
      << setw(18) << orbit.getCic() << " rad" << endl
      << "In-track      Sine: " << setw(18) << orbit.getCus() << " rad  Cosine: "
      << setw(18) << orbit.getCuc() << " rad" << endl;

    s << "****************************************************************"
      << "************" << endl;

} // end of CNAVEphemeris::dump()
コード例 #3
0
ファイル: EngAlmanac.cpp プロジェクト: JC5005/GPSTk
   void EngAlmanac::dump(ostream& s, bool checkFlag) const
   {
      ios::fmtflags oldFlags = s.flags();

      s.fill(' ');

      s << "****************************************************************"
        << "***************" << endl
        << "Broadcast Almanac (Engineering Units)" << endl
        << endl;

      s << endl << "           Iono Parameters" << endl << endl;
      s << "Alpha:    " << scientific << setprecision(6);
      for (int i=0; i<4; i++)
         s << setw(13) << alpha[i] << "  ";
      s << " various" << endl;
      s << " Beta:    " << fixed << setprecision(1);
      for (int i=0; i<4; i++)
         s << setw(13) << beta[i] << "  ";
      s << " various" << endl;

      s << endl << "           UTC Paramters" << endl << endl;
      s << scientific << setprecision(8)
        << "A0:       " << setw(15) << A0      << " sec" << endl
        << "A1:       " << setw(15) << A1      << " sec/sec" << endl
        << fixed << setprecision(1)
        << "dt_ls:    " << setw(15) << dt_ls   << " sec" << endl
        << "t_ot:     " << setw(15) << t_ot    << " sec" << endl
        << "wn_t:     " << setw(15) << wn_t    << " week" << endl
        << "wn_lsf    " << setw(15) << wn_lsf  << " week" << endl
        << "dn:       " << setw(15) << (int)dn << " days" << endl
        << "dt_lsf:   " << setw(15) << dt_lsf  << " sec" << endl;

      s << endl << "           Orbit Parameters" << endl << endl;
      for (AlmOrbits::const_iterator i = almPRN.begin(); i != almPRN.end(); i++)
         s<< scientific << (*i).second;

      s << endl << "           Special Message" << endl << endl;
      StringUtils::hexDumpData(s, special_msg);


      s << endl << "           Page 25 Health, AS, & SV config" << endl << endl;

      s << "Toa:    " << setfill(' ') << setw(8) << t_oa
        << ", week: " << setw(5) << wn_a << " (" << alm_wk << ")" << endl << endl
        << "PRN   health  AS  cfg    PRN   health  AS  cfg" << endl;
      string bits[33];

      for (SVBitsMap::const_iterator i = health.begin(); i != health.end(); i++)
      {
         int prn = i->first;
         if (prn >= 1 && prn <= 32)
            bits[prn] = int2bin(i->second, 6);
      }

      for (SVBitsMap::const_iterator i = SV_config.begin(); i != SV_config.end(); i++)
      {
         int prn = i->first;
         if (prn >= 1 && prn <= 32)
         {
            bits[prn] += "  " + int2bin(i->second, 4);
            bits[prn].insert(9, "   ");
         }
      }

      for (int i=1; i<=16; i++)
         s << setw(2) << i    << "    " << bits[i] << "    "
           << setw(2) << i+16 << "    " << bits[i+16] << endl;

      s << endl;

      if (checkFlag)
         check(s);

      s << endl;

      s.flags(oldFlags);
   } // end of dump()