Changeset 125 in ntrip


Ignore:
Timestamp:
Sep 7, 2006, 7:07:24 PM (18 years ago)
Author:
mervart
Message:

* empty log message *

Location:
trunk/BNC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/bncrinex.cpp

    r93 r125  
    2525#include "bncrinex.h"
    2626#include "bncutils.h"
    27 #include "RTCM3/rtcm3torinex.h"
    2827
    2928using namespace std;
     
    7372// File Name according to RINEX Standards
    7473////////////////////////////////////////////////////////////////////////////
    75 void bncRinex::resolveFileName(struct converttimeinfo& cti) {
     74void bncRinex::resolveFileName(const QDateTime& datTim) {
    7675
    7776  QSettings settings;
     
    8382  }
    8483
    85   QDate date(cti.year, cti.month, cti.day);
    86 
    8784  QChar ch = '0';
    8885
    8986  path += _statID.left(4) +
    90           QString("%1%2.%3O").arg(date.dayOfYear(), 3, 10, QChar('0'))
     87          QString("%1%2.%3O").arg(datTim.date().dayOfYear(), 3, 10, QChar('0'))
    9188                             .arg(ch)
    92                              .arg(date.year() % 100, 2, 10, QChar('0'));
     89                             .arg(datTim.date().year() % 100,2,10, QChar('0'));
    9390
    9491  _fName = path.toAscii();
     
    9794// Write RINEX Header
    9895////////////////////////////////////////////////////////////////////////////
    99 void bncRinex::writeHeader(struct converttimeinfo& cti, double second) {
     96void bncRinex::writeHeader(const QDateTime& datTim) {
    10097
    10198  // Open the Output File
    10299  // --------------------
    103   resolveFileName(cti);
     100  resolveFileName(datTim);
    104101  _out.open(_fName.data());
    105102  _out.setf(ios::showpoint | ios::fixed);
     
    116113      }
    117114      else if (line.indexOf("TIME OF FIRST OBS") != -1) {
    118         _out << setw(6) << cti.year
    119              << setw(6) << cti.month
    120              << setw(6) << cti.day
    121              << setw(6) << cti.hour
    122              << setw(6) << cti.minute
    123              << setw(13) << setprecision(7) << second
    124              << "                 TIME OF FIRST OBS"    << endl;
     115        _out << datTim.toString("  yyyy    MM    dd"
     116                                "    hh    mm   ss.zzz0000").toAscii().data();
     117        _out << "                 TIME OF FIRST OBS"    << endl;
    125118      }
    126119      else {
     
    158151    _out << "     1     1                                                WAVELENGTH FACT L1/2" << endl;
    159152    _out << "     4    P1    P2    L1    L2                              # / TYPES OF OBSERV"  << endl;
    160     _out << setw(6) << cti.year
    161          << setw(6) << cti.month
    162          << setw(6) << cti.day
    163          << setw(6) << cti.hour
    164          << setw(6) << cti.minute
    165          << setw(13) << setprecision(7) << second
    166          << "                 "                                      << "TIME OF FIRST OBS"    << endl;
     153        _out << datTim.toString("  yyyy    MM    dd"
     154                                "    hh    mm   ss.zzz0000").toAscii().data();
     155    _out << "                 "                                      << "TIME OF FIRST OBS"    << endl;
    167156    _out << "                                                            END OF HEADER"        << endl;
    168157  }
     
    191180  // Time of Epoch
    192181  // -------------
    193   struct converttimeinfo cti;
    194182  Observation* firstObs = *_obs.begin();
    195   converttime(&cti, firstObs->GPSWeek, firstObs->GPSWeeks);
     183
     184  QDateTime datTim = dateAndTimeFromGPSweek( firstObs->GPSWeek,
     185                                             firstObs->GPSWeeks +
     186                                             fmod(firstObs->sec, 1.0) );
    196187
    197188  // Write RINEX Header
    198189  // ------------------
    199190  if (!_headerWritten) {
    200     writeHeader(cti, cti.second + fmod(firstObs->sec, 1.0));
    201   }
    202 
    203   _out << setw(3)  << cti.year%100
    204        << setw(3)  << cti.month
    205        << setw(3)  << cti.day
    206        << setw(3)  << cti.hour
    207        << setw(3)  << cti.minute
    208        << setw(11) << setprecision(7)
    209        << cti.second + fmod(firstObs->sec, 1.0)
    210        << "  " << 0 << setw(3)  << _obs.size();
     191    writeHeader(datTim);
     192  }
     193
     194  _out << datTim.toString(" yy MM dd hh mm ss.zzz0000").toAscii().data();
    211195
    212196  QListIterator<Observation*> it(_obs); int iSat = 0;
  • trunk/BNC/bncrinex.h

    r82 r125  
    44
    55#include <QByteArray>
     6#include <QDateTime>
    67#include <QList>
    78
     
    1819
    1920 private:
    20    void resolveFileName(struct converttimeinfo& cti);
     21   void resolveFileName(const QDateTime& datTim);
    2122   void readSkeleton();
    22    void writeHeader(struct converttimeinfo& cti, double second);
     23   void writeHeader(const QDateTime& datTim);
    2324
    2425   QByteArray          _statID;
  • trunk/BNC/bncutils.h

    r83 r125  
    44
    55#include <QString>
     6#include <QDateTime>
    67
    78void expandEnvVar(QString& str);
    89
     10QDateTime dateAndTimeFromGPSweek(int GPSWeek, double GPSWeeks);
     11
    912#endif
Note: See TracChangeset for help on using the changeset viewer.