欢迎来到天天文库
浏览记录
ID:14098354
大小:62.42 KB
页数:4页
时间:2018-07-26
《单点定位程序说明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、GPS单点定位程序文档说明一程序说明本程序的基本功能是利用测站接收机获取的观测文件(O文件),结合相应历元下的卫星导航文件(N文件)来计算测站点在WGS-84坐标系下的坐标。所用编程语言为C++,编程环境为VC++6.0。二单历元卫星坐标计算流程图三程序设计流程图读取广播星历数据读观测文件的一个历元数据近似的用户位置坐标计算接收机(用户)坐标满足限差NY文件完毕将计算结果写入文件NY关闭文件读取观测值数据根据观测历元和卫星号读取相应的广播星历信号发射时刻卫星位置和卫星钟差电离层、对流层延迟的计算四程序模块说明(一)对类的说明1.PointPositi
2、on类doubleGetDelta_t(CommonTimeToe,CommonTimeToc);用于计算两个历元时刻的时间间隔CoorCartesianComputeSatCoor(doubleTk,OneNavDataoneNaveData);利用导航数据计算卫星坐标BoolGetPreciseSatCoor(CommonTimeObsTime,CoorCartesian&Sitecoor,CoorCartesian&Satcoor,OneNavDataoneNavData,doubleSatClkBais);通过迭代得到新号发送时刻的卫星坐标d
3、oubleComputeSatClkBias(doubleSendTime_Tk,OneNavDataoneNavData);计算卫星的钟差改正FactorComputeFactors(CoorCartesian&Sitecoor,CoorCartesian&Satcoor,double&satClkBias,double&Tr,doubleTropDelay,doubleionDelay,doublep1);计算组建法方程需要的各个元素doubleComputeTropDelay(CoorCartesianSatCoor,CoorCartesian
4、SitCoor);计算对流层误差doubleComputeIonDelay(constdoubleL1,constdoubleL2);计算电离层误差2.ReadObsData类ReadObsFile(conststring&FileName);ObsFileHeaderReadObsHeader(conststring&FileName);读取观测文件的头文件部分EntirObsDataReadObsData(conststring&FileName);读取观测文件的数据部分3.ReadNavData类NavFileHeaderReadNavHead
5、er(conststring&FileName);读取导航文件的头文件部分AllNavDataReadNavData(conststring&FileName);读取导航文件的数据部分OneNavDataSelectEpochNavData(AllNavDataallNavData,stringSatPrn,CommonTimeObsTime)查找并获取要计算的观测历元下的导航数据(一)程序模块的连接关系1.分别用文件流打开相应的观测数据文件和星历文件;2.调用ReadObsFile.ReadObsHeader()读取观测文件头文件;3.调用Read
6、ObsFile.ReadObsData()按照观测历元读取观测数据;4调用ReadNavFile.ReadNavHeader()读取导航文件的头文件部分;5调用ReadNavFile.ReadNavData()读取导航文件的数据部分;6利用循环并调用ReadNavFile.SelectEpochNavData()获取观测历元的导航数据7调用PointPosition.ComputeSatCoor()计算卫星坐标8利用PointPosition.ComputeFactor()计算法方程的各个元素9迭代得到结果。五程序的不足之处1.程序较多的出现类调其他
7、类中的方法,从而类的独立性较差。2.在坐标系统中,只进行了空间直角坐标系和大地坐标系的转换,空间直角坐标系和测站坐标系的转换,没有完全整理坐标转换。3.计算的精度较低。4.只利用GPS卫星的观测数据并没有利用Glonass卫星的观测数据,从而使数据为得到充分利用。
此文档下载收益归作者所有