Changeset 7920 in ntrip
- Timestamp:
- May 24, 2016, 11:06:34 AM (8 years ago)
- Location:
- branches/BNC_2.12/src/rinex
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/BNC_2.12/src/rinex/reqcanalyze.cpp
r7913 r7920 217 217 for (unsigned iObs = 0; iObs < _currEpo->rnxSat.size(); iObs++) { 218 218 const t_rnxObsFile::t_rnxSat& rnxSat = _currEpo->rnxSat[iObs]; 219 if (_navFileNames.size() && 220 _numExpObs.find(rnxSat.prn) == _numExpObs.end()) { 221 _numExpObs[rnxSat.prn] = 0; 222 } 219 223 if (_signalTypes.find(rnxSat.prn.system()) == _signalTypes.end()) { 220 224 continue; … … 230 234 231 235 analyzeMultipath(); 236 237 if (_navFileNames.size()) { 238 setExpectedObs(_qcFile._startTime, _qcFile._endTime, _qcFile._interval, xyzSta); 239 } 232 240 233 241 preparePlotData(obsFile); … … 807 815 .arg(obsFile->antNEU()(1), 8, 'f', 4) << endl 808 816 << "Start Time : " << _qcFile._startTime.datestr().c_str() << ' ' 809 << _qcFile._startTime.timestr(1,'.').c_str() << endl817 << _qcFile._startTime.timestr(1,'.').c_str() << endl 810 818 << "End Time : " << _qcFile._endTime.datestr().c_str() << ' ' 811 << _qcFile._endTime.timestr(1,'.').c_str() << endl819 << _qcFile._endTime.timestr(1,'.').c_str() << endl 812 820 << "Interval : " << _qcFile._interval << endl; 813 814 int numPossibleObs = int((_qcFile._endTime - _qcFile._startTime + _qcFile._interval)/_qcFile._interval);815 821 816 822 // Number of systems … … 847 853 } 848 854 855 // System specific summary 856 // ----------------------- 849 857 itSys.toFront(); 850 858 while (itSys.hasNext()) { … … 852 860 const QChar& sys = itSys.key(); 853 861 const QVector<const t_qcSatSum*>& qcSatVec = itSys.value(); 862 int numExpectedObs = 0; 863 for(QMap<t_prn, int>::iterator it = _numExpObs.begin(); 864 it != _numExpObs.end(); it++) { 865 if (sys == it.key().system()) { 866 numExpectedObs += it.value(); 867 } 868 } 854 869 QString prefixSys = QString(" ") + sys + QString(": "); 855 870 QMap<QString, QVector<const t_qcFrqSum*> > frqMap; … … 881 896 const QVector<const t_qcFrqSum*> qcFrqVec = itFrq.value(); 882 897 QString prefixFrq = QString(" ") + frqType + QString(": "); 883 884 898 int numObs = 0; 885 899 int numSlipsFlagged = 0; … … 907 921 sumMP /= numMP; 908 922 } 909 double ratio = double(numObs) / ((double(numPossibleObs) * double(qcSatVec.size()))); 923 924 double ratio = (double(numObs) / double(numExpectedObs)) * 100.0; 925 910 926 *_log << endl 911 << prefixSys2 << prefixFrq << "Observations : " 912 << QString("%1 (%2) %3 \%\n").arg(numObs, 6).arg(numPossibleObs*qcSatVec.size(), 8).arg(ratio*100.0, 8, 'f', 2) 913 << prefixSys2 << prefixFrq << "Slips (file+found): " << QString("%1 +").arg(numSlipsFlagged, 8) 927 << prefixSys2 << prefixFrq << "Observations : "; 928 if(_navFileNames.isEmpty() || _navFileIncomplete.contains(sys.toLatin1())) { 929 *_log << QString("%1\n").arg(numObs, 6); 930 } 931 else { 932 *_log << QString("%1 (%2) %3 \%\n").arg(numObs, 6).arg(numExpectedObs, 8).arg(ratio, 8, 'f', 2); 933 } 934 *_log << prefixSys2 << prefixFrq << "Slips (file+found): " << QString("%1 +").arg(numSlipsFlagged, 8) 914 935 << QString("%1\n").arg(numSlipsFound, 8) 915 936 << prefixSys2 << prefixFrq << "Gaps : " << QString("%1\n").arg(numGaps, 8) … … 1060 1081 } 1061 1082 } 1083 1084 void t_reqcAnalyze::setExpectedObs(const bncTime& startTime, const bncTime& endTime, 1085 double interval, const ColumnVector& xyzSta) { 1086 1087 for(QMap<t_prn, int>::iterator it = _numExpObs.begin(); 1088 it != _numExpObs.end(); it++) { 1089 t_eph* eph = 0; 1090 for (int ie = 0; ie < _ephs.size(); ie++) { 1091 if (_ephs[ie]->prn().system() == it.key().system() && 1092 _ephs[ie]->prn().number() == it.key().number()) { 1093 eph = _ephs[ie]; 1094 break; 1095 } 1096 } 1097 if (eph) { 1098 int numExpObs = 0; 1099 bncTime epoTime; 1100 for (epoTime = startTime - interval; epoTime < endTime; 1101 epoTime = epoTime + interval) { 1102 ColumnVector xc(4); 1103 ColumnVector vv(3); 1104 if ( xyzSta.size() == 3 && (xyzSta[0] != 0.0 || xyzSta[1] != 0.0 || xyzSta[2] != 0.0) && 1105 eph->getCrd(epoTime, xc, vv, false) == success) { 1106 double rho, eleSat, azSat; 1107 topos(xyzSta(1), xyzSta(2), xyzSta(3), xc(1), xc(2), xc(3), rho, eleSat, azSat); 1108 if ((eleSat * 180.0/M_PI) > 0.0) { 1109 numExpObs++; 1110 } 1111 } 1112 } 1113 it.value() = numExpObs; 1114 } 1115 else { 1116 if (!_navFileIncomplete.contains(it.key().system())) { 1117 _navFileIncomplete.append(it.key().system()); 1118 } 1119 } 1120 } 1121 } -
branches/BNC_2.12/src/rinex/reqcanalyze.h
r7628 r7920 176 176 const t_satObs& satObs, QMap<QString, bncTime>& lastObsTime, t_qcSat& qcSat); 177 177 178 void setExpectedObs(const bncTime& startTime, const bncTime& endTime, 179 double interval, const ColumnVector& xyzSta); 180 178 181 void analyzeMultipath(); 179 182 … … 192 195 QString _reqcPlotSignals; 193 196 QMap<char, QVector<QString> > _signalTypes; 197 QMap<t_prn, int> _numExpObs; 198 QVector<char> _navFileIncomplete; 194 199 QStringList _defaultSignalTypes; 195 200 QVector<t_eph*> _ephs;
Note:
See TracChangeset
for help on using the changeset viewer.