Changeset 6147 in ntrip for trunk/BNC/src/bncrinex.cpp


Ignore:
Timestamp:
Sep 13, 2014, 8:31:24 PM (10 years ago)
Author:
mervart
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/bncrinex.cpp

    r6139 r6147  
    597597string bncRinex::rinexSatLine(const t_satObs& obs, char lli1, char lli2, char lli5) {
    598598  ostringstream str;
    599 ////  str.setf(ios::showpoint | ios::fixed);
    600 ////
    601 ////  if (_header._version >= 3.0) {
    602 ////    str << obs._prn;
    603 ////  }
    604 ////
    605 ////  const QVector<QString>& types = _header._obsTypes[obs._prn.system()];
    606 ////  for (int ii = 0; ii < types.size(); ii++) {
    607 ////    if (_header._version < 3.0 && ii > 0 && ii % 5 == 0) {
    608 ////      str << endl;
    609 ////    }
    610 ////    for (unsigned iFrq = 0; iFrq < obs._obs.size(); iFrq++) {
    611 ////      const t_frqObs*     frqObs   = obs._obs[iFrq];
    612 ////
    613 ////
    614 ////    double value = obs.measdata(types[ii], _header._version);
    615 ////    str << setw(14) << setprecision(3) << value;
    616 ////    if      (value != 0.0 && types[ii].indexOf("L1") == 0) {
    617 ////      str << lli1 << ' ';
    618 ////    }
    619 ////    else if (value != 0.0 && types[ii].indexOf("L2") == 0) {
    620 ////      str << lli2 << ' ';
    621 ////    }
    622 ////    else if (value != 0.0 && types[ii].indexOf("L5") == 0) {
    623 ////      str << lli5 << ' ';
    624 ////    }
    625 ////    else {
    626 ////      str << "  ";
    627 ////    }
    628 ////  }
     599  str.setf(ios::showpoint | ios::fixed);
     600
     601  if (_header._version >= 3.0) {
     602    str << obs._prn;
     603  }
     604
     605  const QString obsKinds = "LCDS";
     606
     607  char sys = obs._prn.system();
     608  const QVector<QString>& types = _header._obsTypes[sys];
     609  for (int ii = 0; ii < types.size(); ii++) {
     610    if (_header._version < 3.0 && ii > 0 && ii % 5 == 0) {
     611      str << endl;
     612    }
     613    double  obsValue = 0.0;
     614    char    lli      = ' ';
     615    QString rnxType = types[ii];
     616    for (unsigned iFrq = 0; iFrq < obs._obs.size(); iFrq++) {
     617      const t_frqObs* frqObs = obs._obs[iFrq];
     618      for (int ik = 0; ik < obsKinds.length(); ik++) {
     619        QChar ch = obsKinds[ik];
     620        QString obsType  = (ch + QString(frqObs->_rnxType2ch.c_str())).left(rnxType.length());
     621        if (rnxType == obsType) {
     622          if      (ch == 'L' && frqObs->_phaseValid) {
     623            obsValue = frqObs->_phase;
     624            if      (obsType[1] == '1') {
     625              lli = lli1;
     626            }
     627            else if (obsType[1] == '2') {
     628              lli = lli2;
     629            }
     630            else if (obsType[1] == '5') {
     631              lli = lli5;
     632            }
     633          }
     634          else if (ch == 'C' && frqObs->_codeValid) {
     635            obsValue = frqObs->_code;
     636          }
     637          else if (ch == 'D' && frqObs->_dopplerValid) {
     638            obsValue = frqObs->_doppler;
     639          }
     640          else if (ch == 'S' && frqObs->_snrValid) {
     641            obsValue = frqObs->_snr;
     642          }
     643        }
     644      }
     645    }
     646    if (obsValue != 0.0) {
     647      str << setw(14) << setprecision(3) << obsValue << lli << ' ';
     648    }
     649    else {
     650      str << "                ";
     651    }
     652  }
     653
     654  cout << str.str() << endl;
    629655
    630656  return str.str();
Note: See TracChangeset for help on using the changeset viewer.