RIENX格式(下):GPS信息结构代码设计
2015-12-30 18:49
751 查看
RIENX格式(下):GPS信息结构代码设计
一.GPS信息结构
原则
——结构简单,使用方便
——限量小,如对卫星的数量、观测值类型的数量、观测值的总量没有限制
——存储效率高,每一部分均有其作用
信息结构:文件头+数据记录
——文件头结构
——数据结构结构
二.GPS导航电文结构 ——GMN
1.概述:
1) GPS导航电文信息【GMN】
2) GPS导航电文头【GMNHDR】
2) GPS导航电文记录【GMNREC】
三.GPS观测值信息——GMO
1.概述:
2.GPS观测值信息【GMO】
3.GPS观测值信息头结构【GMOHDR】
4.GPS 观测值信息记录【GMOREC】
5.GPS观测信息记录头结构【GMORECHDR】
6.GPS观测值【GPSOBS】
一.GPS信息结构
原则
——结构简单,使用方便
——限量小,如对卫星的数量、观测值类型的数量、观测值的总量没有限制
——存储效率高,每一部分均有其作用
信息结构:文件头+数据记录
——文件头结构
——数据结构结构
二.GPS导航电文结构 ——GMN
1.概述:
1) GPS导航电文信息【GMN】
///////////////////////////////////////////////////////////////////// /*GPS导航电文信息结构 --- GMN */ typedef struct tagGMN{ GMNHDR hdr; list<GMNREC>EphList; } GMN; typedef GMN *PGMN;
2) GPS导航电文头【GMNHDR】
/*GPS导航电文信息头结构 --- GMNHDR */ typedef struct tagGMNHDR{ int ver_major; //主版本号 int ver_minor; //次版本号 char mark_number[_MAX_RNX_MARK_NUMBER]; //点号 char mark_name[_MAX_RNX_MARK_NAME]; //点名 double ion_alpha[4]; double ion_beta[4]; DELTA_UTC delta_utc; long leap_seconds; long size; long rec_num; } GMNHDR; typedef GMNHDR *PGMNHDR; typedef struct tagDELTA_UTC{ double A0; double A1; long T; long W; } DELTA_UTC; typedef DELTA_UTC *PDELTA_UTC;
2) GPS导航电文记录【GMNREC】
/*GPS导航电文记录 --- GMNREC */ typedef struct tagGMNREC { int PRN; //卫星编号 COMMONTIME TOC; //卫星轨道参数参考时间 double ClkBias; //卫星时钟偏差 double ClkDrift; // 卫星时钟漂移 double ClkDriftRate; //卫星时钟漂移率 double IODE; //星历数据的有效龄期 double Crs; //轨道半径正弦改正项 double DetlaN; //平均运动修正量 double M0; //卫星星历参考时刻的轨道倾角 double Cuc; //纬度幅角余弦改正项 double e; //卫星轨道偏心率 double Cus; //纬度幅角正弦改正项 double SqrtA; //轨道长半径平方根 double TOE; //卫星历书参考时间 double Cic; //轨道倾角余弦调和项 double Omega; //升交点赤经 double Cis; //轨道倾角正弦项 double i0; //卫星星历参考时刻的轨道倾角 double Crc; //轨道半径余弦调和项 double omega; //近地点角距 double OmegaDot; //升交点赤经变率 double iDot; //轨道倾角变化率 double codesOnL2Channel; //L2频道 double GPSWeek; //GPS星期数 double L2PDataFlag; //L2 P数据标志 double SVAccuracy; //卫星精度 double SVHealth; //卫星健康 double TGD; //TGD单频机延迟改正数 double IODC; // 时钟数据有效期 double TransTimeOfMsg; //电文发送时间 double Spare1; //空格1 double Spare2; //空格2 double Spare3; //空格3 } GMNREC,PGMNREC;
三.GPS观测值信息——GMO
1.概述:
2.GPS观测值信息【GMO】
typedef struct tagGMO { GMOHDR hdr; LGMOREC lgmorec; } GMO,*PGMO;
3.GPS观测值信息头结构【GMOHDR】
typedef struct tagGMOHDR { int ver_major; //主版本号 int ver_minor; //次版本号 char mark_name[MAX_RNX_MARK_NAME]; //点名 // char mark_number[MAX_RNX_MARK_NUMBER]; //点号 char rcvr_sn[MAX_RNX_RCVR_SN]; //接收机序列号 char rcvr_type[MAX_RNX_RCVR_TYPE]; //接收机类型 char rcvr_ver[MAX_RNX_RCVR_VER]; //接收机内部软件版本号 char ant_sn[MAX_RNX_ANT_SN]; //天线序列号 char ant_type[MAX_RNX_ANT_TYPE]; //天线类型 CRDTOPOCENTRIC ant_enna; //天线改正(天线高和偏心) CRDCARTESIAN approx_pos; //近似位置 int obs_type_number; //观测值类型数 char obs_type_list[MAX_CNT_OBS_TYPE][MAX_OBS_TYPE_NAME]; //观测值类型列表 LGPSOBSPROP lgop; //属性列表 COMMONTIME start; //第一个观测记录时刻 int interval; //历元间隔 long epoch_number; //总历元数 } GMOHDR,*PGMOHDR;
4.GPS 观测值信息记录【GMOREC】
typedef struct tagLGMOREC { GMORECHDR rechdr; LGPSOBS lgpsobs; struct tagLGMOREC *next; } LGMOREC,*PLGMOREC;
5.GPS观测信息记录头结构【GMORECHDR】
typedef struct tagGMORECHDR { COMMONTIME epoch; //历元时刻 double rcvr_clk_bias; //接收机钟偏差 int num_sat; //卫星数 int prn_list[31]; //卫星列表 } GMORECHDR,*PGMORECHDR;
6.GPS观测值【GPSOBS】
typedef struct tagGPSOBS { double value; unsigned char tag1; //观测值属性标志1 unsigned char tag2; //观测值属性标志2 unsigned char disable; //观测值是否可用 } GPSOBS, *PGPSOBS;
相关文章推荐
- Delphi使用进行post数据时超时设置
- Spring Security 保护业务层
- Github for Windows 1.0 版本的简单使用介绍
- Java线程池使用说明
- java去重(1通过迭代器,2直接赋值)
- Qt中将QTableView中的数据导出为Excel文件
- 在源Eclipse上安装Myeclipse插件
- QTP入门——玩玩小飞机
- C语言冒泡排序法和函数stoi()数字字符串转化的问题
- 通过TortoiseGit上传项目到GitHub
- HDFS源代码结构
- QTableView另类打印解决方案(复用render函数去解决print问题)
- C++对10个数选择排序的2个问题分享
- Java读写Excel文件示例
- health和receivedamage是内置的impact代码,直接用
- Java中的自动装箱与拆箱
- 我的编程之路(二十五) 上海的老同学
- C++编程思想学习笔记---第15章 多态性和虚函数
- c# 使用Button和Panel 设计伸缩面板控件
- SetPriorityClass