当前位置:文档之家› 单点定位程序说明

单点定位程序说明

GPS单点定位程序文档说明
一程序说明
本程序的基本功能是利用测站接收机获取的观测文件(O文件),结合相应历元下的卫星导航文件(N文件)来计算测站点在WGS-84坐标系下的坐标。

所用编程语言为C++,编程环境为VC++6.0。

二单历元卫星坐标计算流程图
三程序设计流程图
四程序模块说明
(一)对类的说明
1.PointPosition类
double GetDelta_t(CommonTime Toe,CommonTime Toc);
用于计算两个历元时刻的时间间隔
CoorCartesian ComputeSatCoor(double Tk,OneNavData oneNaveData);
利用导航数据计算卫星坐标
Bool GetPreciseSatCoor(CommonTimeObsTime,CoorCartesian&Sitecoor , CoorCartesian &Satcoor,OneNavData oneNavData,double SatClkBais);
通过迭代得到新号发送时刻的卫星坐标
double ComputeSatClkBias(double SendTime_Tk,OneNavData oneNavData);
计算卫星的钟差改正
Factor ComputeFactors(CoorCartesian &Sitecoor, CoorCartesian &Satcoor, double &satClkBias,double &Tr, double TropDelay, double ionDelay, double p1);
计算组建法方程需要的各个元素
double ComputeTropDelay(CoorCartesian SatCoor,CoorCartesian SitCoor);
计算对流层误差
double ComputeIonDelay(const double L1,const double L2);
计算电离层误差
2.ReadObsData类
ReadObs string& );
Obs ReadObsHeader(const string &);
读取观测文件的头文件部分
EntirObsData ReadObsData(const string &);
读取观测文件的数据部分
3.ReadNavData类
Nav ReadNavHeader(const string &);
读取导航文件的头文件部分
AllNavData ReadNavData(const string &);
读取导航文件的数据部分
OneNavData SelectEpochNavData(AllNavData allNavData,string SatPrn,CommonTime ObsTime)
查找并获取要计算的观测历元下的导航数据
(二)程序模块的连接关系
1.分别用文件流打开相应的观测数据文件和星历文件;
2.调用ReadObs()读取观测文件头文件;
3.调用ReadObs()按照观测历元读取观测数据;
4调用ReadNav()读取导航文件的头文件部分;
5调用ReadNav()读取导航文件的数据部分;
6 利用循环并调用ReadNavFile.SelectEpochNavData()获取观测历元的导航数据
7 调用puteSatCoor()计算卫星坐标
8利用puteFactor()计算法方程的各个元素
9迭代得到结果。

五程序的不足之处
1.程序较多的出现类调其他类中的方法,从而类的独立性较差。

2.在坐标系统中,只进行了空间直角坐标系和大地坐标系的转换,空间直角坐
标系和测站坐标系的转换,没有完全整理坐标转换。

3.计算的精度较低。

4.只利用GPS卫星的观测数据并没有利用Glonass卫星的观测数据,从而使数
据为得到充分利用。

相关主题