Changeset 10251 in ntrip for trunk/BNC/src/pppWidgets.cpp
- Timestamp:
- Nov 20, 2023, 10:23:42 PM (8 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/pppWidgets.cpp
r10250 r10251 85 85 _lcGalileo = new QComboBox(); _lcGalileo ->setObjectName("PPP/lcGalileo"); _widgets << _lcGalileo; 86 86 _lcBDS = new QComboBox(); _lcBDS ->setObjectName("PPP/lcBDS"); _widgets << _lcBDS; 87 _modelObs = new QComboBox(); _modelObs ->setObjectName("PPP/modelObs"); _widgets << _modelObs; 88 _pseudoObs = new QComboBox(); _pseudoObs ->setObjectName("PPP/pseudoObs"); _widgets << _pseudoObs; 87 _constraints = new QComboBox(); _constraints ->setObjectName("PPP/constraints"); _widgets << _constraints; 89 88 _sigmaC1 = new QLineEdit(); _sigmaC1 ->setObjectName("PPP/sigmaC1"); _widgets << _sigmaC1; 90 89 _sigmaL1 = new QLineEdit(); _sigmaL1 ->setObjectName("PPP/sigmaL1"); _widgets << _sigmaL1; … … 116 115 _dataSource->addItems(QString(",Real-Time Streams,RINEX Files").split(",")); 117 116 connect(_dataSource, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(slotEnableWidgets())); 118 connect(_pseudoObs, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(slotEnableWidgets())); 119 connect(_modelObs, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(slotEnableWidgets())); 117 connect(_constraints, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(slotEnableWidgets())); 120 118 connect(_snxtroPath, SIGNAL(textChanged(const QString &)), this, SLOT(slotPPPTextChanged())); 121 119 connect(_snxtroAc, SIGNAL(textChanged(const QString &)), this, SLOT(slotPPPTextChanged())); … … 130 128 _lcGPS->addItems(QString("P3,P3&L3").split(",")); 131 129 #else 132 _lcGPS->addItems(QString("Pi&Li,Pi,Li, no").split(","));130 _lcGPS->addItems(QString("Pi&Li,Pi,Li,P1&L1,P1,L1,P3&L3,P3,L3,no").split(",")); 133 131 #endif 134 132 … … 136 134 #ifdef USE_PPP_SSR_I 137 135 _lcGLONASS->addItems(QString("no,P3,L3,P3&L3").split(",")); 138 #else 139 _lcGLONASS->addItems(QString("Pi&Li,Pi,Li, no").split(","));136 #else 137 _lcGLONASS->addItems(QString("Pi&Li,Pi,Li,P1&L1,P1,L1,P3&L3,P3,L3,no").split(",")); 140 138 #endif 141 139 … … 143 141 #ifdef USE_PPP_SSR_I 144 142 _lcGalileo->addItems(QString("no,P3,L3,P3&L3").split(",")); 145 #else 146 _lcGalileo->addItems(QString("Pi&Li,Pi,Li, no").split(","));143 #else 144 _lcGalileo->addItems(QString("Pi&Li,Pi,Li,P1&L1,P1,L1,P3&L3,P3,L3,no").split(",")); 147 145 #endif 148 146 149 147 _lcBDS->setEditable(false); 150 #ifdef USE_PPP_SSR_I148 #ifdef USE_PPP_SSR_I 151 149 _lcBDS->addItems(QString("no,P3,L3,P3&L3").split(",")); 152 #else 153 _lcBDS->addItems(QString("Pi&Li,Pi,Li, no").split(","));150 #else 151 _lcBDS->addItems(QString("Pi&Li,Pi,Li,P1&L1,P1,L1,P3&L3,P3,L3,no").split(",")); 154 152 #endif 155 153 156 _modelObs->setEditable(false); 157 _pseudoObs->setEditable(false); 158 #ifdef USE_PPP_SSR_I 159 _modelObs->addItems(QString("Ionosphere-free PPP").split(",")); 160 _pseudoObs->addItems(QString("no").split(",")); 161 #else 162 _modelObs->addItems(QString("Uncombined PPP,Ionosphere-free PPP").split(",")); 163 _pseudoObs->addItems(QString("no,Ionosphere").split(",")); 154 #ifdef USE_PPP 155 _constraints->setEditable(false); 156 _constraints->addItems(QString("no,Ionosphere: pseudo-obs").split(",")); 164 157 #endif 165 166 158 _snxtroSampl->setEditable(false); 167 159 _snxtroSampl->addItems(QString("1 sec,5 sec,10 sec,30 sec,60 sec,300 sec").split(",")); … … 218 210 // WhatsThis, PPP (3) 219 211 // ------------------ 220 _staTable->setWhatsThis(tr("<p>Specify values for Sigma and white Noise of the Stations North, East and Height coordinate components in meters. Specify also a Sigma in meters for a priori model based Tropospheric delays and a Sigma in meters per second for the delay's Noise. You can also specify a 'NMEA Port' to output coordinates in NMEA format through an IP port of your local host. Specify a list of signal priorities for the observations that shall be used for PPP.</p><p>Specifying one record per Station is mandatory. BNC will only process data for stations which are listed here. To define a station, specify the 'Mountpoint' when in 'Real-Time Streams' mode or the 9-character station ID when in 'RINEX Files' mode.</p><p>'Sigma' is meant to describe the uncertainty of a single coordinate or tropospheric delay estimated for one epoch. 'Noise' is meant to describe the variation of estimates from epoch to epoch.</p><p><ul><li>A Sigma of 100.0 meters may be an appropriate choice e.g. for the initial N/E/H coordinates. However, this value may be significantly smaller (i.e. 0.01) for stations with well-known a priori coordinates.</li><li>A Noise of 100.0 meters for the estimated N/E/H coordinates may also be appropriate considering the potential movement of a rover position.</li><li>A value of 0.1 meters may be an appropriate Sigma for the a priori model based Tropospheric delay estimation.</li><li>Specify a Noise to describe the expected variation of the tropospheric effect over time. Supposing 1Hz observation data, specifying a value of 3e-6 would mean that the tropospheric effect may vary 3600 * 3e-6 = 0.01 meters per hour.</li></ul></p><p>'Signal Priorities' can be specified as equal for all systems, as system specific or as system and frequency specific. Default for all PPP models is the following list of 'Signal Priorities': <ul><li>'G:12&CWPSLX R:12&CP E:1&CBX E:5&QIX C:26&IQX'</li></ul><p>But it is recommended to specify it in more detail per individual station, e.g.:</p> <ul> <li>'G:12&W R:12&P E:1&C E:5&Q C:26&I'</li> </ul> <p> <i>[key: PPP/staTable]</i></p>")); 221 212 #ifdef USE_PPP 213 _staTable->setWhatsThis(tr("<p>Specify values for Sigma and white Noise of the Stations North, East and Height coordinate components in meters. Specify also a Sigma in meters for a priori model based Tropospheric delays and a Sigma in meters per second for the delay's Noise. You can also specify a 'NMEA Port' to output coordinates in NMEA format through an IP port of your local host. Specify a list of signal priorities for the observations that shall be used for PPP.</p>" 214 "<p>'Sigma' is meant to describe the uncertainty of a single coordinate or tropospheric delay estimated for one epoch. 'Noise' is meant to describe the variation of estimates from epoch to epoch.</p><p><ul><li>A Sigma of 100.0 meters may be an appropriate choice e.g. for the initial N/E/H coordinates. However, this value may be significantly smaller (i.e. 0.01) for stations with well-known a priori coordinates.</li><li>A Noise of 100.0 meters for the estimated N/E/H coordinates may also be appropriate considering the potential movement of a rover position.</li><li>A value of 0.1 meters may be an appropriate Sigma for the a priori model based Tropospheric delay estimation.</li><li>Specify a Noise to describe the expected variation of the tropospheric effect over time. Supposing 1Hz observation data, specifying a value of 3e-6 would mean that the tropospheric effect may vary 3600 * 3e-6 = 0.01 meters per hour.</li></ul></p>" 215 "<p>'Signal Priorities' can be specified as system (G,R,E,C) and frequency specific. Two frequency bands per GNSS are allowed and will be considered. The following frequency bands are available for selection: <ul>" 216 "<li>G: 1, 2, 5</li>" 217 "<li>R: 1, 2</li>" 218 "<li>E: 1, 5, 6, 7, 8</li>" 219 "<li>C: 1, 2, 5, 6, 7, 8</li>" 220 "</ul>" 221 "<p>'Default is the following list of 'Signal Priorities': <ul><li>'G:12&CWPSLX R:12&CP E:1&CBX E:5&QIX C:26&IQX'</li></ul>" 222 "<p>But it is recommended to specify it in more detail per individual station, e.g.:</p> <ul> <li>'G:12&W R:12&P E:1&C E:5&Q C:26&I'</li></ul> " 223 "<p> <i>[key: PPP/staTable]</i></p>")); 224 #else 225 _staTable->setWhatsThis(tr("<p>Specify values for Sigma and white Noise of the Stations North, East and Height coordinate components in meters. Specify also a Sigma in meters for a priori model based Tropospheric delays and a Sigma in meters per second for the delay's Noise. You can also specify a 'NMEA Port' to output coordinates in NMEA format through an IP port of your local host.<i>[key: PPP/staTable]</i></p>")); 226 #endif 222 227 // WhatsThis, PPP (4) 223 228 // ------------------ … … 262 267 delete _lcGalileo; 263 268 delete _lcBDS; 264 delete _modelObs; 265 delete _pseudoObs; 269 delete _constraints; 266 270 delete _sigmaC1; 267 271 delete _sigmaL1; … … 314 318 _lcBDS->setCurrentIndex(ii); 315 319 } 316 ii = _modelObs->findText(settings.value(_modelObs->objectName()).toString()); 317 if (ii != -1) { 318 _modelObs->setCurrentIndex(ii); 319 } 320 ii = _pseudoObs->findText(settings.value(_pseudoObs->objectName()).toString()); 321 if (ii != -1) { 322 _pseudoObs->setCurrentIndex(ii); 320 ii = _constraints->findText(settings.value(_constraints->objectName()).toString()); 321 if (ii != -1) { 322 _constraints->setCurrentIndex(ii); 323 323 } 324 324 ii = _snxtroIntr->findText(settings.value(_snxtroIntr->objectName()).toString()); … … 477 477 settings.setValue(_lcGalileo ->objectName(), _lcGalileo ->currentText()); 478 478 settings.setValue(_lcBDS ->objectName(), _lcBDS ->currentText()); 479 settings.setValue(_modelObs ->objectName(), _modelObs ->currentText()); 480 settings.setValue(_pseudoObs ->objectName(), _pseudoObs ->currentText()); 479 settings.setValue(_constraints ->objectName(), _constraints ->currentText()); 481 480 settings.setValue(_sigmaC1 ->objectName(), _sigmaC1 ->text()); 482 481 settings.setValue(_sigmaL1 ->objectName(), _sigmaL1 ->text()); … … 520 519 const static QPalette paletteGray(QColor(230, 230, 230)); 521 520 522 bool allDisabled = _dataSource->currentText() == ""; 523 bool realTime = _dataSource->currentText() == "Real-Time Streams"; 524 bool rinexFiles = _dataSource->currentText() == "RINEX Files"; 525 bool enablePseudoObs; 526 if (_modelObs->currentText() == "PPP-RTK" || 527 _modelObs->currentText() == "Ionosphere-free PPP") { 528 enablePseudoObs = false; 529 } 530 else { 531 enablePseudoObs = true; 532 } 533 bool pseudoObsUsed = _pseudoObs->currentText() == "Ionosphere"; 521 bool allDisabled = _dataSource->currentText() == ""; 522 bool realTime = _dataSource->currentText() == "Real-Time Streams"; 523 bool rinexFiles = _dataSource->currentText() == "RINEX Files"; 524 bool pseudoObsIono = _constraints->currentText() == "Ionosphere: pseudo-obs"; 534 525 535 526 QListIterator<QWidget*> it(_widgets); … … 568 559 } 569 560 570 if (enablePseudoObs) { 571 _pseudoObs->setEnabled(true); 572 if (pseudoObsUsed) { 573 _sigmaGIM->setEnabled(true); 574 _maxResGIM->setEnabled(true); 575 } else { 576 _sigmaGIM->setEnabled(false); 577 _maxResGIM->setEnabled(false); 578 } 561 562 if (pseudoObsIono) { 563 _sigmaGIM->setEnabled(true); 564 _maxResGIM->setEnabled(true); 579 565 } else { 580 _pseudoObs->setEnabled(false);581 566 _sigmaGIM->setEnabled(false); 582 567 _maxResGIM->setEnabled(false);
Note:
See TracChangeset
for help on using the changeset viewer.