- Timestamp:
- Oct 23, 2020, 9:52:07 PM (4 years ago)
- Location:
- trunk/BNC/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/bncmain.cpp
r9159 r9184 108 108 "\n" 109 109 "RINEX Observations Panel keys:\n" 110 " rnxPath {Directory [character string]}\n"110 " rnxPath {Directory for RINEX files [character string]}\n" 111 111 " rnxIntr {File interval [character string: 1 min|2 min|5 min|10 min|15 min|30 min|1 hour|1 day]}\n" 112 112 " rnxSampl {File sampling rate [character string: 0.1 sec|1 sec|5 sec|10 sec|15 sec|30 sec|60 sec]}\n" 113 113 " rnxSkel {RINEX skeleton file extension [character string]}\n" 114 " rnxSkelPath {Directory for local skeleton files [character string]}\n" 114 115 " rnxOnlyWithSKL {Using RINEX skeleton file is mandatory [integer number: 0=no,2=yes]}\n" 115 116 " rnxScript {File upload script, full path [character string]}\n" … … 256 257 " cmbMaxres {Clock outlier residuum threshold in meters [floating-point number]\n" 257 258 " cmbSampl {Clock sampling rate [integer number of seconds: 10|20|30|40|50|60]}\n" 258 " cmbUseGlonass {Use GLONASS in combination [integer number: 0=no,2=yes]\n"259 259 "\n" 260 260 "Upload Corrections Panel keys:\n" -
trunk/BNC/src/bncrinex.cpp
r9158 r9184 175 175 staID = _mountPoint.path().mid(1,stIdLength).toUpper() + ".skl"; 176 176 staIDalternative = _mountPoint.path().mid(1,stIdLength).toLower() + ".skl"; 177 url = sklDir + "/" + staID;178 177 if (url.port() == -1) { 179 178 if (sklDir.contains("https", Qt::CaseInsensitive)) { … … 187 186 bncNetQuery* query = new bncNetQueryV2(true); 188 187 QByteArray outData; 188 url = sklDir + "/" + staID; 189 189 query->waitForRequestResult(url, outData); 190 190 if (query->status() == bncNetQuery::finished && … … 222 222 readDone = true; 223 223 } 224 } else if ( sklAlt.exists() && sklAlt.open(QIODevice::ReadOnly) ) { 224 } 225 else if ( sklAlt.exists() && sklAlt.open(QIODevice::ReadOnly) ) { 225 226 QTextStream in(&sklAlt); 226 227 if (_sklHeader.read(&in) == success) { … … 335 336 336 337 bncSettings settings; 337 QString path = settings.value("rnxPath").toString();338 expandEnvVar( path);339 340 if ( path.length() > 0 && path[path.length()-1] != QDir::separator() ) {341 path += QDir::separator();338 QString rnxPath = settings.value("rnxPath").toString(); 339 expandEnvVar(rnxPath); 340 341 if ( rnxPath.length() > 0 && rnxPath[rnxPath.length()-1] != QDir::separator() ) { 342 rnxPath += QDir::separator(); 342 343 } 343 344 … … 374 375 } 375 376 376 QString sklExt = settings.value("rnxSkel").toString(); 377 if (!sklExt.isEmpty()) { 378 _localSklName = path + ID + distStr + "." + sklExt; 379 _localSklNameAlternative = path + ID.toLower() + distStr + "." + sklExt; 380 } 377 // Local Skeleton file 378 // ------------------- 379 QString sklExt = settings.value("rnxSkel").toString(); 380 QString sklPath = settings.value("rnxSkelPath").toString(); 381 expandEnvVar(sklPath); 382 if (sklPath.length() > 0 && 383 sklPath[sklPath.length()-1] != QDir::separator()) { 384 sklPath += QDir::separator(); 385 } 386 if (sklPath.isEmpty()) { 387 sklPath = rnxPath; 388 } 389 _localSklName = sklPath + ID + distStr + "." + sklExt; 390 _localSklNameAlternative = sklPath + ID.toLower() + distStr + "." + sklExt; 381 391 382 392 if (!_rnxV2) { … … 398 408 } 399 409 400 path += ID.left(4) +410 rnxPath += ID.left(4) + 401 411 QString("%1").arg(monNum, 1, 10) + 402 412 QString("%1").arg(recNum, 1, 10) + … … 412 422 } 413 423 else { 414 path += ID.left(4) +424 rnxPath += ID.left(4) + 415 425 QString("%1").arg(datTim.date().dayOfYear(), 3, 10, QChar('0')) + 416 426 hlpStr + distStr + datTim.toString(".yyO"); 417 427 } 418 428 419 _fName = path.toLatin1();429 _fName = rnxPath.toLatin1(); 420 430 } 421 431 -
trunk/BNC/src/bncsettings.cpp
r9158 r9184 88 88 setValue_p("rnxOnlyWithSKL", ""); 89 89 setValue_p("rnxSampl", "1 sec"); 90 setValue_p("rnxSkel", "SKL"); 90 setValue_p("rnxSkel", "skl"); 91 setValue_p("rnxSkelPath", ""); 91 92 setValue_p("rnxV2Priority", ""); 92 93 setValue_p("rnxScript", ""); … … 173 174 setValue_p("cmbMaxres", ""); 174 175 setValue_p("cmbSampl", "10"); 175 setValue_p("cmbUseGlonass", "");176 176 // Upload (clk) 177 177 setValue_p("uploadMountpointsOut",""); -
trunk/BNC/src/bncwindow.cpp
r9158 r9184 236 236 _rnxFileCheckBox = new QCheckBox(); 237 237 _rnxFileCheckBox->setCheckState(Qt::CheckState(settings.value("rnxOnlyWithSKL").toInt())); 238 _rnxSkelLineEdit = new QLineEdit(settings.value("rnxSkel").toString()); 239 _rnxSkelLineEdit->setMaximumWidth(5*ww); 238 _rnxSkelExtComboBox = new QComboBox(); 239 _rnxSkelExtComboBox->setEditable(false); 240 _rnxSkelExtComboBox->addItems(QString("skl, SKL").split(",")); 241 int il = _rnxSkelExtComboBox->findText(settings.value("rnxSkel").toString()); 242 if (il != -1) { 243 _rnxSkelExtComboBox->setCurrentIndex(il); 244 } 245 _rnxSkelPathLineEdit = new QLineEdit(settings.value("rnxSkelPath").toString()); 240 246 _rnxScrpLineEdit = new QLineEdit(settings.value("rnxScript").toString()); 241 247 _rnxV2CheckBox = new QCheckBox(); … … 248 254 249 255 connect(_rnxPathLineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(slotBncTextChanged())); 256 connect(_rnxSkelPathLineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(slotBncTextChanged())); 250 257 connect(_rnxV2CheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged())); 251 258 … … 472 479 473 480 _cmbMaxresLineEdit = new QLineEdit(settings.value("cmbMaxres").toString()); 474 _cmbUseGlonass = new QCheckBox();475 _cmbUseGlonass->setCheckState(Qt::CheckState(settings.value("cmbUseGlonass").toInt()));476 481 477 482 _cmbSamplSpinBox = new QSpinBox; … … 502 507 enableWidget(true, _cmbMaxresLineEdit); 503 508 enableWidget(true, _cmbSamplSpinBox); 504 enableWidget(true, _cmbUseGlonass);505 509 } 506 510 else { … … 508 512 enableWidget(false, _cmbMaxresLineEdit); 509 513 enableWidget(false, _cmbSamplSpinBox); 510 enableWidget(false, _cmbUseGlonass);511 514 } 512 515 … … 746 749 _rnxIntrComboBox->setMaximumWidth(9*ww); 747 750 _rnxSamplComboBox->setMaximumWidth(9*ww); 751 _rnxSkelExtComboBox->setMaximumWidth(9*ww); 748 752 749 753 oLayout->addWidget(new QLabel("Saving RINEX observation files.<br>"),0, 0, 1,50); … … 753 757 oLayout->addWidget(_rnxIntrComboBox, 2, 1); 754 758 oLayout->addWidget(new QLabel(" Sampling"), 2, 2, Qt::AlignRight); 755 oLayout->addWidget(_rnxSamplComboBox, 2, 3, Qt::Align Left);759 oLayout->addWidget(_rnxSamplComboBox, 2, 3, Qt::AlignRight); 756 760 oLayout->addWidget(new QLabel("Skeleton extension"), 3, 0); 757 oLayout->addWidget(_rnxSkel LineEdit,3, 1, Qt::AlignLeft);758 oLayout->addWidget(new QLabel("Skeleton mandatory"), 3, 2 );761 oLayout->addWidget(_rnxSkelExtComboBox, 3, 1, Qt::AlignLeft); 762 oLayout->addWidget(new QLabel("Skeleton mandatory"), 3, 2, Qt::AlignRight); 759 763 oLayout->addWidget(_rnxFileCheckBox, 3, 3); 760 oLayout->addWidget(new QLabel("S cript (full path)"), 4, 0);761 oLayout->addWidget(_rnxS crpLineEdit,4, 1, 1, 15);762 oLayout->addWidget(new QLabel(" Version 2 signal priority"),5, 0);763 oLayout->addWidget(_rnx V2Priority,5, 1, 1, 15);764 oLayout->addWidget(new QLabel("Skeleton Directory"), 4, 0); 765 oLayout->addWidget(_rnxSkelPathLineEdit, 4, 1, 1, 15); 766 oLayout->addWidget(new QLabel("Script (full path)"), 5, 0); 767 oLayout->addWidget(_rnxScrpLineEdit, 5, 1, 1, 15); 764 768 oLayout->addWidget(new QLabel("Version 2"), 6, 0); 765 769 oLayout->addWidget(_rnxV2CheckBox, 6, 1); 770 oLayout->addWidget(new QLabel("Signal priority"), 6, 2, Qt::AlignRight); 771 oLayout->addWidget(_rnxV2Priority, 6, 3, 1, 13); 766 772 oLayout->addWidget(new QLabel(""), 7, 1); 767 773 oLayout->setRowStretch(8, 999); … … 1215 1221 cmbLayout->addWidget(new QLabel("Sampling"), 5, 6, Qt::AlignRight); 1216 1222 cmbLayout->addWidget(_cmbSamplSpinBox, 5, 7); 1217 cmbLayout->addWidget(new QLabel(" Use GLONASS"), 6, 6, Qt::AlignRight); 1218 cmbLayout->addWidget(_cmbUseGlonass, 6, 7); 1219 cmbLayout->setRowStretch(7, 999); 1223 cmbLayout->setRowStretch(5, 999); 1220 1224 1221 1225 connect(addCmbRowButton, SIGNAL(clicked()), this, SLOT(slotAddCmbRow())); … … 1308 1312 _rnxIntrComboBox->setWhatsThis(tr("<p>Select the length of the RINEX Observation file. <i>[key: rnxIntr]</i></p>")); 1309 1313 _rnxSamplComboBox->setWhatsThis(tr("<p>Select the RINEX Observation sampling interval in seconds. <i>[key: rnxSampl]</i></p>")); 1310 _rnxSkelLineEdit->setWhatsThis(tr("<p>BNC allows using personal RINEX skeleton files that contain the RINEX header records you would like to include. You can derive a skeleton file from information given in an up to date sitelog.</p><p>A file in the RINEX Observations 'Directory' with a 'Skeleton extension' skl or SKL is interpreted by BNC as a personal RINEX header skeleton file for the corresponding stream. <i>[key: rnxSkel]</i></p>")); 1314 _rnxSkelExtComboBox->setWhatsThis(tr("<p>BNC allows using personal RINEX skeleton files that contain the RINEX header records you would like to include. You can derive a skeleton file from information given in an up to date sitelog.</p><p>A file in the RINEX Observations 'Directory' with a 'Skeleton extension' skl or SKL is interpreted by BNC as a personal RINEX header skeleton file for the corresponding stream. <i>[key: rnxSkel]</i></p>")); 1315 _rnxSkelPathLineEdit->setWhatsThis(tr("<p>Here you specify the path to where local skeleton files are located.</p><p> If no directory is specified, the path is assumed to where the RINEX Observation files will stored. <i>[key: rnxSkelPath]</i></p>")); 1311 1316 _rnxFileCheckBox->setWhatsThis(tr("<p>Tick check box 'Skeleton mandatory' in case you want that RINEX files are only produced if skeleton files are available for BNC. If no skeleton file is available for a particular source then no RINEX Observation file will be produced from the affected stream.</p><p>Note that a skeleton file contains RINEX header information such as receiver and antenna types. In case of stream conversion to RINEX Version 3, a skeleton file should also contain information on potentially available observation types. A missing skeleton file will therefore enforce BNC to only save a default set of RINEX 3 observation types. <i>[key: rnxOnlyWithSKL]</i></p>")); 1312 1317 _rnxScrpLineEdit->setWhatsThis(tr("<p>Whenever a RINEX Observation file is finally saved, you may want to compress, copy or upload it immediately, for example via FTP. BNC allows you to execute a script/batch file to carry out such operation.</p><p>Specify the full path of a script or batch file. BNC will pass the full RINEX Observation file path to the script as command line parameter (%1 on Windows systems, $1 on Unix/Linux/Mac systems). <i>[key: rnxScript]</i></p>")); … … 1425 1430 _cmbMaxresLineEdit->setWhatsThis(tr("<p>BNC combines all incoming clocks according to specified weights. Individual clock estimates that differ by more than 'Maximal residuum' meters from the average of all clocks will be ignored.<p></p>It is suggested to specify a value of about 0.2 m for the Kalman filter combination approach and a value of about 3.0 meters for the Single-Epoch combination approach.</p><p>Default is a value of '999.0'. <i>[key: cmbMaxres]</i></p>")); 1426 1431 _cmbSamplSpinBox->setWhatsThis(tr("<p>Select a combination Sampling interval for the clocks. Clock corrections will be produced following that interval.</p><p>A value of 10 sec may be an appropriate choice. <i>[key: cmbSampl]</i></p>")); 1427 _cmbUseGlonass->setWhatsThis(tr("<p>In case the incoming orbit and clock correction stream(s) support GLONASS, you can tick 'Use GLONASS' to produce a GPS plus GLONASS combination solution.</p><p>Default is a GPS-only combination. <i>[key: cmbUseGlonass]</i></p>"));1428 1432 1429 1433 // WhatsThis, Upload Corrections … … 1510 1514 delete _rnxIntrComboBox; 1511 1515 delete _rnxSamplComboBox; 1516 delete _rnxSkelExtComboBox; 1517 delete _rnxSkelPathLineEdit; 1512 1518 delete _rnxFileCheckBox; 1513 delete _rnxSkelLineEdit;1514 1519 delete _rnxScrpLineEdit; 1515 1520 delete _rnxV2CheckBox; … … 1552 1557 _cmbTable->deleteLater(); 1553 1558 delete _cmbMaxresLineEdit; 1554 delete _cmbUseGlonass;1555 1559 delete _cmbSamplSpinBox; 1556 1560 delete _cmbMethodComboBox;; … … 1965 1969 settings.setValue("rnxIntr", _rnxIntrComboBox->currentText()); 1966 1970 settings.setValue("rnxSampl", _rnxSamplComboBox->currentText()); 1967 settings.setValue("rnxSkel", _rnxSkelLineEdit->text()); 1971 settings.setValue("rnxSkel", _rnxSkelExtComboBox->currentText()); 1972 settings.setValue("rnxSkelPath", _rnxSkelPathLineEdit->text()); 1968 1973 settings.setValue("rnxOnlyWithSKL",_rnxFileCheckBox->checkState()); 1969 1974 settings.setValue("rnxScript", _rnxScrpLineEdit->text()); … … 2032 2037 settings.setValue("cmbMaxres", _cmbMaxresLineEdit->text()); 2033 2038 settings.setValue("cmbSampl", _cmbSamplSpinBox->value()); 2034 settings.setValue("cmbUseGlonass", _cmbUseGlonass->checkState());2035 2039 // Upload Corrections 2036 2040 if (!uploadMountpointsOut.isEmpty()) { … … 2453 2457 enableWidget(enable, _rnxIntrComboBox); 2454 2458 enableWidget(enable, _rnxSamplComboBox); 2455 enableWidget(enable, _rnxSkelLineEdit); 2459 enableWidget(enable, _rnxSkelExtComboBox); 2460 enableWidget(enable, _rnxSkelPathLineEdit); 2456 2461 enableWidget(enable, _rnxFileCheckBox); 2457 2462 enableWidget(enable, _rnxScrpLineEdit); … … 2547 2552 enableWidget(true, _cmbMaxresLineEdit); 2548 2553 enableWidget(true, _cmbSamplSpinBox); 2549 enableWidget(true, _cmbUseGlonass);2550 2554 } 2551 2555 else { … … 2553 2557 enableWidget(false, _cmbMaxresLineEdit); 2554 2558 enableWidget(false, _cmbSamplSpinBox); 2555 enableWidget(false, _cmbUseGlonass);2556 2559 } 2557 2560 } … … 2651 2654 enableWidget(false, _cmbMaxresLineEdit); 2652 2655 enableWidget(false, _cmbSamplSpinBox); 2653 enableWidget(false, _cmbUseGlonass);2654 2656 } 2655 2657 } -
trunk/BNC/src/bncwindow.h
r9158 r9184 142 142 QLineEdit* _corrPortLineEdit; 143 143 QLineEdit* _rnxPathLineEdit; 144 QLineEdit* _rnxSkelPathLineEdit; 144 145 QLineEdit* _ephPathLineEdit; 145 146 QLineEdit* _corrPathLineEdit; … … 165 166 QLineEdit* _rnxV2Priority; 166 167 QCheckBox* _ephV2CheckBox; 167 QLineEdit* _rnxSkelLineEdit;168 168 QCheckBox* _rnxFileCheckBox; 169 169 QLineEdit* _rnxScrpLineEdit; … … 174 174 QComboBox* _corrIntrComboBox; 175 175 QComboBox* _rnxSamplComboBox; 176 QComboBox* _rnxSkelExtComboBox; 176 177 QComboBox* _outSamplComboBox; 177 178 QCheckBox* _rnxAppendCheckBox; … … 217 218 QComboBox* _cmbMethodComboBox; 218 219 QSpinBox* _cmbSamplSpinBox; 219 QCheckBox* _cmbUseGlonass;220 220 221 221 QTableWidget* _uploadTable;
Note:
See TracChangeset
for help on using the changeset viewer.