Index: /trunk/BNC/src/bnchelp.html =================================================================== --- /trunk/BNC/src/bnchelp.html (revision 7979) +++ /trunk/BNC/src/bnchelp.html (revision 7980) @@ -1532,5 +1532,18 @@
-Default 'Signal priority' list is an empty option string, meaning a priority sequence of 'CWPX_?' attributes when mapping RINEX 3 to RINEX 2. The meaning of this sequence of characters - take it as an example - is as follows: +Signal priorities can be specified as equal for all systems, as system specific or as system and frequency specific. For example: +
+The default 'Signal priority' list is defined as follows: +
-Signal priorities can be specified either as equal for all systems or system specific. The following are example priority strings: -
You may like to specify your own 'Signal priority' string(s) for producing RINEX Version 2 files. If you neither convert observation streams to RINEX Version 2 nor concatenate RINEX Version 3 to Version 2 files, then the 'Version 2' option is meaningless.
Index: /trunk/BNC/src/bncmain.cpp
===================================================================
--- /trunk/BNC/src/bncmain.cpp (revision 7979)
+++ /trunk/BNC/src/bncmain.cpp (revision 7980)
@@ -106,5 +106,5 @@
" rnxOnlyWithSKL {Using RINEX skeleton file is mandatory [integer number: 0=no,2=yes]}\n"
" rnxScript {File upload script, full path [character string]}\n"
- " rnxV2Priority {Priority of signal attributes [character string, list separated by blank character, example: G:CWPX_? R:CP]}\n"
+ " rnxV2Priority {Priority of signal attributes [character string, list separated by blank character, example: G:12&PWCSLXYN G:5&IQX C:IQX]}\n"
" rnxV3 {Produce version 3 file contents [integer number: 0=no,2=yes]}\n"
" rnxV3filenames {Produce version 3 filenames [integer number: 0=no,2=yes]}\n"
@@ -129,5 +129,5 @@
" reqcRnxVersion {RINEX version [integer number: 2|3]}\n"
" reqcSampling {RINEX output file sampling rate [integer number of seconds: 0|5|10|15|20|25|30|35|40|45|50|55|60]}\n"
- " reqcV2Priority {Version 2 priority of signal attributes [character string, list separated by blank character, example: G:CWPX_? R:CP]}\n"
+ " reqcV2Priority {Version 2 priority of signal attributes [character string, list separated by blank character, example: G:12&PWCSLXYN G:5&IQX C:IQX]}\n"
" reqcStartDateTime {Start time [character string, example: 1967-11-02T00:00:00]}\n"
" reqcEndDateTime {Stop time [character string, example: 2099-01-01T00:00:00 }\n"
Index: /trunk/BNC/src/bncsettings.cpp
===================================================================
--- /trunk/BNC/src/bncsettings.cpp (revision 7979)
+++ /trunk/BNC/src/bncsettings.cpp (revision 7980)
@@ -134,5 +134,5 @@
setValue_p("reqcOldReceiverNumber", "");
setValue_p("reqcUseObsTypes", "");
- setValue_p("reqcV2Priority", "");
+ setValue_p("reqcV2Priority", "G:12&PWCSLXYN G:5&IQX R:12&PC R:3&IQX E:16&BCX E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:IQX I:ABCX S:1&C S:5&IQX");
// SP3
setValue_p("sp3CompFile", "");
Index: /trunk/BNC/src/bncwindow.cpp
===================================================================
--- /trunk/BNC/src/bncwindow.cpp (revision 7979)
+++ /trunk/BNC/src/bncwindow.cpp (revision 7980)
@@ -223,5 +223,5 @@
QString hlp = settings.value("rnxV2Priority").toString();
if (hlp.isEmpty()) {
- hlp = "CWPX_?";
+ hlp = "G:12&PWCSLXYN G:5&IQX R:12&PC R:3&IQX E:16&BCX E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:IQX I:ABCX S:1&C S:5&IQX";
}
_rnxV2Priority = new QLineEdit(hlp);
@@ -706,6 +706,4 @@
_rnxSamplSpinBox->setMaximumWidth(9*ww);
- _rnxV2Priority->setMaximumWidth(19*ww);
-
oLayout->addWidget(new QLabel("Saving RINEX observation files.
"),0, 0, 1,50);
oLayout->addWidget(new QLabel("Directory"), 1, 0);
@@ -721,7 +719,6 @@
oLayout->addWidget(new QLabel("Script (full path)"), 4, 0);
oLayout->addWidget(_rnxScrpLineEdit, 4, 1, 1, 15);
- oLayout->addWidget(new QLabel("Version 2"), 5, 0);
- oLayout->addWidget(_rnxV2Priority, 5, 1);
- oLayout->addWidget(new QLabel("Signal priority"), 5, 2);
+ oLayout->addWidget(new QLabel("Version 2 signal priority"), 5, 0);
+ oLayout->addWidget(_rnxV2Priority, 5, 1, 1, 15);
oLayout->addWidget(new QLabel("Version 3"), 6, 0);
oLayout->addWidget(_rnxV3CheckBox, 6, 1);
@@ -1270,5 +1267,5 @@
_rnxFileCheckBox->setWhatsThis(tr("
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.
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.
")); _rnxScrpLineEdit->setWhatsThis(tr("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.
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).
")); - _rnxV2Priority->setWhatsThis(tr("Specify a priority list of characters defining signal attributes as defined in RINEX Version 3. Priorities will be used to map observations with RINEX Version 3 attributes from incoming streams to Version 2. The underscore character '_' stands for undefined attributes. A question mark '?' can be used as wildcard which represents any one character.
Signal priorities can be specified either as equal for all systems or as system specific. The following are example priority strings:
Specify a priority list of characters defining signal attributes as defined in RINEX Version 3. Priorities will be used to map observations with RINEX Version 3 attributes from incoming streams to Version 2. The underscore character '_' stands for undefined attributes. A question mark '?' can be used as wildcard which represents any one character.
Signal priorities can be specified as equal for all systems, as system specific or as system and freq. specific. For example:
The default format for RINEX Observation files is RINEX Version 2.
Select 'Version 3' if you want to save observations in RINEX Version 3 format.
")); _rnxV3filenameCheckBox->setWhatsThis(tr("Tick 'Version 3 filenames' to let BNC create so-called extended filenames following the RINEX Version 3 standard.
Default is an empty check box, meaning to create filenames following the RINEX Version 2 standard although the file content is saved in RINEX Version 3 format.
")); @@ -2409,8 +2406,8 @@ enable1 = _rnxV3CheckBox->isChecked(); if (enable && enable1) { - enableWidget(false, _rnxV2Priority); + enableWidget(false, _rnxV2Priority); } if (enable && !enable1) { - enableWidget(true, _rnxV2Priority); + enableWidget(true, _rnxV2Priority); } } Index: /trunk/BNC/src/reqcdlg.cpp =================================================================== --- /trunk/BNC/src/reqcdlg.cpp (revision 7979) +++ /trunk/BNC/src/reqcdlg.cpp (revision 7980) @@ -35,5 +35,5 @@ * Created: 28-Mar-2012 * - * Changes: + * Changes: * * -----------------------------------------------------------------------*/ @@ -138,5 +138,5 @@ QString hlp = settings.value("reqcV2Priority").toString(); if (hlp.isEmpty()) { - hlp = "CWPX_?"; + hlp = "G:12&PWCSLXYN G:5&IQX R:12&PC R:3&IQX E:16&BCX E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:IQX I:ABCX S:1&C S:5&IQX"; } _reqcV2Priority = new QLineEdit(hlp); @@ -152,6 +152,6 @@ grid->addWidget(_reqcSampling, ir, 4); ++ir; - grid->addWidget(new QLabel("Version 2 Signal Priority"), ir, 1); - grid->addWidget(_reqcV2Priority, ir, 2); + grid->addWidget(new QLabel("Version 2 signal priority"), ir, 1); + grid->addWidget(_reqcV2Priority, ir, 2, 1, 4); ++ir; grid->addWidget(new QLabel("Start"), ir, 1); @@ -230,7 +230,7 @@ // WhatsThis, RINEX Editing & QC // ----------------------------- - _reqcRnxVersion->setWhatsThis(tr("Select version number of emerging new RINEX file.
Note the following:
When converting RINEX Version 2 to Version 3 Observation files, the tracking mode or channel information (signal attribute, see RINEX Version 3 documentation) in the (last out of the three characters) observation code is left blank if unknown.
When converting RINEX Version 3 to Version 2, the mapping of observations follows a 'Signal priority list' with signal attributes as defined in RINEX Version 3.
")); + _reqcRnxVersion->setWhatsThis(tr("Select version number of emerging new RINEX file.
Note the following:
When converting RINEX Version 2 to Version 3 Observation files, the tracking mode or channel information (signal attribute, see RINEX Version 3 documentation) in the (last out of the three characters) observation code is left blank if unknown.
When converting RINEX Version 3 to Version 2, the mapping of observations follows a 'Signal priority list' with signal attributes as defined in RINEX Version 3.
")); _reqcSampling->setWhatsThis(tr("Select sampling rate of emerging new RINEX Observation file.
'0 sec' means that observations from all epochs in the RINEX input file will become part of the RINEX output file.
")); - _reqcV2Priority->setWhatsThis(tr("Specify a priority list of characters defining signal attributes as defined in RINEX Version 3. Priorities will be used in post processing mode to map RINEX Version 3 observation files to Version 2. The underscore character '_' stands for undefined attributes. The question mark '?' can be used as wildcard which represents any one character.
Signal priorities can be specified either as equal for all systems or as system specifics. The following are example priority strings:
Specify a priority list of characters defining signal attributes as defined in RINEX Version 3. Priorities will be used to map observations with RINEX Version 3 attributes from incoming streams to Version 2. The underscore character '_' stands for undefined attributes. A question mark '?' can be used as wildcard which represents any one character.
Signal priorities can be specified as equal for all systems, as system specific or as system and freq. specific. For example:
Specify begin of emerging new RINEX Observation file.
")); _reqcEndDateTime->setWhatsThis(tr("Specify end of emerging new RINEX Observation file.
")); @@ -281,5 +281,5 @@ void reqcDlg::closeEvent(QCloseEvent* event) { - int iRet = QMessageBox::question(this, "Close", "Save Options?", + int iRet = QMessageBox::question(this, "Close", "Save Options?", QMessageBox::Yes, QMessageBox::No, QMessageBox::Cancel); Index: /trunk/BNC/src/rinex/reqcedit.cpp =================================================================== --- /trunk/BNC/src/rinex/reqcedit.cpp (revision 7979) +++ /trunk/BNC/src/rinex/reqcedit.cpp (revision 7980) @@ -156,4 +156,5 @@ deleteLater(); } + } @@ -643,31 +644,41 @@ int key = 0; QString systems = obsFile->header().usedSystems(); - QString comment = QString("RINEX 3 => 2 CONVERSION DETAILS:"); + QString comment = QString("Signal priorities for RINEX 3 => 2 conversion:"); QString commentKey = QString("COMMENT %1").arg(key, 3, 10, QChar('0')); txtMap.insert(commentKey, comment); for(int ii = 0; ii < obsFile->numSys(); ii++) { - key++; char sys = systems[ii].toAscii(); - QString preferredAttrib = obsFile->signalPriorities(sys); - comment = QString("%1: Signal priority = %2").arg(sys).arg(preferredAttrib); - commentKey = QString("COMMENT %1").arg(key, 3, 10, QChar('0')); txtMap.insert(commentKey, comment); + QMap