⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rinex.h

📁 gps 读renix文件格式的源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
       unsigned short    tocMin;       double            tocSec;       double            clockBias;       double            clockDrift;       double            clockDriftRate;       double            iode;       double            crs;       double            deltan;       double            mo;       double            cuc;       double            eEccen;       double            cus;       double            sqrtA;       double            toe;       double            cic;       double            bigOmega;       double            cis;       double            io;       double            crc;       double            lilOmega;       double            bigOmegaDot;       double            idot;       double            codesOnL2;       double            toeGPSWeek;       double            pDataFlagL2;       double            svAccur;       double            svHealth;       double            tgd;       double            iodc;       double            transmTime;       double            fitInterval;       double            spare1;       double            spare2;   };//===================== GlonassEphemEpoch Class ======================   class GlonassEphemEpoch {     public:       GlonassEphemEpoch();     // Default Constructor       ~GlonassEphemEpoch();    // Destructor       //Initializers       bool setSatelliteAlmanacNumber(unsigned short input);       bool setEpochYear(unsigned short input);       bool setEpochMonth(unsigned short input);       bool setEpochDay(unsigned short input);       bool setEpochHour(unsigned short input);       bool setEpochMin(unsigned short input);       bool setEpochSec(double input);       bool setSvClockBias(double input);       bool setSvRelFreqBias(double input);       bool setMessageFrameTime(double input);       bool setPosX(double input);       bool setVelX(double input);       bool setAccX(double input);       bool setSvHealth(double input);       bool setPosY(double input);       bool setVelY(double input);       bool setAccY(double input);       bool setFreqNumber(double input);       bool setPosZ(double input);       bool setVelZ(double input);       bool setAccZ(double input);       bool setAgeOfOperation(double input);       //Selectors       unsigned short getSatelliteAlmanacNumber();       unsigned short getEpochYear();       unsigned short getEpochMonth();       unsigned short getEpochDay();       unsigned short getEpochHour();       unsigned short getEpochMin();       double         getEpochSec();       double getSvClockBias();       double getSvRelFreqBias();       double getMessageFrameTime();       double getPosX();       double getVelX();       double getAccX();       double getSvHealth();       double getPosY();       double getVelY();       double getAccY();       double getFreqNumber();       double getPosZ();       double getVelZ();       double getAccZ();       double getAgeOfOperation();     private:       unsigned short    satelliteAlmanacNumber;       unsigned short    epochYear;       unsigned short    epochMonth;       unsigned short    epochDay;       unsigned short    epochHour;       unsigned short    epochMin;       double            epochSec;       double            svClockBias;       double            svRelFreqBias;       double            messageFrameTime;       double            posX;       double            velX;       double            accX;       double            svHealth;       double            posY;       double            velY;       double            accY;       double            freqNumber;       double            posZ;       double            velZ;       double            accZ;       double            ageOfOperation;   }; //===================== GeostationaryEphemEpoch Class ======================   class GeostationaryEphemEpoch {     public:       GeostationaryEphemEpoch();     // Default Constructor       ~GeostationaryEphemEpoch();    // Destructor       //Initializers       bool setSatelliteNumber(unsigned short input);       bool setEpochYear(unsigned short input);       bool setEpochMonth(unsigned short input);       bool setEpochDay(unsigned short input);       bool setEpochHour(unsigned short input);       bool setEpochMin(unsigned short input);       bool setEpochSec(double input);       bool setSvClockBias(double input);       bool setSvRelFreqBias(double input);       bool setMessageFrameTime(double input);       bool setPosX(double input);       bool setVelX(double input);       bool setAccX(double input);       bool setSvHealth(double input);       bool setPosY(double input);       bool setVelY(double input);       bool setAccY(double input);       bool setAccurCode(double input);       bool setPosZ(double input);       bool setVelZ(double input);       bool setAccZ(double input);       bool setSpare(double input);       //Selectors       unsigned short getSatelliteNumber();       unsigned short getEpochYear();       unsigned short getEpochMonth();       unsigned short getEpochDay();       unsigned short getEpochHour();       unsigned short getEpochMin();       double getEpochSec();       double getSvClockBias();       double getSvRelFreqBias();       double getMessageFrameTime();       double getPosX();       double getVelX();       double getAccX();       double getSvHealth();       double getPosY();       double getVelY();       double getAccY();       double getAccurCode();       double getPosZ();       double getVelZ();       double getAccZ();       double getSpare();     private:       unsigned short    satelliteNumber;       unsigned short    epochYear;       unsigned short    epochMonth;       unsigned short    epochDay;       unsigned short    epochHour;       unsigned short    epochMin;       double            epochSec;       double            svClockBias;       double            svRelFreqBias;       double            messageFrameTime;       double            posX;       double            velX;       double            accX;       double            svHealth;       double            posY;       double            velY;       double            accY;       double            accurCode;       double            posZ;       double            velZ;       double            accZ;       double            spare;   };//======================== HeaderRecord Class =============================   class HeaderRecord   {    friend ostream& operator <<(ostream& os, const HeaderRecord& input);    friend istream& operator >>(istream& is, HeaderRecord& output);       public:    //Constructors    HeaderRecord();    HeaderRecord(string input);    // Destructor    ~HeaderRecord();    // Initializers    void SetHeaderRecord(string input);    void SetFirst60(string input);    void SetLabel(string input);    // Selectors    string GetFirst60();    string GetLabel();    // Operators    HeaderRecord& operator=(const HeaderRecord& input);    HeaderRecord* operator&(HeaderRecord input);       private:          string     first60;          string     label;    };//======================== RinexHeader Class =============================   class RinexHeader   {       public:         RinexHeader();         RinexHeader( list<HeaderRecord> inputImage );         ~RinexHeader();         void appendHeaderRecord(HeaderRecord addedRec);         void insertHeaderRecBeforeLabel(string label, HeaderRecord addedRec);         void insertHeaderRecAfterLabel(string label, HeaderRecord addedRec);	 void overwriteHeaderRecord( string label, string newFirst60 );	 void deleteHeaderRecord( string label );         void setHeaderImage( list<HeaderRecord> inputImage );         HeaderRecord       getHeaderRecord( string label );         void               writeHeaderImage( ofstream &outputStream );       private:         list<HeaderRecord> headerImage;   };//======================== RinexFile Class ================================   class RinexFile   // this is a base class   {       public:         ofstream            outputStream;         ifstream            inputStream;         // Constructors         RinexFile();         RinexFile(string pathFilename, ios::openmode mode );         // Destructor         virtual ~RinexFile();         // Initializers         void  setPathFilenameMode(string pathFilename,                                   ios::openmode mode);         bool  setRinexHeaderImage(list<HeaderRecord> input);         bool  setFormatVersion(float input);         bool  setRinexFileType(string input);         bool  setSatSystem(string input);         bool  setRinexProgram(string input);         bool  setCreatedByAgency(string input);         bool  setDateFileCreated(string input);         bool  incrementNumberErrors(unsigned long n);         bool  incrementNumberWarnings(unsigned long n);         bool  incrementNumberLinesRead(unsigned long n);         bool  setCurrentEpoch(DateTime input);         void  appendToErrorMessages(string errMessage);         void  appendToWarningMessages(string warnMessage);         void  readFileTypeAndProgramName();         // Selectors         string             getPathFilename();         ios::openmode      getFileMode();         RinexHeader        getRinexHeaderImage();         float              getFormatVersion();         char               getRinexFileType();         char               getSatSystem();         string             getRinexProgram();         string             getCreatedByAgency();         string             getDateFileCreated();         unsigned long      getNumberErrors();         unsigned long      getNumberWarnings();         unsigned long      getNumberLinesRead();         DateTime           getCurrentEpoch();         string             getErrorMessages();         string             getWarningMessages();       protected:         string              pathFilename;	 ios::openmode       fileMode;	 RinexHeader         rinexHeaderImage;	 float               formatVersion;	 char                rinexFileType;         char                satSystem;	 string              rinexProgram;	 string              createdByAgency;	 string              dateFileCreated;         unsigned long       numberErrors;         unsigned long       numberWarnings;         unsigned long       numberLinesRead;         DateTime            currentEpoch;         ostringstream       tempStream;         ostringstream       errorMessages;         ostringstream       warningMessages;         bool validFirstLine(string &recordReadIn);         bool blankString(string inputStr);         bool alphasInString(string inputStr);         void makeRecordLength80(string &inputRec);         void truncateHeaderRec(string &inputRec);         bool getDouble(string input, double &output);         bool getLong(string input, long &output);         bool validYMDHMS(long year, long month, long day, long hour,                          long minute, double second, string &warningString);   };//======================== RinexObsFile Class ===============================   class RinexObsFile : public RinexFile   {    public:    //Constructors    RinexObsFile();    RinexObsFile(string pathFilename, ios::openmode mode);    // Destructor    ~RinexObsFile();    // Initializers    bool setMarkerName(string input);    bool setMarkerNumber(string input);    bool setObserverName(string input);    bool setObserverAgency(string input);    bool setReceiverNumber(string input);    bool setReceiverType(string input);    bool setReceiverFirmwareVersion(string input);    bool setAntennaNumber(string input);    bool setAntennaType(string input);    bool setApproxX(double input);    bool setApproxY(double input);    bool setApproxZ(double input);    bool setAntennaDeltaH(double input);    bool setAntennaDeltaE(double input);    bool setAntennaDeltaN(double input);    bool setDefWaveLenFactorL1(unsigned short input);    bool setDefWaveLenFactorL2(unsigned short input);    bool setNumWaveLenPRN(unsigned short input);    bool setNumWaveLenRecords(unsigned short input);    bool setAllWaveLenRecordsElement(OneWaveLenRec input, int i);    bool setNumObsTypes(unsigned short input);    bool setObsTypeListElement(enum OBSTYPE input, int i);    bool setObsInterval(float input);    bool setFirstObs(YMDHMS input);    bool setFirstObsTimeSystem(string input);    bool setLastObs(YMDHMS input);    bool setLastObsTimeSystem(string input);    bool setNumberLeapSec(unsigned short input);    bool setRcvrClockApplied(unsigned short input);    bool setNumberOfSat(unsigned short input);    bool setSatObsTypeListElement(ObsCountForPRN input, int i);    bool setNextSat(unsigned short input);    void incrementNumberObsEpochs( unsigned int n );    unsigned short readHeader();    unsigned short readEpoch(ObsEpoch &epoch);    // Selectors    string getMarkerName();    string getMarkerNumber();    string getObserverName();    string getObserverAgency();    string getReceiverNumber();    string getReceiverType();    string getReceiverFirmwareVersion();    string getAntennaNumber();    string getAntennaType();    double getApproxX();    double getApproxY();    double getApproxZ();    double getAntennaDeltaH();    double getAntennaDeltaE();    double getAntennaDeltaN();    unsigned short getDefWaveLenFactorL1();    unsigned short getDefWaveLenFactorL2();    unsigned short getNumWaveLenPRN();    unsigned short getNumWaveLenRecords();    OneWaveLenRec  getAllWaveLenRecordsElement(int i);    unsigned short getNumObsTypes();    enum OBSTYPE   getObsTypeListElement(int i);    float          getObsInterval();    YMDHMS         getFirstObs();    string         getFirstObsTimeSystem();    YMDHMS         getLastObs();    string         getLastObsTimeSystem();    unsigned short getNumberLeapSec();    unsigned short getRcvrClockApplied();    unsigned short getNumberOfSat();    ObsCountForPRN getSatObsTypeListElement(int i);    unsigned short getNextSat();    void writeHeaderImage( ofstream &outputStream );    void writeEpoch( ofstream &outputOBS, ObsEpoch &outputEpoch );    unsigned int         getNumberObsEpochs();    static unsigned int  getObsFilesCount();    private:      RecStruct   headerRecs[MAXOBSHEADERRECTYPES];      string      markerName;              // Name of antenna marker.                                           //   - MARKER NAME      string      markerNumber;            // Number of antenna marker.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -