Changeset 6424 in ntrip for trunk/BNC/src/rinex
- Timestamp:
- Dec 23, 2014, 2:48:12 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/BNC/src/rinex/reqcanalyze.cpp ¶
r6423 r6424 519 519 void t_reqcAnalyze::preparePlotData(const t_rnxObsFile* obsFile) { 520 520 521 QString mp1Title 522 QString mp2Title 523 QString sn r1Title = "Signal-to-Noise Ratio\n";524 QString sn r2Title = "Signal-to-Noise Ratio\n";521 QString mp1Title = "Multipath\n"; 522 QString mp2Title = "Multipath\n"; 523 QString sn1Title = "Signal-to-Noise Ratio\n"; 524 QString sn2Title = "Signal-to-Noise Ratio\n"; 525 525 526 526 bncSettings settings; 527 527 QStringList signalsOpt = settings.value("reqcSkyPlotSignals").toString().split(" ", QString::SkipEmptyParts); 528 QMap<char, QVector<QString> > signalsMap; 528 QMap<char, QString> signalTypes1; 529 QMap<char, QString> signalTypes2; 529 530 for (int ii = 0; ii < signalsOpt.size(); ii++) { 530 531 QStringList hlp = signalsOpt.at(ii).split(QRegExp("[:&]"), QString::SkipEmptyParts); 531 532 if (hlp.size() > 1 && hlp[0].length() == 1) { 532 for (int jj = 1; jj < hlp.size(); jj++) { 533 signalsMap[hlp[0].toAscii().constData()[0]] << hlp[jj]; 534 if (jj == 1) { 535 mp1Title += hlp[0] + ":" + hlp[jj] + " "; 536 snr1Title += hlp[0] + ":" + hlp[jj] + " "; 537 } 538 else if (jj == 2) { 539 mp2Title += hlp[0] + ":" + hlp[jj] + " "; 540 snr2Title += hlp[0] + ":" + hlp[jj] + " "; 541 } 542 } 543 } 544 } 545 546 547 bool plotGPS = false; 548 bool plotGlo = false; 549 bool plotGal = false; 550 bool plotQZSS = false; 551 bool plotSBAS = false; 552 bool plotBDS = false; 553 char freq1 = '1'; 554 char freq2 = '2'; 555 556 QString reqSkyPlotSystems = "ALL"; 557 if (reqSkyPlotSystems == "GPS") { 558 plotGPS = true; 559 } 560 else if (reqSkyPlotSystems == "GLONASS") { 561 plotGlo = true; 562 } 563 else if (reqSkyPlotSystems == "Galileo") { 564 plotGal = true; 565 freq2 = '5'; 566 } 567 else if (reqSkyPlotSystems == "QZSS") { 568 plotQZSS = true; 569 } 570 else if (reqSkyPlotSystems == "SBAS") { 571 plotSBAS = true; 572 freq2 = '5'; 573 } 574 else if (reqSkyPlotSystems == "BDS") { 575 plotBDS = true; 576 freq2 = '7'; 577 } 578 else if (reqSkyPlotSystems == "ALL") { 579 plotGPS = true; 580 plotGlo = true; 581 plotGal = true; 582 plotQZSS = true; 583 plotSBAS = true; 584 plotBDS = true; 585 } 586 else { 587 return; 588 } 533 char system = hlp[0].toAscii().constData()[0]; 534 signalTypes1[system] = hlp[1]; 535 mp1Title += hlp[0] + ":" + hlp[1] + " "; 536 sn1Title += hlp[0] + ":" + hlp[1] + " "; 537 if (hlp.size() > 2) { 538 signalTypes2[system] = hlp[2]; 539 mp2Title += hlp[0] + ":" + hlp[2] + " "; 540 sn2Title += hlp[0] + ":" + hlp[2] + " "; 541 } 542 } 543 } 544 589 545 QVector<t_polarPoint*>* dataMP1 = new QVector<t_polarPoint*>; 590 546 QVector<t_polarPoint*>* dataMP2 = new QVector<t_polarPoint*>; … … 601 557 const t_prn& prn = it.key(); 602 558 const t_qcSat& qcSat = it.value(); 603 if ( (prn.system() == 'G' && plotGPS) || 604 (prn.system() == 'R' && plotGlo) || 605 (prn.system() == 'E' && plotGal) || 606 (prn.system() == 'J' && plotQZSS) || 607 (prn.system() == 'S' && plotSBAS) || 608 (prn.system() == 'C' && plotBDS) ) { 609 610 if (qcSat._eleSet) { 611 QString frqType1; 612 QString frqType2; 613 for (int iFrq = 0; iFrq < qcSat._qcFrq.size(); iFrq++) { 614 const t_qcFrq& qcFrq = qcSat._qcFrq[iFrq]; 615 if (qcFrq._rnxType2ch[0] == freq1 && frqType1.isEmpty()) { 616 frqType1 = qcFrq._rnxType2ch; 559 if (qcSat._eleSet) { 560 561 QString frqType[2]; 562 563 for (int iFrq = 0; iFrq < qcSat._qcFrq.size(); iFrq++) { 564 const t_qcFrq& qcFrq = qcSat._qcFrq[iFrq]; 565 566 for (int ii = 0; ii < 2; ii++) { 567 const QMap<char, QString>& signalTypes = (ii == 0 ? signalTypes1 : signalTypes2); 568 if (frqType[ii].isEmpty()) { 569 QMapIterator<char, QString> it(signalTypes); 570 while (it.hasNext()) { 571 it.next(); 572 if (it.key() == prn.system()) { 573 if (it.value() == qcFrq._rnxType2ch || it.value() == qcFrq._rnxType2ch.left(1)) { 574 frqType[ii] = qcFrq._rnxType2ch; 575 break; 576 } 577 } 578 } 617 579 } 618 if (qcFrq._rnxType2ch[0] == freq2 && frqType2.isEmpty()) { 619 frqType2 = qcFrq._rnxType2ch; 620 } 621 if (qcFrq._rnxType2ch == frqType1) { 622 (*dataSNR1) << (new t_polarPoint(qcSat._azDeg, 90.0 - qcSat._eleDeg, qcFrq._SNR)); 623 (*dataMP1) << (new t_polarPoint(qcSat._azDeg, 90.0 - qcSat._eleDeg, qcFrq._stdMP)); 624 } 625 else if (qcFrq._rnxType2ch == frqType2) { 626 (*dataSNR2) << (new t_polarPoint(qcSat._azDeg, 90.0 - qcSat._eleDeg, qcFrq._SNR)); 627 (*dataMP2) << (new t_polarPoint(qcSat._azDeg, 90.0 - qcSat._eleDeg, qcFrq._stdMP)); 628 } 580 } 581 if (qcFrq._rnxType2ch == frqType[0]) { 582 (*dataSNR1) << (new t_polarPoint(qcSat._azDeg, 90.0 - qcSat._eleDeg, qcFrq._SNR)); 583 (*dataMP1) << (new t_polarPoint(qcSat._azDeg, 90.0 - qcSat._eleDeg, qcFrq._stdMP)); 584 } 585 else if (qcFrq._rnxType2ch == frqType[1]) { 586 (*dataSNR2) << (new t_polarPoint(qcSat._azDeg, 90.0 - qcSat._eleDeg, qcFrq._SNR)); 587 (*dataMP2) << (new t_polarPoint(qcSat._azDeg, 90.0 - qcSat._eleDeg, qcFrq._stdMP)); 629 588 } 630 589 } … … 639 598 QByteArray title = fileInfo.fileName().toAscii(); 640 599 emit dspSkyPlot(obsFile->fileName(), mp1Title, dataMP1, mp2Title, dataMP2, "Meters", 2.0); 641 emit dspSkyPlot(obsFile->fileName(), sn r1Title, dataSNR1, snr2Title, dataSNR2, "dbHz", 54.0);600 emit dspSkyPlot(obsFile->fileName(), sn1Title, dataSNR1, sn2Title, dataSNR2, "dbHz", 54.0); 642 601 emit dspAvailPlot(obsFile->fileName(), title); 643 602 }
Note:
See TracChangeset
for help on using the changeset viewer.