//基本广播星历块
struct EPHEMERISBLOCK
//每小时一个卫星对应一个基本星历块
{
//PRN 号
int i1PRN;
double f8a0,f8a1,f8a2;//时间改正数
//六个轨道参数
double f8IODE,f8Crs,f8Deltan,f8M0;// ORBIT - 1
double f8Cuc,f8e,f8Cus,f8SqrtA;// ORBIT - 2
double f8Toe,f8Cic,f8OMEGA,f8Cis;// ORBIT - 3
double f8i0,f8Crc,f8omega,f8OMEGAdot;// ORBIT - 4
double f8IDOT,f8GpsWeekNumber,f8L2C,f8L2P;// ORBIT - 5
double f8SatAccuracy,f8SatHealth,f8TGD,f8IODC;// ORBIT - 6
};
void CGPS0168View::OnGps()
{
// TODO: Add your command handler code here
CString str;
CFileDialog dlg(TRUE,".06n","*.06n",OFN_HIDEREADONLY,"GPS 文 件 (*.06)|
*.06n",NULL);
if (dlg.DoModal()==IDOK)
{
str=dlg.GetFileName();
}
int i4HeadLineNum = 0;
//打开文件
CStdioFile pfEph;
BOOL IsEn = pfEph.Open(str, CFile::modeRead);
if(!IsEn) return ;
//读入头文件
CString strLine;
while(IsEn)
{
IsEn = pfEph.ReadString(strLine);
i4HeadLineNum++;
int index = strLine.Find("END OF HEADER");
if( -1 != index )
break;
}
//计算星历块数
评论4