资源简介
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\li
文件 2902 2018-07-30 09:23 根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\根据提供的广播星历计算卫星坐标.tlog\li
文件 538 2018-07-30 09:23 根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\根据提供的广播星历计算卫星坐标.tlog\li
文件 0 2018-07-30 09:25 根据提供的广播星历计算卫星坐标\根据提供的广播星历计算卫星坐标\Debug\根据提供的广播星历计算卫星坐标.tlog\unsuccessfulbuild
............此处省略29个文件信息
评论
共有 条评论