Changeset 7764 in ntrip for trunk/BNC


Ignore:
Timestamp:
Feb 11, 2016, 11:24:45 AM (8 years ago)
Author:
stuerze
Message:

Agency and solution ID added in SINEX TRO File header

Location:
trunk/BNC/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/bncsinextro.cpp

    r7523 r7764  
    8484  }
    8585
    86 
    87   QString numberOfEpochs = QString("%1").arg(1, 5, 10, QLatin1Char('0'));
    88   _out << "%=TRO 2.00 BNC " << creationTime.toStdString() << " BNC "
    89        << startTime.toStdString() << " " << endTime.toStdString() << " P "
     86  QString numberOfEpochs = QString("%1").arg(intr * _sampl, 5, 10, QLatin1Char('0'));
     87  QString ac   = QString("%1").arg(settings.value("PPP/snxtroAc").toString(),3,QLatin1Char('0'));
     88  QString sol  = QString("%1").arg(settings.value("PPP/snxtroSol").toString(),4,QLatin1Char('0'));
     89  QString corr = settings.value("PPP/corrMount").toString();
     90  _out << "%=TRO 2.00 " << ac.toStdString() << " "
     91       << creationTime.toStdString()   << " "   << ac.toStdString() << " "
     92       << startTime.toStdString()      << " "   << endTime.toStdString() << " P "
    9093       << numberOfEpochs.toStdString() << " 0 " << " T "  << endl;
    91 
    9294
    9395  _out << "+FILE/REFERENCE" << endl;
    9496  _out << " DESCRIPTION        " << "BNC generated SINEX TRO file" << endl;
    9597  _out << " OUTPUT             " << "Total Troposphere Zenith Path Delay Product" << endl;
    96   _out << " SOFTWARE           " << BNCPGMNAME <<  endl;
    97   _out << " INPUT              " << "Orbit and Clock information used from BRDC and RTCM-SSR streams" << endl;
     98  _out << " SOFTWARE           " <<  BNCPGMNAME <<  endl;
     99  _out << " INPUT              " << "Additional Orbit and Clock information from Ntrip stream "
     100                                 << corr.toStdString() <<endl;
    98101  _out << "-FILE/REFERENCE" << endl << endl;
    99102
    100 
     103  double recEll[3];
     104  int lonD, lonM,  latD, latM;
     105  double lonS, latS;
     106  xyz2ell(_opt->_xyzAprRover.data(), recEll);
     107  recEll[0] = recEll[0] * 180.0 / M_PI;
     108  recEll[1] = recEll[1] * 180.0 / M_PI;
     109  deg2DMS(recEll[1], lonD, lonM, lonS);
     110  deg2DMS(recEll[0], latD, latM, latS);
     111  QString country;
     112  QListIterator<QString> it(settings.value("mountPoints").toStringList());
     113  while (it.hasNext()) {
     114    QStringList hlp = it.next().split(" ");
     115    if (hlp.size() < 7)
     116      continue;
     117    if (hlp.join(" ").indexOf(QString::fromStdString(_opt->_roverName), 0) != -1) {
     118      country = hlp[2];
     119    }
     120  }
    101121  _out << "+SITE/ID" << endl;
     122  _out << "*CODE PT DOMES____ T _STATION DESCRIPTION___ APPROX_LON_ APPROX_LAT_ _APP_H_" << endl;
     123  _out << " " << _opt->_roverName.substr(0,4) << "  A           P "
     124       << country.toStdString() << "                   "
     125       << QString(" %1").arg(lonD, 3, 10, QLatin1Char(' ')).toStdString()
     126       << QString(" %1").arg(lonM, 2, 10, QLatin1Char(' ')).toStdString()
     127       << QString(" %1").arg(lonS, 4, 'f', 1, QLatin1Char(' ')).toStdString()
     128       << QString(" %1").arg(latD, 3, 10, QLatin1Char(' ')).toStdString()
     129       << QString(" %1").arg(latM, 2, 10, QLatin1Char(' ')).toStdString()
     130       << QString(" %1").arg(latS, 4, 'f', 1, QLatin1Char(' ')).toStdString()
     131       << QString(" %1").arg(recEll[2], 7, 'f', 1, QLatin1Char(' ')).toStdString()
     132       << endl;
    102133  _out << "-SITE/ID" << endl << endl;
    103134
     
    105136    _out << "+SITE/RECEIVER" << endl;
    106137    _out << "*SITE PT SOLN T DATA_START__ DATA_END____ DESCRIPTION_________ S/N__ FIRMWARE___" << endl;
    107     _out << " " << _opt->_roverName.substr(0,4) << "  A    1 P "
     138    _out << " " << _opt->_roverName.substr(0,4) << "  A "  <<  sol.toStdString() << " P "
    108139         << startTime.toStdString() << " " << endTime.toStdString() << " " << _opt->_recNameRover << endl;
    109140    _out << "-SITE/RECEIVER" << endl << endl;
     
    112143  _out << "+SITE/ANTENNA" << endl;
    113144  _out << "*SITE PT SOLN T DATA_START__ DATA_END____ DESCRIPTION_________ S/N__" << endl;
    114   _out << " " << _opt->_roverName.substr(0,4) << "  A    1 P "
     145  _out << " " << _opt->_roverName.substr(0,4) << "  A "  <<  sol.toStdString() << " P "
    115146       << startTime.toStdString() << " " << endTime.toStdString() << " " << _opt->_antNameRover << endl;
    116147  _out << "-SITE/ANTENNA" << endl << endl;
     
    166197  _out << "*                                             UP______ NORTH___ EAST____" << endl;
    167198  _out << "*SITE PT SOLN T DATA_START__ DATA_END____ AXE ARP->BENCHMARK(M)_________" << endl;
    168   _out << " " << _opt->_roverName.substr(0,4) << "  A    1 P "
     199  _out << " " << _opt->_roverName.substr(0,4) << "  A "  <<  sol.toStdString() << " P "
    169200       << startTime.toStdString() << " " << endTime.toStdString() << " " << " UNE"
    170201       << QString("%1").arg(_opt->_neuEccRover(3), 9, 'f', 4, QLatin1Char(' ')).toStdString()
     
    173204  _out << "-SITE/ANTENNA" << endl << endl;
    174205
    175 
    176206  _out << "+TROP/COORDINATES" << endl;
    177207  _out << "*SITE PT SOLN T __STA_X_____ __STA_Y_____ __STA_Z_____ SYSTEM REMRK" << endl;
    178   _out << " " << _opt->_roverName.substr(0,4) << "  A    1 P"
     208  _out << " " << _opt->_roverName.substr(0,4) << "  A "  <<  sol.toStdString() << " P "
    179209       << QString("%1").arg(_opt->_xyzAprRover(1), 13, 'f', 3, QLatin1Char(' ')).toStdString()
    180210       << QString("%1").arg(_opt->_xyzAprRover(2), 13, 'f', 3, QLatin1Char(' ')).toStdString()
     
    182212       << " ITRF08"<< endl;
    183213  _out << "-TROP/COORDINATES"<< endl << endl;
    184 
    185214
    186215  _out << "+TROP/DESCRIPTION" << endl;
     
    196225  _out << "-TROP/DESCRIPTION"<< endl << endl;
    197226
    198 
    199227  _out << "+TROP/SOLUTION" << endl;
    200228  _out << "*SITE EPOCH_______ TROTOT STDEV" << endl;
  • trunk/BNC/src/bncwindow.cpp

    r7702 r7764  
    867867  _pppWidgets._logPath->setMaximumWidth(35*ww);
    868868  _pppWidgets._snxtroPath->setMaximumWidth(35*ww);
    869   _pppWidgets._snxtroIntr->setMaximumWidth(15*ww);
     869  _pppWidgets._snxtroIntr->setMaximumWidth(10*ww);
     870  _pppWidgets._snxtroAc  ->setMaximumWidth(10*ww);
     871  _pppWidgets._snxtroSol ->setMaximumWidth(7*ww);
    870872
    871873  QGridLayout* pppLayout1 = new QGridLayout();
     
    902904  pppLayout1->addWidget(new QLabel("   SNX TRO interval"),   ir, 3);
    903905  pppLayout1->addWidget(_pppWidgets._snxtroIntr,             ir, 4);
    904   pppLayout1->addWidget(new QLabel("   SNX TRO sampling"),   ir, 5, Qt::AlignRight);
     906  pppLayout1->addWidget(new QLabel("   SNX TRO sampling"),   ir, 5);
    905907  pppLayout1->addWidget(_pppWidgets._snxtroSampl,            ir, 6, Qt::AlignRight);
    906908  ++ir;
     909  pppLayout1->addWidget(new QLabel("   SNX TRO AC"),         ir, 3);
     910  pppLayout1->addWidget(_pppWidgets._snxtroAc,               ir, 4);
     911  pppLayout1->addWidget(new QLabel("   SNX TRO solution")    ,ir, 5);
     912  pppLayout1->addWidget(_pppWidgets._snxtroSol,              ir, 6, Qt::AlignRight);
    907913  pppLayout1->setRowStretch(ir, 999);
    908914
     
    13341340  _pppWidgets._snxtroIntr->setWhatsThis(tr("<p>Select a length for SINEX Troposphere files.</p><p>Default 'SNX TRO interval' for saving SINEX Troposphere files on disk is '1 hour'.</p>"));
    13351341  _pppWidgets._snxtroSampl->setWhatsThis(tr("<p>Select a 'Sampling' rate for saving troposphere parameters.</p><p>Default 'SNX TRO sampling' rate is '0', meaning that all troposphere estimates will be saved on disk.</p>"));
     1342  _pppWidgets._snxtroAc->setWhatsThis(tr("<p>Specify an abbreviation for the Analysis Center (AC) providing the SINEX Troposphere files.</p>"));
     1343  _pppWidgets._snxtroSol->setWhatsThis(tr("<p>Specify a solution ID to allow a distinction of different solutions per AC.</p>"));
    13361344
    13371345  // WhatsThis, PPP (3)
  • trunk/BNC/src/pppWidgets.cpp

    r7677 r7764  
    6464  _snxtroSampl  = new QSpinBox();      _snxtroSampl ->setObjectName("PPP/snxtroSampl");  _widgets << _snxtroSampl;
    6565  _snxtroIntr   = new QComboBox();     _snxtroIntr  ->setObjectName("PPP/snxtroIntr");   _widgets << _snxtroIntr;
     66  _snxtroAc     = new QLineEdit();     _snxtroAc    ->setObjectName("PPP/snxtroAc");     _widgets << _snxtroAc;
     67  _snxtroSol    = new QLineEdit();     _snxtroSol   ->setObjectName("PPP/snxtroSol");    _widgets << _snxtroSol;
    6668  _v3filenames  = new QCheckBox();     _v3filenames ->setObjectName("PPP/v3filenames");  _widgets << _v3filenames;
    6769  _staTable     = new QTableWidget();  _staTable    ->setObjectName("PPP/staTable");     _widgets << _staTable;
     
    103105         this, SLOT(slotPPPTextChanged()));
    104106
     107  connect(_snxtroAc, SIGNAL(textChanged(const QString &)),
     108         this, SLOT(slotPPPTextChanged()));
     109
     110  connect(_snxtroSol, SIGNAL(textChanged(const QString &)),
     111         this, SLOT(slotPPPTextChanged()));
     112
    105113  slotEnableWidgets();
    106114
     
    218226  delete _snxtroSampl;
    219227  delete _snxtroIntr;
     228  delete _snxtroAc;
     229  delete _snxtroSol;
    220230  delete _v3filenames;
    221231  for (int iRow = _staTable->rowCount()-1; iRow >=0; iRow--) {
     
    296306  _nmeaPath   ->setText(settings.value(_nmeaPath   ->objectName()).toString());
    297307  _snxtroPath ->setText(settings.value(_snxtroPath ->objectName()).toString());
     308  _snxtroAc   ->setText(settings.value(_snxtroAc   ->objectName()).toString());
     309  _snxtroSol  ->setText(settings.value(_snxtroSol  ->objectName()).toString());
    298310
    299311  if (!settings.value(_sigmaC1->objectName()).toString().isEmpty()) {
     
    396408  settings.setValue(_snxtroPath  ->objectName(), _snxtroPath  ->text());
    397409  settings.setValue(_snxtroSampl ->objectName(), _snxtroSampl ->value());
     410  settings.setValue(_snxtroIntr  ->objectName(), _snxtroIntr  ->currentText());
     411  settings.setValue(_snxtroAc    ->objectName(), _snxtroAc    ->text());
     412  settings.setValue(_snxtroSol   ->objectName(), _snxtroSol   ->text());
    398413  settings.setValue(_v3filenames ->objectName(), _v3filenames ->checkState());
    399   settings.setValue(_snxtroIntr  ->objectName(), _snxtroIntr  ->currentText());
    400414  settings.setValue(_lcGPS       ->objectName(), _lcGPS       ->currentText());
    401415  settings.setValue(_lcGLONASS   ->objectName(), _lcGLONASS   ->currentText());
     
    467481    _snxtroSampl->setEnabled(true);
    468482    _snxtroIntr ->setEnabled(true);
     483    _snxtroAc   ->setEnabled(true);
     484    _snxtroSol  ->setEnabled(true);
    469485  }
    470486  else {
    471487    _snxtroSampl->setEnabled(false);
    472488    _snxtroIntr ->setEnabled(false);
     489    _snxtroAc   ->setEnabled(false);
     490    _snxtroSol  ->setEnabled(false);
    473491  }
    474492
     
    538556    if ( _snxtroPath->text() != "" ) {
    539557      _snxtroSampl->setEnabled(true);
    540       _snxtroIntr->setEnabled(true);
     558      _snxtroIntr ->setEnabled(true);
     559      _snxtroAc   ->setEnabled(true);
     560      _snxtroSol  ->setEnabled(true);
    541561      _snxtroSampl->setPalette(paletteWhite);
    542       _snxtroIntr->setPalette(paletteWhite);
     562      _snxtroIntr ->setPalette(paletteWhite);
     563      _snxtroAc   ->setPalette(paletteWhite);
     564      _snxtroSol  ->setPalette(paletteWhite);
    543565    }
    544566    else {
    545567    _snxtroSampl->setEnabled(false);
    546     _snxtroIntr->setEnabled(false);
     568    _snxtroIntr ->setEnabled(false);
     569    _snxtroAc   ->setEnabled(false);
     570    _snxtroSol  ->setEnabled(false);
    547571    _snxtroSampl->setPalette(paletteGray);
    548     _snxtroIntr->setPalette(paletteGray);
    549     }
    550   }
    551 }
     572    _snxtroIntr ->setPalette(paletteGray);
     573    _snxtroAc   ->setPalette(paletteGray);
     574    _snxtroSol  ->setPalette(paletteGray);
     575    }
     576  }
     577}
  • trunk/BNC/src/pppWidgets.h

    r7640 r7764  
    5050  QSpinBox*      _snxtroSampl;
    5151  QComboBox*     _snxtroIntr;
     52  QLineEdit*     _snxtroAc;
     53  QLineEdit*     _snxtroSol;
    5254  QCheckBox*     _v3filenames;
    5355  QTableWidget*  _staTable;
Note: See TracChangeset for help on using the changeset viewer.