Changeset 6270 in ntrip
- Timestamp:
- Oct 31, 2014, 5:45:25 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/rinex/reqcanalyze.h
r6269 r6270 34 34 class t_polarPoint; 35 35 36 class t_ availData{36 class t_qcObs { 37 37 public: 38 QVector<double> _L1ok; 39 QVector<double> _L2ok; 40 QVector<double> _L1slip; 41 QVector<double> _L2slip; 42 QVector<double> _L1gap; 43 QVector<double> _L2gap; 44 QVector<double> _eleDeg; 45 QVector<double> _eleTim; 38 t_qcObs() { 39 _hasL1 = false; 40 _hasL2 = false; 41 _slipL1 = false; 42 _slipL2 = false; 43 _gapL1 = false; 44 _gapL2 = false; 45 _slotSet = false; 46 _slotNum = 0; 47 _MP1 = 0.0; 48 _MP2 = 0.0; 49 _SNR1 = 0.0; 50 _SNR2 = 0.0; 51 } 52 t_irc set(const t_satObs& obs); 53 double _eleDeg; 54 double _azDeg; 55 bool _hasL1; 56 bool _hasL2; 57 bool _slipL1; 58 bool _slipL2; 59 bool _gapL1; 60 bool _gapL2; 61 bool _slotSet; 62 int _slotNum; 63 double _MP1; 64 double _MP2; 65 double _SNR1; 66 double _SNR2; 46 67 }; 47 68 48 class t_ prnStat{69 class t_qcEpo { 49 70 public: 50 t_prnStat() { 71 bncTime _epoTime; 72 double _PDOP; 73 QMap<t_prn, t_qcObs> _qcObs; 74 }; 75 76 class t_qcSat { 77 public: 78 t_qcSat() { 51 79 _numObs = 0; 52 80 _numSlipsFlagged = 0; … … 60 88 }; 61 89 62 class t_ obsStat{90 class t_qcFile { 63 91 public: 64 void reset() { 65 _mjdX24.clear(); 66 _numSat.clear(); 67 _PDOP.clear(); 68 _prnStat.clear(); 69 } 70 QVector<double> _mjdX24; 71 QVector<double> _numSat; 72 QVector<double> _PDOP; 73 bncTime _startTime; 74 bncTime _endTime; 75 QString _antennaName; 76 QString _markerName; 77 QString _receiverType; 78 double _interval; 79 QMap<t_prn, t_prnStat> _prnStat; 92 t_qcFile() {clear();} 93 void clear() {_qcSat.clear(); _qcEpo.clear();} 94 bncTime _startTime; 95 bncTime _endTime; 96 QString _antennaName; 97 QString _markerName; 98 QString _receiverType; 99 double _interval; 100 QMap<t_prn, t_qcSat> _qcSat; 101 QVector<t_qcEpo> _qcEpo; 102 QVector<t_qcEpo> _qcEpoSampled; 80 103 }; 81 104 … … 85 108 public: 86 109 t_reqcAnalyze(QObject* parent); 110 virtual void run(); 87 111 88 112 protected: … … 91 115 signals: 92 116 void finished(); 93 void dspSkyPlot(const QString&,94 const QByteArray&,95 QVector<t_polarPoint*>*,96 const QByteArray&,97 QVector<t_polarPoint*>*,98 const QByteArray&, double);99 117 100 void dspAvailPlot(const QString&, const QByteArray&); 101 102 private slots: 103 void slotDspSkyPlot(const QString& fileName, 104 const QByteArray& title1, 105 QVector<t_polarPoint*>* data1, 106 const QByteArray& title2, 107 QVector<t_polarPoint*>* data2, 108 const QByteArray& scaleTitle, double maxValue); 118 private: 119 void analyzeFile(t_rnxObsFile* obsFile); 109 120 110 void slotDspAvailPlot(const QString& fileName, const QByteArray& title);121 void updateQcSat(const t_qcObs& qcObs, t_qcSat& qcSat); 111 122 112 public: 113 virtual void run(); 114 115 private: 116 class t_oneObs { 117 public: 118 t_oneObs(int GPSWeek, double GPSWeeks) { 119 _GPSWeek = GPSWeek; 120 _GPSWeeks = GPSWeeks; 121 _hasL1 = false; 122 _hasL2 = false; 123 _slipL1 = false; 124 _slipL2 = false; 125 _MP1 = 0.0; 126 _MP2 = 0.0; 127 _SNR1 = 0.0; 128 _SNR2 = 0.0; 129 _slotSet = false; 130 } 131 int _GPSWeek; 132 double _GPSWeeks; 133 bool _hasL1; 134 bool _hasL2; 135 bool _slipL1; 136 bool _slipL2; 137 double _MP1; 138 double _MP2; 139 double _SNR1; 140 double _SNR2; 141 bool _slotSet; 142 }; 123 t_irc setQcObs(const t_satObs& satObs, t_qcObs& qcObs); 143 124 144 class t_allObs { 145 public: 146 t_allObs() {} 147 ~t_allObs() { 148 for (int ii = 0; ii < _oneObsVec.size(); ii++) { 149 delete _oneObsVec[ii]; 150 } 151 } 152 t_irc addObs(const t_satObs& obs, int slotNum); 153 QVector<t_oneObs*> _oneObsVec; 154 }; 125 void preparePlotData(const t_rnxObsFile* obsFile); 155 126 156 void analyzeFile(t_rnxObsFile* obsFile);157 void preparePlotData(const t_prn& prn, const ColumnVector& xyzSta,158 double obsInterval,159 QVector<t_polarPoint*>* dataMP1,160 QVector<t_polarPoint*>* dataMP2,161 QVector<t_polarPoint*>* dataSNR1,162 QVector<t_polarPoint*>* dataSNR2);163 void prepareObsStat(unsigned iEpo, double obsInterval,164 const ColumnVector& xyzSta);165 127 double cmpDOP(const ColumnVector& xyzSta) const; 166 void printReport(QVector<t_polarPoint*>* dataMP1,167 QVector<t_polarPoint*>* dataMP2,168 QVector<t_polarPoint*>* dataSNR1,169 QVector<t_polarPoint*>* dataSNR2);170 128 171 QString _logFileName; 172 QFile* _logFile; 173 QTextStream* _log; 174 QStringList _obsFileNames; 175 QVector<t_rnxObsFile*> _rnxObsFiles; 176 QStringList _navFileNames; 177 QVector<t_eph*> _ephs; 178 t_rnxObsFile::t_rnxEpo* _currEpo; 179 QMap<t_prn, t_allObs> _allObsMap; 180 QMap<t_prn, t_availData> _availDataMap; 181 t_obsStat _obsStat; 182 QMutex _mutex; 129 void dspSkyPlot(const QString& fileName, const QByteArray& title1, 130 QVector<t_polarPoint*>* data1, const QByteArray& title2, 131 QVector<t_polarPoint*>* data2, const QByteArray& scaleTitle, double maxValue); 132 133 void dspAvailPlot(const QString& fileName, const QByteArray& title); 134 135 void printReport(); 136 137 QString _logFileName; 138 QFile* _logFile; 139 QTextStream* _log; 140 QStringList _obsFileNames; 141 QVector<t_rnxObsFile*> _rnxObsFiles; 142 QStringList _navFileNames; 143 QVector<t_eph*> _ephs; 144 t_rnxObsFile::t_rnxEpo* _currEpo; 145 t_qcFile _qcFile; 146 QMutex _mutex; 183 147 }; 184 148
Note:
See TracChangeset
for help on using the changeset viewer.