?? rinex.h
字號:
#ifndef RINEX_H
#define RINEX_H
#include "Time.h"
#include "Coordinate.h"
#define _MAX_RNX_PROGRAM_NUMBER 20
#define _MAX_RNX_AGENCY_NAME 20
#define _MAX_CREATE_TIME 20
#define _MAX_RNX_MARK_NUMBER 20
#define _MAX_RNX_MARK_NAME 20
#define _MAX_RNX_RCVR_SN 20
#define _MAX_RNX_RCVR_TYPE 20
#define _MAX_RNX_RCVR_VER 20
#define _MAX_RNX_ANT_SN 20
#define _MAX_RNX_ANT_TYPE 20
#define _MAX_CNT_OBS_TYPE 20 //觀測值類型 L1 L2............
#define _MAX_CNT_OBS_NUM 24 //某歷元觀測到的衛星數
#define _MAX_OBS_NAME 20
#define _GOT_PSEUDO_RANGE P
#define _GOT_CARRIER_PHASE L
#define _GOT_DOPPLER D
#define _GOT_SNR S
#define _GPS_F1 125
#define _GPS_F2 135
typedef struct tagDELTA_UTC{
double A0;//terms of polynomial
double A1;//terms of polynomial
long T;//reference time for UTC data
long W;//UTC reference week number
}DELTA_UTC;//Almanac parameters to compute time in UTC
typedef DELTA_UTC *PDELTA_UTC;
typedef struct tagGMBNHDR {
int ver_major; //RINEX VERSION 版本號
int ver_minor;
char program_name[_MAX_RNX_PROGRAM_NUMBER];//Name of program creating current file
char agency_name[_MAX_RNX_AGENCY_NAME];//Name of agency creating current file
char create_file_time[_MAX_CREATE_TIME];//Date of file creation
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 tagGMNREC {
int PRN;//衛星的PRN號
COMMONTIME TOC;//歷元
GPSTIME TOE;
double ClkBias;//衛星鐘偏差 s
double ClkDrift;//衛星鐘的漂移 s/s
double ClkDriftRate;//衛星鐘漂移速度 s/s2
double IODE;//Issue of Data,Ephemeris數據、星歷發布時間
double Crs;//m
double DetlaN;//rad/s 廣播軌道—1
double M0;//rad
double Cuc;//rad
double e;//軌道偏心率 廣播軌道—2
double Cus;//rad
double SqrtA;//sqrt(m)
double toe;//星歷的參考時刻 GPS周內的秒數
double Cic;//rad
double Omega;//rad 廣播軌道—3
double Cis;//rad
double i0;//rad
double Crc;//m
double omega;//rad 廣播軌道—4
double OmegaDot;//rad/s
double iDot;//rad/s
double CodesOnL2Channel;//L2上的碼
double GPSWeek;//GPS周數,不是1024的余數
double L2PDataFlag;//P碼數據標記 廣播軌道—5
double SVAccuracy;//衛星精度
double SVHealth;//衛星健康狀態
double TGD;//s
double IODC;//鐘的數據齡期 廣播軌道—6
double TransTimeOfMsg;//電文發送時刻(單位為GPS周的秒,通過交接字(HOW)中的Z計數得出)
double Spare1;//擬合區間
double Spare2;
double Spare3; // 廣播軌道—7
} GMNREC; // 導航電文信息記錄結構
typedef GMNREC *PGMNREC;
/*
typedef struct tagGMN
{
GMNHDR hdr;
GMNREC record;
} GMN;//導航電文信息結構
typedef GMN *PGMN;
*/
///////////////////////////////////////////////// 以上是導航電文 //////////////////////////////////////////////////////
///////////////////////////////////////////////// 以下是觀測值信息 ////////////////////////////////////////////////////
typedef enum tagGPSOBSTYPE
{ // GPS觀測值類型的枚舉
UNKNOWN,L1,L2,P1,P2,S1,S2,C1,D1,T1,L5
} GPSOBSTYPE;
typedef GPSOBSTYPE *PGPSOBSTYPE;
/*
const int _MAX_ROID = 3;
typedef struct tagGPSOBSPROP// 觀測值
{
char name[_MAX_OBS_NAME]; // 觀測值名
GPSOBSTYPE type; // 類型
double frequency; // 頻率
unsigned char wl_fact; // 波長因子 unsigned char wl_fact;
double precision; // 精度
char obs_id[_MAX_ROID]; // ID–RINEX的觀測值標示
unsigned char wl_pos; // 波長因子的序號
} GPSOBSPROP;
typedef GPSOBSPROP *PGPSOBSPROP;
*/
typedef struct tagGMOHDR {
int ver_major;
int ver_minor;
char mark_number[_MAX_RNX_MARK_NUMBER];//天線標志編號(點名)
char mark_name[_MAX_RNX_MARK_NAME];//天線標志名稱
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_delta;//Antenna height,Eccentricities of antenna center
CRDCARTESIAN approx_pos;//Approximate marker position (WGS84)
COMMONTIME start;//Time of first observation record
COMMONTIME end; //Time of last observation record
int interval;//Observation interval in seconds
double leap_seconds;//自1980 1 6 以來的跳秒數
int obs_type_number;//Number of different observation types stored in the file
int obs_type_list[_MAX_CNT_OBS_TYPE];//Observation types
long size;//有記錄的衛星數量
} GMOHDR;//GPS觀測值信息頭
typedef GMOHDR *PGMOHDR;
typedef struct tagGMOREC{ //GPS觀測值
COMMONTIME epoch; // 歷元時刻
int sign_of_use; //歷元標志,0 表示有效
int num_sat; // 衛星數
int prn_lst[36]; // 衛星列表
double rcvr_clk_bias; // 接收機鐘的偏差
double value[_MAX_CNT_OBS_NUM][_MAX_CNT_OBS_TYPE]; // 觀測值的數值 行表示衛星數,列表示觀測類型L1 L2
} GMOREC;
typedef GMOREC *PGMOREC;
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -