Ignore:
Timestamp:
Feb 28, 2025, 5:53:12 PM (8 hours ago)
Author:
stuerze
Message:

bug fixes egarding RINEX Editing and QC

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/rinex/reqcanalyze.cpp

    r10605 r10614  
    7575  analyzePlotSignals();
    7676
     77  _checkEph = true;
     78
    7779  qRegisterMetaType< QVector<t_skyPlotData> >("QVector<t_skyPlotData>");
    7880
     
    121123  }
    122124
    123   // Check Ephemerides
    124   // -----------------
    125   checkEphemerides();
    126 
    127125  // Initialize RINEX Observation Files
    128126  // ----------------------------------
     
    131129  // Read Ephemerides
    132130  // ----------------
    133   t_reqcEdit::readEphemerides(_navFileNames, _ephs);
     131  t_reqcEdit::readEphemerides(_navFileNames, _ephs, _log, _checkEph);
    134132
    135133  // Loop over all RINEX Files
     
    968966//
    969967////////////////////////////////////////////////////////////////////////////
    970 void t_reqcAnalyze::checkEphemerides() {
    971 
    972   QString navFileName;
    973   QStringListIterator namIt(_navFileNames);
    974   bool firstName = true;
    975   while (namIt.hasNext()) {
    976     QFileInfo navFi(namIt.next());
    977     if (firstName) {
    978       firstName = false;
    979       navFileName += navFi.fileName();
    980     }
    981     else {
    982       navFileName += ", " + navFi.fileName();
    983     }
    984   }
    985   if (_log) {
    986     *_log << "Navigation File(s) : " << navFileName  << Qt::endl;
    987   }
    988   QStringListIterator it(_navFileNames);
    989   while (it.hasNext()) {
    990     const QString& fileName = it.next();
    991     unsigned numOK  = 0;
    992     unsigned numBad = 0;
    993     unsigned numUnhealthy = 0;
    994     bncEphUser ephUser(false);
    995     t_rnxNavFile rnxNavFile(fileName, t_rnxNavFile::input);
    996     for (unsigned ii = 0; ii < rnxNavFile.ephs().size(); ii++) {
    997       t_eph* eph = rnxNavFile.ephs()[ii];
    998       ephUser.putNewEph(eph, false);
    999       if      (eph->checkState() == t_eph::bad) {
    1000         ++numBad;
    1001       }
    1002       else if (eph->checkState() == t_eph::unhealthy) {
    1003         ++numUnhealthy;
    1004       }
    1005       else {
    1006         ++numOK;
    1007       }
    1008     }
    1009     if (_log) {
    1010       *_log << "Ephemeris          : " << numOK        << " OK   "
    1011                                        << numUnhealthy << " UNHEALTHY   "
    1012                                        << numBad       << " WRONG\n";
    1013       if (numBad > 0) {
    1014         for (unsigned ii = 0; ii < rnxNavFile.ephs().size(); ii++) {
    1015           t_eph* eph = rnxNavFile.ephs()[ii];
    1016           QFileInfo navFi(fileName);
    1017           if (eph->checkState() == t_eph::bad) {
    1018             *_log  << "                     "
    1019                 << navFi.fileName() << ' ' << QString(": WRONG %2:%3\n")
    1020                            .arg(eph->typeStr(eph->type(), eph->prn(), 99.0))
    1021                            .arg(eph->rinexDateStr(eph->TOC(), eph->prn(), 99.0)).toLatin1();
    1022           }
    1023         }
    1024       }
    1025       *_log << Qt::endl;
    1026     }
    1027   }
    1028 }
    1029 
    1030968void t_reqcAnalyze::setExpectedObs(const bncTime& startTime, const bncTime& endTime,
    1031969                                   double interval, const ColumnVector& xyzSta) {
    1032 
    1033 
    1034970  for(QMap<t_prn, int>::iterator it = _numExpObs.begin(); it != _numExpObs.end(); it++) {
    1035971    t_eph* eph = 0;
Note: See TracChangeset for help on using the changeset viewer.