Changeset 3171 in ntrip for trunk/BNC/upload
- Timestamp:
- Mar 29, 2011, 4:10:33 PM (14 years ago)
- Location:
- trunk/BNC/upload
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/upload/bncrtnetdecoder.cpp
r3166 r3171 48 48 // Constructor 49 49 //////////////////////////////////////////////////////////////////////// 50 bncRtnetDecoder::bncRtnetDecoder(const QString& fileName) { 51 50 bncRtnetDecoder::bncRtnetDecoder() { 52 51 bncSettings settings; 53 QString path = settings.value("rnxPath").toString(); 54 expandEnvVar(path); 55 56 if ( path.length() > 0 && path[path.length()-1] != QDir::separator() ) { 57 path += QDir::separator(); 58 } 59 60 _fileName = path + fileName; 61 62 _out = 0; 52 _year = 0; 63 53 } 64 54 … … 66 56 //////////////////////////////////////////////////////////////////////// 67 57 bncRtnetDecoder::~bncRtnetDecoder() { 68 delete _out;69 58 } 70 59 71 // Reopen Output File60 // Decode Method 72 61 //////////////////////////////////////////////////////////////////////// 73 void bncRtnetDecoder::reopen() { 74 QDate currDate = currentDateAndTimeGPS().date(); 75 if (!_out || _fileDate != currDate) { 76 delete _out; 77 QByteArray fileName = 78 (_fileName + "_" + currDate.toString("yyMMdd")).toAscii(); 79 bncSettings settings; 80 if (Qt::CheckState(settings.value("rnxAppend").toInt()) == Qt::Checked) { 81 _out = new ofstream(fileName.data(), ios::out | ios::app); 82 } 83 else { 84 _out = new ofstream(fileName.data()); 85 } 86 _fileDate = currDate; 87 } 62 void bncRtnetDecoder::readEpochTime(const QString& line) { 63 QTextStream in(line.toAscii()); 64 QString hlp; 65 in >> hlp >> _year >> _month >> _day >> _hour >> _min >> _sec; 66 GPSweekFromYMDhms(_year, _month, _day, _hour, _min, _sec, _GPSweek, _GPSweeks); 88 67 } 89 68 … … 91 70 //////////////////////////////////////////////////////////////////////// 92 71 t_irc bncRtnetDecoder::Decode(char* buffer, int bufLen, vector<string>& errmsg) { 72 93 73 errmsg.clear(); 94 reopen(); 95 _out->write(buffer, bufLen); 96 _out->flush(); 74 75 _buffer.append(QByteArray(buffer, bufLen)); 76 77 int iLast = _buffer.lastIndexOf('\n'); 78 79 if (iLast != -1) { 80 QStringList lines = _buffer.split('\n', QString::SkipEmptyParts); 81 _buffer = _buffer.mid(iLast+1); 82 cout << "number of lines = " << lines.size() << endl; 83 for (int ii = 0; ii < lines.size(); ii++) { 84 if (lines[ii].indexOf('*') != -1) { 85 readEpochTime(lines[ii]); 86 cout << "epoch: " << lines[ii].toAscii().data() << endl; 87 } 88 else if (_year != 0) { 89 cout << "pos: " << lines[ii].toAscii().data() << endl; 90 } 91 } 92 } 93 97 94 return success; 98 95 } -
trunk/BNC/upload/bncrtnetdecoder.h
r3167 r3171 23 23 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 24 24 25 #ifndef INC_BNCRTNETDECODER_H26 #define INC_BNCRTNETDECODER_H25 #ifndef BNCRTNETDECODER_H 26 #define BNCRTNETDECODER_H 27 27 28 28 #include <fstream> … … 33 33 class bncRtnetDecoder: public GPSDecoder, public bncEphUser { 34 34 public: 35 bncRtnetDecoder( const QString& fileName);35 bncRtnetDecoder(); 36 36 ~bncRtnetDecoder(); 37 37 virtual t_irc Decode(char* buffer, int bufLen, std::vector<std::string>& errmsg); 38 38 private: 39 void reopen(); 40 QString _fileName; 41 std::ofstream* _out; 42 QDate _fileDate; 39 void readEpochTime(const QString& line); 40 41 QString _buffer; 42 43 int _GPSweek; 44 double _GPSweeks; 45 int _year; 46 int _month; 47 int _day; 48 int _hour; 49 int _min; 50 double _sec; 51 52 double _dx; 53 double _dy; 54 double _dz; 55 double _dxr; 56 double _dyr; 57 double _dzr; 58 double _ox; 59 double _oy; 60 double _oz; 61 double _oxr; 62 double _oyr; 63 double _ozr; 64 double _sc; 65 double _scr; 66 double _t0; 43 67 }; 44 68
Note:
See TracChangeset
for help on using the changeset viewer.