c语言实现gps坐标转化,C语言计算GPS卫星位置

《C语言计算GPS卫星位置》由会员分享,可在线阅读,更多相关《C语言计算GPS卫星位置(8页珍藏版)》请在人人文库网上搜索。

1、C 语 言 计 算GPS卫星位置1 概述在用GPS信号进行导航定位以及制订观测计划时,都必须已知GPS卫星在空间的瞬间位置。卫星位置的计算是根据卫星电文所提供的轨道参数按一定的公式计算的。本节专门讲解观测瞬 间GPS卫星在地固坐标系中坐标的计算方法。2 卫星位置的计算1. 计算卫星运行的平均角速度 n根据开普勒第三定律,卫星运行的平均角速度n0 可以用下式计算:式中为 WGS-84坐标系中的地球引力常数,且卩 =x 1014m/s2。平均角速度 山加上卫星电文 给出的摄动改正数 n,便得到卫星运行的平均角速度 nn二no+A n(4-i2)2. 计算归化时间 t k首先对观测时刻t 作卫星钟差。

2、改正t=t - A t然后对观测时刻t归化到GPM系t k=t-t oc(4-13)式中t k称作相对于参考时刻 t oe的归化时间(读者注意:toc工toe )。3. 观测时刻卫星平近点角 M的计算Mk=Mo+ntk(4-14)式中M)是卫星电文给出的参考时刻toe的平近点角。4. 计算偏近点角 EkEk=Mk+esinEk(Ek,Mk 以弧度计 ) ( 4-15 )上述方程可用迭代法进行解算,即先令E#include#includenian,pt-yue,pt-ri,pt-shi,pt-miao,pt-prn);printf(nXk=%.9fnYk=%.9fnZK=%.9fnn,XK,YK。

3、,ZK);intmain(void)FILE*fp,*fp1,*fp2;structcanshua;inti=0,hanhao=1;longdouble temp1,temp2,temp3,temp5,temp4,temp6,temp7; charch,ch1;星历文件 ,r)=NULL)/ 请自定义星历文件位置及名称 printf( 文件无法打开! );exit(0);else星历文件 ,w)=NULL)printf( 文件无法打开! );exit(0);elsewhile(ch1=fgetc(fp1)!=EOF)if(ch1=n)i+;putchar(ch1);if(i=15)break;。

4、while(!feof(fp1)ch1=fgetc(fp1);if(ch1=D)ch1=e;fputc(ch1,fp2);fclose(fp1);fclose(fp2);printf( 以上是星历文件的头文件! n);system(pause);printf( 读取文件参数数据 n !);星历文件 ,r)=NULL) / 创建计算结果文档printf( 文件无法打开! );exit(0);while(!feof(fp)switch(hanhao)case1: fscanf(fp,n%d%d%d%d%d%d%lf%le%le%le,&,&,&,&,&, &,&,&,&,&; printf(%d%。

5、d%d%d%d%d%lf%le%le%le,J J J J Jhanhao+;case2:fscanf(fp,%le%le%le%le,&,&,&,&; printf(n%le%le%le%le,;hanhao+;case3:fscanf(fp,%le%le%le%le,&,&,&,&;printf(n%le%le%le%le,;hanhao+; case4:fscanf(fp,%le%le%le%le,&,&,&,&;printf(n%le%le%le%le,;hanhao+; case5:fscanf(fp,%le%le%le%le,&,&,&,&;printf(n%le%le%le%le。

6、,;hanhao+; case6:fscanf(fp,%le%le%le%le,&,&temp1,&,&temp2);printf(n%le%le%le%le,temp1,temp2);hanhao+; case7:fscanf(fp,%le%le%le%le,&temp3,&temp4,&temp5,&;printf(n%le%le%le%le,temp3,temp1,temp5,;hanhao+; case8:fscanf(fp,%le,&temp6);printf(n%le,temp6); if(ch=fgetc(fp)!=n) fscanf(fp,%le,&temp7); printf(%len,temp7);wxzbjx(&a); system(pause); hanhao=1;fclose(fp); return0。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值