📄 gpsnavmsg.h
字号:
#ifndef GPSNAVMSG_H_
#define GPSNAVMSG_H_
#include<vector>
#include<fstream>
#include<iostream>
#include "coordination.h"
#include "Predefine.h"
#include"Time.h"
using namespace std;
class DELTAUTC{
public:
double A0;
double A1;
int T;
int W;
};
class GPSNAVMSGHDR{
public:
unsigned char byMajorVer;
unsigned char byMinorVer;
char szMarkName[_MAX_MARKNAME + 1];
char szMarkNumber[_MAX_MARKNUMBER + 1];
char szPgm[21];
char szRunBy[21];
char szDate[21];
double pdIonAlpha[4];
double pdIonBeta[4];
DELTAUTC DeltaUTC;
int LeapSeconds;
unsigned char pbySVList[_MAX_SV];
unsigned long dwLength;
unsigned long dwCount;
GPSNAVMSGHDR& ReadNavMsgHeader(ifstream& in );
};
class oneGPSNAVMSGREC{ //一个观测记录
public:
double GetIonDelay(double& E);
double GetSVClkRelation();
void GetSVPos(GPSTIME& shootTime,double& X,double& Y,double& Z); //new
double GetSVClkBias(const GPSTIME& gTimeEpoch); //new
int byPRN;
ATIME TOC; //卫星参考时刻
double dClkBias; //卫星钟偏差
double dClkDrift; //卫星钟漂移
double dClkDriftRate; //卫星钟的漂移速度
double dIODE; // 数据,星历发布时间
double dCrs;
double dDeltaN;
double dM0;
double dCuc;
double d_e; //轨道偏心率
double dCus;
double dSqrtA;
double dTOE; //星历的参考时刻
double dCic;
double dOmega;
double dCis;
double d_i0;
double dCrc;
double d_w;
double dOmegaDot;
double d_iDot;
double dCodesOnL2Channel;
double dGPSWeek; //GPS周数,与TOE一同表示时间
double dL2PDataFlag;
double dSVAccuraccy;
double dSVHealth;
double dTGD;
double dIODC;
double dTransmissionTimeOfMessage;
double dFitInterval;
double dSpare1;
double dSpare2;
oneGPSNAVMSGREC& ReadRecData(ifstream& in);
private:
double Ek; //用于存放EK,以便于计算相对论效应引起的卫星钟差
};
class GPSNAVMSGREC //同一颗卫星的数据全放于此
{
public:
GPSNAVMSGREC(const GPSNAVMSGREC& r);
GPSNAVMSGREC();
~GPSNAVMSGREC();
int prn;
vector<oneGPSNAVMSGREC*> pOneSatNavRec;
};
class GPSNAVMSG
{
private:
double x0,y0,z0;
GPSNAVMSGHDR Header;
vector<GPSNAVMSGREC*> pNavList;
// GPSNAVMSGREC navRecList[30];
public:
~GPSNAVMSG();
GPSNAVMSG& GetNearTimeNavRec(int byPRN,GPSTIME& gTimeEpoch,oneGPSNAVMSGREC& nearTimeNavRec);//new
GPSNAVMSG(ifstream&);
int Size();
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -