【GNSS】GREAT多频多系统GREAT-UPD开源代码-第4.1章 代码解读之gnss.h/gnss.cpp

26 篇文章 7 订阅
6 篇文章 1 订阅
本文档详细介绍了GREAT-UPD开源代码中关于全球导航卫星系统(GNSS)的设置,包括系统枚举(如GPS、Galileo等)、频率ID、观测值类型、频段和属性。此外,还阐述了默认的频率和频段优先级,并列举了支持的卫星列表。内容涵盖从伪距到相位观测值的各种观测类型及其属性优先级。
摘要由CSDN通过智能技术生成

GREAT多频多系统GREAT-UPD开源代码-第4.1章 代码解读之gnss.h/gnss.cpp

第4.1章 代码解读之gnss.h/gnss.cpp

1. GNSS系统设定

///< GNSS systems and augmentations
enum GSYS 
{ // GXX = -1,
	GPS, GAL, GLO, BDS, QZS, SBS, IRN, GNS
};
  • GPS = GPS
  • GAL = Galileo
  • GLO= GLONASS
  • BDS= Beidou
  • QZS= QZSS
  • SBS = 未知
  • IRN = 未知
  • GNS= GNSS

2. 频率ID

///< GNSS freq Sequence ID
enum FREQ_SEQ 
{
	FREQ_1 = 1, FREQ_2 = 2, FREQ_3 = 3, FREQ_4 = 4, FREQ_5 = 5,
	FREQ_X = 999
};

对应下表中的

Freq1234567

主要是程序中对频率ID的约定俗称顺序

SystemFrequency.Signal Priority (1: highest > 10: lowest) *
Freq12345678
GPSL11M1Y1W1P1X1L1S1C
L22M2Y2W2P2X2L2S2C
L55X5Q5I
GLONASSG1(range)1P1C
G1(phase)1C1P
G22P2C
GalileoE11Z1X1C1B1A
E5a5X5Q5I
E5b7X7Q7I
BeiDouB12X2Q2I
B27X7Q7I
B36X6Q6I

3.GNSS频率

///< GNSS frequencies
enum GFRQ 
{ // FXX = -1,
	G01 = 10, G02 = 11, G05 = 12,     ///< GPS
	R01 = 20, R02 = 21,               ///< GLONASS FDMA
	R01_CDMA = 30, R02_CDMA = 31,		
	R03_CDMA = 32, R05_CDMA = 33,     ///< GLONASS CDMA
	E01 = 50, E05 = 51, E07 = 52,		
	E08 = 53, E06 = 54,               ///< Galileo
  C02 = 60, C07 = 61, C06 = 62,     ///< BeiDou
	J01 = 70, J02 = 71, J05 = 72,		
	J06 = 73,                         ///< QZSS
	S01 = 80, S05 = 81,               ///< SBAS
	I05 = 90,                         ///< IRNSS
	LAST_GFRQ = 999
};

4. 观测值类型

///< GNSS type/band/attr definitions
enum GOBSTYPE 
{
	TYPE_C = 1, TYPE_L = 2, TYPE_D = 3, TYPE_S = 4,
	TYPE_P = 101, // only for P-code!
	TYPE = 999    // ""  UNKNOWN
};
  • C=pseudorange
  • L=carrier phase
  • D=doppler
  • S=signal strength

5. 观测值band

enum GOBSBAND 
{
	BAND_1 = 1, BAND_2 = 2, BAND_3 = 3, BAND_5 = 5,
	BAND_6 = 6, BAND_7 = 7, BAND_8 = 8,
	BAND_A = 101, BAND_B = 102, BAND_C = 103, BAND_D = 104,
	BAND = 999    // ""  UNKNOWN
};

band / frequency in obs type

Examples:
• L1C: C/A code-derived L1 carrier phase (GPS, GLONASS) Carrier phase on E2-L1- E1 derived from C channel (Galileo)
• C2L: L2C pseudorange derived from the L channel (GPS)
• C2X: L2C pseudorange derived from the mixed (M+L) codes (GPS)

如上中间的数字。

6. 观测值attr,追踪方式

enum GOBSATTR 
{
	ATTR_A, ATTR_B, ATTR_C, ATTR_D, ATTR_I, ATTR_L, ATTR_M, ATTR_N,
	ATTR_P, ATTR_Q, ATTR_S, ATTR_W, ATTR_X, ATTR_Y, ATTR_Z,
	ATTR_NULL,    // " " 2CHAR code
	ATTR = 999    // ""  UNKNOWN
};

attribute tracking mode or channel, e.g., I, Q, etc

7. 观测值类型,全部类型,band,attr考虑

///< GNSS observations
enum GOBS 
{
	///< psedorange [in meters] (RINEX 3.x)
	C1A = 0, C1B, C1C, C1I, C1L, C1M, C1P, C1S, C1Q, C1W, C1X, C1Y, C1Z,
	C2C, C2D, C2I, C2L, C2M, C2P, C2S, C2Q, C2W, C2X, C2Y,
	C3I, C3Q, C3X,
	C5A, C5B, C5C, C5I, C5Q, C5X,
	C6A, C6B, C6C, C6I, C6L, C6S, C6Q, C6X, C6Z,
	C7I, C7Q, C7X,
	C8I, C8Q, C8X,
	
	///< carrier phase [in whole cycles] (RINEX 3.x)
	L1A = 100, L1B, L1C, L1I, L1L, L1M, L1N, L1P, L1S, L1Q, L1W, L1X, L1Y, L1Z,
	L2C, L2D, L2I, L2L, L2M, L2N, L2P, L2S, L2Q, L2W, L2X, L2Y,
	L3I, L3Q, L3X,
	L5A, L5B, L5C, L5I, L5Q, L5X,
	L6A, L6B, L6C, L6I, L6L, L6S, L6Q, L6X, L6Z,
	L7I, L7Q, L7X,
	L8I, L8Q, L8X,
	
	///< doppler [cycles/sec] (RINEX 3.x)
	D1A = 200, D1B, D1C, D1I, D1L, D1M, D1N, D1P, D1S, D1Q, D1W, D1X, D1Y, D1Z,
	D2C, D2D, D2I, D2L, D2M, D2N, D2P, D2S, D2Q, D2W, D2X, D2Y,
	D3I, D3Q, D3X,
	D5A, D5B, D5C, D5I, D5Q, D5X,
	D6A, D6B, D6C, D6I, D6L, D6S, D6Q, D6X, D6Z,
	D7I, D7Q, D7X,
	D8I, D8Q, D8X,

	///< signal strength [DBHZ] (RINEX 3.x)
	S1A = 300, S1B, S1C, S1I, S1L, S1M, S1N, S1P, S1S, S1Q, S1W, S1X, S1Y, S1Z,
	S2C, S2D, S2I, S2L, S2M, S2N, S2P, S2S, S2Q, S2W, S2X, S2Y,
	S3I, S3Q, S3X,
	S5A, S5B, S5C, S5I, S5Q, S5X,
	S6A, S6B, S6C, S6I, S6L, S6S, S6Q, S6X, S6Z,
	S7I, S7Q, S7X,
	S8I, S8Q, S8X,


	///< special cases: v2.x or unknown tracking modes
	P1 = 1000, P2, P5, C1, C2, C5, C6, C7, C8, CA, CB, CC, CD,
	L1 = 1100, L2, L5, L6, L7, L8, LA, LB, LC, LD,
	D1 = 1200, D2, D5, D6, D7, D8, DA, DB, DC, DD,
	S1 = 1300, S2, S5, S6, S7, S8, SA, SB, SC, SD,

	X ///< LAST_GOBS
};

8. GREAT-UPD中默认的频率和频段的优先顺序

 ///< static map of default GNSS freq priorities
 const t_map_freq GNSS_FREQ_PRIORITY = 
 {
	{GPS , { LAST_GFRQ, G01,      G02,      G05}},
	{GLO , { LAST_GFRQ, R01,      R02,      R03_CDMA, R05_CDMA}},
	{GAL , { LAST_GFRQ, E01,      E05,      E07,      E08,      E06     }},
	{BDS , { LAST_GFRQ, C02,      C07,      C06,                        }},
	{QZS , { LAST_GFRQ, J01,      J02,      J05,      J06               }},
	{SBS , { LAST_GFRQ, S01,      S05                                   }},
	{GNS , {                                                            }},
};	 
 ///< static map of default GNSS band priorities
 const t_map_band GNSS_BAND_PRIORITY= 
 {
	{GPS,{ BAND, BAND_1, BAND_2, BAND_5                 }},
	{GLO,{ BAND, BAND_1, BAND_2, BAND_3, BAND_5			}},
	{GAL,{ BAND, BAND_1, BAND_5, BAND_7, BAND_8, BAND_6 }},
	{BDS,{ BAND, BAND_2, BAND_7, BAND_6,                }},
	{QZS,{ BAND, BAND_1, BAND_2, BAND_5, BAND_6         }},
	{SBS,{ BAND, BAND_1, BAND_5							}},
	{GNS,{												}},
};	          

t_map_gnss GNSS_DATA_PRIORITY()
{
  t_map_gnss m;
   
  m[GPS][BAND_1][TYPE_C] = { ATTR_C, ATTR_S, ATTR_L, ATTR_X, ATTR_P, ATTR_W, ATTR_Y, ATTR_M,         ATTR_NULL };
  m[GPS][BAND_1][TYPE_L] = { ATTR_C, ATTR_S, ATTR_L, ATTR_X, ATTR_P, ATTR_W, ATTR_Y, ATTR_M, ATTR_N, ATTR_NULL };
  m[GPS][BAND_1][TYPE_D] = { ATTR_C, ATTR_S, ATTR_L, ATTR_X, ATTR_P, ATTR_W, ATTR_Y, ATTR_M, ATTR_N, ATTR_NULL };
  m[GPS][BAND_1][TYPE_S] = { ATTR_C, ATTR_S, ATTR_L, ATTR_X, ATTR_P, ATTR_W, ATTR_Y, ATTR_M, ATTR_N, ATTR_NULL };
  m[GPS][BAND_1][TYPE_P] = { ATTR_NULL };
   
  m[GPS][BAND_2][TYPE_C] = { ATTR_C, ATTR_D, ATTR_S, ATTR_L, ATTR_X, ATTR_P, ATTR_W, ATTR_Y, ATTR_M,         ATTR_NULL };
  m[GPS][BAND_2][TYPE_L] = { ATTR_C, ATTR_D, ATTR_S, ATTR_L, ATTR_X, ATTR_P, ATTR_W, ATTR_Y, ATTR_M, ATTR_N, ATTR_NULL };
  m[GPS][BAND_2][TYPE_D] = { ATTR_C, ATTR_D, ATTR_S, ATTR_L, ATTR_X, ATTR_P, ATTR_W, ATTR_Y, ATTR_M, ATTR_N, ATTR_NULL };
  m[GPS][BAND_2][TYPE_S] = { ATTR_C, ATTR_D, ATTR_S, ATTR_L, ATTR_X, ATTR_P, ATTR_W, ATTR_Y, ATTR_M, ATTR_N, ATTR_NULL };
  m[GPS][BAND_2][TYPE_P] = { ATTR_NULL };

  m[GPS][BAND_5][TYPE_C] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[GPS][BAND_5][TYPE_L] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[GPS][BAND_5][TYPE_D] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[GPS][BAND_5][TYPE_S] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };

  m[GPS][BAND_A][TYPE_C] = { ATTR_NULL };
  m[GPS][BAND_A][TYPE_L] = { ATTR_NULL };
  m[GPS][BAND_A][TYPE_D] = { ATTR_NULL };
  m[GPS][BAND_A][TYPE_S] = { ATTR_NULL };

  m[GPS][BAND_B][TYPE_C] = { ATTR_NULL };
  m[GPS][BAND_B][TYPE_L] = { ATTR_NULL };
  m[GPS][BAND_B][TYPE_D] = { ATTR_NULL };
  m[GPS][BAND_B][TYPE_S] = { ATTR_NULL };


  m[GLO][BAND_1][TYPE_C] = { ATTR_C, ATTR_P, ATTR_NULL };
  m[GLO][BAND_1][TYPE_L] = { ATTR_C, ATTR_P, ATTR_NULL };
  m[GLO][BAND_1][TYPE_D] = { ATTR_C, ATTR_P, ATTR_NULL };
  m[GLO][BAND_1][TYPE_S] = { ATTR_C, ATTR_P, ATTR_NULL };
  m[GLO][BAND_1][TYPE_P] = { ATTR_NULL };

  m[GLO][BAND_2][TYPE_C] = { ATTR_C, ATTR_P, ATTR_NULL };
  m[GLO][BAND_2][TYPE_L] = { ATTR_C, ATTR_P, ATTR_NULL };
  m[GLO][BAND_2][TYPE_D] = { ATTR_C, ATTR_P, ATTR_NULL };
  m[GLO][BAND_2][TYPE_S] = { ATTR_C, ATTR_P, ATTR_NULL };
  m[GLO][BAND_2][TYPE_P] = { ATTR_NULL };

  m[GLO][BAND_3][TYPE_C] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[GLO][BAND_3][TYPE_L] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[GLO][BAND_3][TYPE_D] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[GLO][BAND_3][TYPE_S] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
   
  m[GLO][BAND_A][TYPE_C] = { ATTR_NULL };
  m[GLO][BAND_A][TYPE_L] = { ATTR_NULL };
  m[GLO][BAND_A][TYPE_D] = { ATTR_NULL };
  m[GLO][BAND_A][TYPE_S] = { ATTR_NULL };

  m[GLO][BAND_B][TYPE_C] = { ATTR_NULL };
  m[GLO][BAND_B][TYPE_L] = { ATTR_NULL };
  m[GLO][BAND_B][TYPE_D] = { ATTR_NULL };
  m[GLO][BAND_B][TYPE_S] = { ATTR_NULL };
   

  m[GAL][BAND_1][TYPE_C] = { ATTR_A, ATTR_B, ATTR_C, ATTR_X, ATTR_Z, ATTR_NULL };
  m[GAL][BAND_1][TYPE_L] = { ATTR_A, ATTR_B, ATTR_C, ATTR_X, ATTR_Z, ATTR_NULL };
  m[GAL][BAND_1][TYPE_D] = { ATTR_A, ATTR_B, ATTR_C, ATTR_X, ATTR_Z, ATTR_NULL };
  m[GAL][BAND_1][TYPE_S] = { ATTR_A, ATTR_B, ATTR_C, ATTR_X, ATTR_Z, ATTR_NULL };

  m[GAL][BAND_5][TYPE_C] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[GAL][BAND_5][TYPE_L] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[GAL][BAND_5][TYPE_D] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[GAL][BAND_5][TYPE_S] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };

  m[GAL][BAND_6][TYPE_C] = { ATTR_A, ATTR_B, ATTR_C, ATTR_X, ATTR_Z, ATTR_NULL };
  m[GAL][BAND_6][TYPE_L] = { ATTR_A, ATTR_B, ATTR_C, ATTR_X, ATTR_Z, ATTR_NULL };
  m[GAL][BAND_6][TYPE_D] = { ATTR_A, ATTR_B, ATTR_C, ATTR_X, ATTR_Z, ATTR_NULL };
  m[GAL][BAND_6][TYPE_S] = { ATTR_A, ATTR_B, ATTR_C, ATTR_X, ATTR_Z, ATTR_NULL };

  m[GAL][BAND_7][TYPE_C] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[GAL][BAND_7][TYPE_L] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[GAL][BAND_7][TYPE_D] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[GAL][BAND_7][TYPE_S] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };

  m[GAL][BAND_8][TYPE_C] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[GAL][BAND_8][TYPE_L] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[GAL][BAND_8][TYPE_D] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[GAL][BAND_8][TYPE_S] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };

  m[GAL][BAND_A][TYPE_C] = { ATTR_NULL };
  m[GAL][BAND_A][TYPE_L] = { ATTR_NULL };
  m[GAL][BAND_A][TYPE_D] = { ATTR_NULL };
  m[GAL][BAND_A][TYPE_S] = { ATTR_NULL };

  m[GAL][BAND_B][TYPE_C] = { ATTR_NULL };
  m[GAL][BAND_B][TYPE_L] = { ATTR_NULL };
  m[GAL][BAND_B][TYPE_D] = { ATTR_NULL };
  m[GAL][BAND_B][TYPE_S] = { ATTR_NULL };

  m[BDS][BAND_2][TYPE_C] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[BDS][BAND_2][TYPE_L] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[BDS][BAND_2][TYPE_D] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[BDS][BAND_2][TYPE_S] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };

  m[BDS][BAND_6][TYPE_C] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[BDS][BAND_6][TYPE_L] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[BDS][BAND_6][TYPE_D] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[BDS][BAND_6][TYPE_S] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };

  m[BDS][BAND_7][TYPE_C] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[BDS][BAND_7][TYPE_L] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[BDS][BAND_7][TYPE_D] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
  m[BDS][BAND_7][TYPE_S] = { ATTR_I, ATTR_Q, ATTR_X, ATTR_NULL };
   

  m[SBS][BAND_1][TYPE_C] = { ATTR_C };
  m[SBS][BAND_1][TYPE_L] = { ATTR_C };
  m[SBS][BAND_1][TYPE_D] = { ATTR_C };
  m[SBS][BAND_1][TYPE_S] = { ATTR_C };
  m[SBS][BAND_1][TYPE_P] = { ATTR_NULL };

  m[SBS][BAND_5][TYPE_C] = { ATTR_I, ATTR_Q, ATTR_X };
  m[SBS][BAND_5][TYPE_L] = { ATTR_I, ATTR_Q, ATTR_X };
  m[SBS][BAND_5][TYPE_D] = { ATTR_I, ATTR_Q, ATTR_X };
  m[SBS][BAND_5][TYPE_S] = { ATTR_I, ATTR_Q, ATTR_X };

   
  m[QZS][BAND_1][TYPE_C] = { ATTR_C, ATTR_S, ATTR_L, ATTR_X, ATTR_Z };
  m[QZS][BAND_1][TYPE_L] = { ATTR_C, ATTR_S, ATTR_L, ATTR_X, ATTR_Z };
  m[QZS][BAND_1][TYPE_D] = { ATTR_C, ATTR_S, ATTR_L, ATTR_X, ATTR_Z };
  m[QZS][BAND_1][TYPE_S] = { ATTR_C, ATTR_S, ATTR_L, ATTR_X, ATTR_Z };

  m[QZS][BAND_2][TYPE_C] = { ATTR_S, ATTR_L, ATTR_X };
  m[QZS][BAND_2][TYPE_L] = { ATTR_S, ATTR_L, ATTR_X };
  m[QZS][BAND_2][TYPE_D] = { ATTR_S, ATTR_L, ATTR_X };
  m[QZS][BAND_2][TYPE_S] = { ATTR_S, ATTR_L, ATTR_X };

  m[QZS][BAND_5][TYPE_C] = { ATTR_I, ATTR_Q, ATTR_X };
  m[QZS][BAND_5][TYPE_L] = { ATTR_I, ATTR_Q, ATTR_X };
  m[QZS][BAND_5][TYPE_D] = { ATTR_I, ATTR_Q, ATTR_X };
  m[QZS][BAND_5][TYPE_S] = { ATTR_I, ATTR_Q, ATTR_X };
   
  m[QZS][BAND_6][TYPE_C] = { ATTR_S, ATTR_L, ATTR_X };
  m[QZS][BAND_6][TYPE_L] = { ATTR_S, ATTR_L, ATTR_X };
  m[QZS][BAND_6][TYPE_D] = { ATTR_S, ATTR_L, ATTR_X };
  m[QZS][BAND_6][TYPE_S] = { ATTR_S, ATTR_L, ATTR_X };

  return m;
}

9. GREAT-UPD支持的卫星列表

t_map_sats GNSS_SATS()
{
  t_map_sats m;
  // (string) necessary for VS2013
  m[GPS] = { (string)"G01",(string)"G02",(string)"G03",(string)"G04",(string)"G05",(string)"G06",(string)"G07",(string)"G08",(string)"G09",(string)"G10",
			 (string)"G11",(string)"G12",(string)"G13",(string)"G14",(string)"G15",(string)"G16",(string)"G17",(string)"G18",(string)"G19",(string)"G20",
			 (string)"G21",(string)"G22",(string)"G23",(string)"G24",(string)"G25",(string)"G26",(string)"G27",(string)"G28",(string)"G29",(string)"G30",
			 (string)"G31",(string)"G32" };
   
  m[GLO] = { (string)"R01",(string)"R02",(string)"R03",(string)"R04",(string)"R05",(string)"R06",(string)"R07",(string)"R08",(string)"R09",(string)"R10",
             (string)"R11",(string)"R12",(string)"R13",(string)"R14",(string)"R15",(string)"R16",(string)"R17",(string)"R18",(string)"R19",(string)"R20",
             (string)"R21",(string)"R22",(string)"R23",(string)"R24" };

  m[GAL] = { (string)"E01",(string)"E02",(string)"E03",(string)"E04",(string)"E05",(string)"E06",(string)"E07",(string)"E08",(string)"E09",(string)"E10",
             (string)"E11",(string)"E12",(string)"E13",(string)"E14",(string)"E15",(string)"E16",(string)"E17",(string)"E18",(string)"E19",(string)"E20",
             (string)"E21",(string)"E22",(string)"E23",(string)"E24",(string)"E25",(string)"E26",(string)"E27",(string)"E28",(string)"E29",(string)"E30",
			 (string)"E31",(string)"E32",(string)"E33",(string)"E34",(string)"E35",(string)"E36" };

  m[BDS] = { (string)"C01",(string)"C02",(string)"C03",(string)"C04",(string)"C05",(string)"C06",(string)"C07",(string)"C08",(string)"C09",(string)"C10",
             (string)"C11",(string)"C12",(string)"C13",(string)"C14",(string)"C15",(string)"C16",(string)"C17",(string)"C18",(string)"C19",(string)"C20",
             (string)"C21",(string)"C22",(string)"C23",(string)"C24",(string)"C25",(string)"C26",(string)"C27",(string)"C28",(string)"C29",(string)"C30",
             (string)"C31",(string)"C32",(string)"C33",(string)"C34",(string)"C35",(string)"C36",(string)"C37",(string)"C38",(string)"C39" };
   
  m[SBS] = { (string)"S20",(string)"S24",(string)"S25",(string)"S26",(string)"S27",(string)"S28",(string)"S29",
             (string)"S33",(string)"S35",(string)"S36",(string)"S37",(string)"S38",
             (string)"S40",
             (string)"S83" };

  m[QZS] = { (string)"J01",(string)"J02",(string)"J03",(string)"J07" };

  return m;
}

