• 大小: 3.87MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-10
  • 语言: C/C++
  • 标签: RINEX  

资源简介

C++读取txt文本中RINEX格式星历文件,并计算出该时刻卫星在地固坐标系中坐标。

资源截图

代码片段和文件信息

#include“标头.h“
void main()
{
//1***********定义参数变量
Time time;/*年月日时分秒*/
double a0 = 0;/*种差*/
double a1 = 0;/*钟速*/
double a2 = 0;/*钟漂*/
  //2***********
double IODE = 0;/*卫星钟改正参数的数据龄期*/
double Crs = 0;
double Delta_n = 0;/*平均角速度改正数*/
double M0 = 0;/*参考时刻t0的平近点角*/
//3***********
double Cuc = 0;
double e = 0;/*卫星轨道椭圆离心率*/
double Cus = 0;
double sqrt_a = 0;/*卫星轨道椭圆长半径的平方根*/
//4***********
double t0 = 0;    /*卫星参考时刻*/
double Cic = 0;
double OMEGA_0 = 0;/*参考时刻t0的升交点赤经*/
double Cis = 0;
//5***********
double i0 = 0;/*参考时刻t0的轨道平面倾角*/
double Crc = 0;
double w = 0;/*近地点角距*/
double OMEGA_DOT = 0;/*升交点赤经的变化率*/
 //6***********
double IDOT = 0;/*卫星轨道平面倾角i0的变化率*/
double cflgl2 = 0;/*L2上的C\A码伪距指示*/
int weekno = 0;/*GPS星期数*/
double pflgl2 = 0;/*L2上的P码伪距指示*/
  //7***********
double svacc = 0;/*本星的精度指示*/
double svhlth = 0;/*卫星健康指标*/
double tgd = 0;/*电离层延迟改正参数*/
double IODC = 0;/*卫星钟改正参数的数据龄期*/
//8***********
double ttm = 0;/*信息传输时间*/
double fi = 0;/*星历拟合区间标志*/
double Spare = 0;
double spare = 0;
FILE *fpout *fin;
fpout = fopen(“星历.txt“ “r“);
if (!fpout)
{
cout << “open the file errror!\n“;
}
else
{
cout << “open the file success!\n“;
}
//一、
fscanf(fpout “%d %d %d %d %d %lf %lf %lf %lf“ &time.year &time.month
&time.day &time.hour &time.minute &time.second &a0 &a1 &a2);
//printf(“%d %d %d %d %d %.10lf %.10lf %.10lf %.10lf \n“ time.year time.month
// time.day time.hour time.minute time.second a0 a1 a2);
//二、
fscanf(fpout “ %lf %lf %lf %lf “ &IODE &Crs &Delta_n &M0);
//printf(“IODE:%.10lf \n Crs:%.10lf \n Delta_n:%.10lf \n M0:%.10lf \n“ IODE Crs Delta_n M0);
//三、
fscanf(fpout “ %lf %lf %lf %lf “ &Cuc &e &Cus &sqrt_a);
//printf(“ %.10lf \t %.10lf \t %.10lf \t %.10lf \n“ Cuc e Cus sqrt_a);
//四、
fscanf(fpout “ %lf %lf %lf %lf “ &t0 &Cic &OMEGA_0 &Cis);
//printf(“ %.10lf \t %.10lf \t %.10lf \t %.10lf \n“ t0 Cic OMEGA_0 Cis);
//五、
fscanf(fpout “ %lf %lf %lf %lf “ &i0 &Crc &w &OMEGA_DOT);
//printf(“ %.10lf \t %.10lf \t %.10lf \t %.10lf \n“ i0 Crc w OMEGA_DOT);
//六、
fscanf(fpout “ %lf %lf %lf %lf “ &IDOT &cflgl2 &weekno &pflgl2);
//printf(“ %.10lf \t %.10lf \t %.10lf \t %.10lf \n“ IDOT cflgl2 weekno pflgl2);
//七、
/*fscanf(fpout “ %lf %lf %lf %lf “ &svacc &svhlth &tgd &IODC);
printf(“ %.10lf \t %.10lf \t %.10lf \t %.10lf \n“ svacc svhlth tgd IODC);
*/

double tt0e;  //t为GPS周秒
GetGPSTime(time.year time.month time.day time.hour
time.minute time.second &t0e &weekno&GASTweek);//把数据分开读入到一个数组中存储
int l = 0;
double XK[21];
double YK[21];
double ZK[21];
for (int l = 0; l < 21; l++)
{
//计算平均角速度
double GM = 3986004.418e008;
double n n0;
n0 = sqrt(GM / (pow(sqrt_a 6)));
n = Delta_n + n0;

//规划时刻
t = t0e + l * 60;
double tk = t - t0e;
double Mk = M0 + n * tk;


// 迭代计算平近点角的计算
double Ek

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-08-01 23:06  根据提供的广播星历计算卫星坐标\
     目录           0  2018-05-30 23:25  根据提供的广播星历计算卫星坐标\.vs\
     目录           0  2018-05-30 23:25  根据提供的广播星历计算卫星坐标\.vs\根据提供的广播星历计算卫星坐标\
     目录           0  2018-05-30 23:25  根据提供的广播星历计算卫星坐标\.vs\根据提供的广播星历计算卫星坐标\v14\
     文件       40448  2018-08-01 23:06  根据提供的广播星历计算卫星坐标\.vs\根据提供的广播星历计算卫星坐标\v14\.suo
     目录           0  2018-07-30 09:23  根据提供的广播星历计算卫星坐标\Debug\
     文件     1093632  2018-05-30 23:09  根据提供的广播星历计算卫星坐标\Debug\根据提供的广播星历计算卫星坐标.pdb
     目录           0  2018-05-30 23:25  根据提供的广播星历计算卫星坐标\enc_temp_folder\
     目录           0  2018-06-26 15:55  根据提供的广播星历计算卫星坐标\enc_temp_folder\d4bb85a82752428ecb172e4a9236af63\
     文件        4761  2018-05-30 22:47  根据提供的广播星历计算卫星坐标\enc_temp_folder\d4bb85a82752428ecb172e4a9236af63\源1.cpp
     目录           0  2018-07-30 09:25  根据提供的广播星历计算卫星坐标\x64\
     目录           0  2018-07-30 09:26  根据提供的广播星历计算卫星坐标\x64\Debug\
     文件       74752  2018-07-30 10:19  根据提供的广播星历计算卫星坐标\x64\Debug\根据提供的广播星历计算卫星坐标.exe
     文件      429592  2018-07-30 10:19  根据提供的广播星历计算卫星坐标\x64\Debug\根据提供的广播星历计算卫星坐标.ilk
     文件      700416  2018-07-30 10:19  根据提供的广播星历计算卫星坐标\x64\Debug\根据提供的广播星历计算卫星坐标.pdb
     目录           0  2018-07-30 09:28  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\
     文件        6528  2018-05-27 17:00  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\1.cpp
     目录           0  2018-07-30 09:25  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\
     文件       67129  2018-05-27 17:04  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\1.obj
     文件       68783  2018-05-27 17:40  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\GPS.obj
     文件      470016  2018-07-30 09:25  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\vc140.idb
     文件      364544  2018-07-30 09:25  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\vc140.pdb
     文件         270  2018-07-30 09:25  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\根据提供的广播星历计算卫星坐标.log
     目录           0  2018-07-30 09:15  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\根据提供的广播星历计算卫星坐标.tlog\
     文件        3790  2018-07-30 09:25  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\根据提供的广播星历计算卫星坐标.tlog\CL.command.1.tlog
     文件       79564  2018-07-30 09:25  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\根据提供的广播星历计算卫星坐标.tlog\CL.read.1.tlog
     文件        3108  2018-07-30 09:25  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\根据提供的广播星历计算卫星坐标.tlog\CL.write.1.tlog
     文件        1210  2018-07-30 09:23  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\根据提供的广播星历计算卫星坐标.tlog\link.command.1.tlog
     文件        2902  2018-07-30 09:23  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\根据提供的广播星历计算卫星坐标.tlog\link.read.1.tlog
     文件         538  2018-07-30 09:23  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\根据提供的广播星历计算卫星坐标.tlog\link.write.1.tlog
     文件           0  2018-07-30 09:25  根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\根据提供的广播星历计算卫星坐标.tlog\unsuccessfulbuild
............此处省略29个文件信息

评论

共有 条评论