10. 其他辅助函数

	// ------------------------------------------------------------------------------------------------------
	// GLOBAL FUNCTIONS
	// ------------------------------------------------------------------------------------------------------
	/**@brief get GOBSATTR enum from gobs string */
	GNUT_LIBRARY_EXPORT GOBSATTR str2gobsattr(string s);           
	/**@brief get GOBSBAND enum from gobs string */
	GNUT_LIBRARY_EXPORT GOBSBAND str2gobsband(string s);           
	/**@brief get GOBSTYPE enum from gobs string */
	GNUT_LIBRARY_EXPORT GOBSTYPE str2gobstype(string s);                     

	/**@brief get GOBSATTR enum from char */
	GNUT_LIBRARY_EXPORT GOBSATTR char2gobsattr(char c);            
	/**@brief get GOBSBAND enum from char */
	GNUT_LIBRARY_EXPORT GOBSBAND char2gobsband(char c);                        
	/**@brief get GOBSTYPE enum from char */
	GNUT_LIBRARY_EXPORT GOBSTYPE char2gobstype(char c);            

	/**@brief get string enum from GOBSATTR */
	GNUT_LIBRARY_EXPORT string gobsattr2str(GOBSATTR e);            
	/**@brief get string enum from GOBSBAND */
	GNUT_LIBRARY_EXPORT string gobsband2str(GOBSBAND e);           
	/**@brief get string enum from GOBSTYPE  */
	GNUT_LIBRARY_EXPORT string gobstype2str(GOBSTYPE e);                    
	/**@brief get string from GOBS enum */
	GNUT_LIBRARY_EXPORT string gobs2str(GOBS);                     
	/**@brief get GOBS enum from string */
	GNUT_LIBRARY_EXPORT GOBS str2gobs(string s);                                      
	/**@brief get GOBS enum (pha->snr) */
	GNUT_LIBRARY_EXPORT GOBS pha2snr(GOBS o);                      
	/**@brief get true for code obs */
	GNUT_LIBRARY_EXPORT bool gobs_code(GOBS o);                    
	/**@brief get true for phase obs */
	GNUT_LIBRARY_EXPORT bool gobs_phase(GOBS o);                   
	/**@brief static map of default GNSS satellites  */
	GNUT_LIBRARY_EXPORT t_map_sats GNSS_SATS();                                           
	/**@brief static map of default GNSS navigation types */
	GNUT_LIBRARY_EXPORT t_map_gnav GNSS_GNAV();                     
	/**@brief static map of default GNSS data types/bands/attrs priorities */
	GNUT_LIBRARY_EXPORT t_map_gnss GNSS_DATA_PRIORITY(); 	           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值