⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 geodeticframes.cpp

📁 1 gps基本算法
💻 CPP
📖 第 1 页 / 共 5 页
字号:
		// line 218 of Table 5.2, period = -38.52 days		arg = l+2*f-4*d+2*o;		dpsi += 0.000007 * ::sin(arg);		// line 219 of Table 5.2, period = 5.73 days		arg = l-lp+2*f+2*d+o;		dpsi -= 0.000008 * ::sin(arg);		// line 220 of Table 5.2, period = 25.62 days		arg = l-lp+2*f-2*d+2*o;		dpsi -= 0.000007 * ::sin(arg);		// line 221 of Table 5.2, period = 32.45 days		arg = l-2*lp;		dpsi += 0.000008 * ::sin(arg);		// line 222 of Table 5.2, period = 13.83 days		arg = 2*l+2*o;		dpsi -= 0.000008 * ::sin(arg);		// line 223 of Table 5.2, period = 134.27 days		arg = 2*l+lp-2*d+o;		dpsi += 0.000008 * ::sin(arg);		// line 224 of Table 5.2, period = 9.20 days		arg = 3*l+o;		dpsi += 0.000007 * ::sin(arg);		// line 225 of Table 5.2, period = 14.13 days		arg = -l+2*f+d+2*o;		dpsi += 0.000008 * ::sin(arg);		// line 226 of Table 5.2, period = 7.22 days		arg = -l+2*f+3*d+2*o;		dpsi += 0.000008 * ::sin(arg);		// line 227 of Table 5.2, period = 38.96 days		arg = -l-2*f+4*d;		dpsi -= 0.000007 * ::sin(arg);		// line 228 of Table 5.2, period = 9.30 days		arg = -l+lp+2*f+2*d+o;		dpsi += 0.000007 * ::sin(arg);		// line 229 of Table 5.2, period = 27.09 days		arg = -l+2*lp+2*d;		dpsi -= 0.000008 * ::sin(arg);		// line 230 of Table 5.2, period = 2189.73 days		arg = -l-lp+2*f-d+o;		dpsi += 0.000007 * ::sin(arg);		// line 231 of Table 5.2, period = -14.93 days		arg = -2*l+2*f-2*d+o;		dpsi -= 0.000008 * ::sin(arg);		// line 232 of Table 5.2, period = 13.49 days		arg = -2*l+4*f+2*o;		dpsi -= 0.000007 * ::sin(arg);		// line 233 of Table 5.2, period = -12.76 days		arg = -2*l-2*f+2*d;		dpsi += 0.000008 * ::sin(arg);		// line 234 of Table 5.2, period = 285.41 days		arg = -2*l+lp+2*f+o;		dpsi += 0.000009 * ::sin(arg);		// line 235 of Table 5.2, period = -28.15 days		arg = -3*l+2*f+o;		dpsi -= 0.000008 * ::sin(arg);		// line 236 of Table 5.2, period = 27.43 days		arg = lp+d+o;		dpsi += 0.000005 * ::sin(arg);		// line 237 of Table 5.2, period = 7.53 days		arg = -lp+4*d;		dpsi += 0.000006 * ::sin(arg);		// line 238 of Table 5.2, period = -14.16 days		arg = -lp-2*d+o;		dpsi += 0.000005 * ::sin(arg);		// line 239 of Table 5.2, period = -177.85 days		arg = -2*lp+o;		dpsi -= 0.000006 * ::sin(arg);		// line 240 of Table 5.2, period = 6.97 days		arg = l+2*f+d+o;		dpsi += 0.000005 * ::sin(arg);		// line 241 of Table 5.2, period = 126.51 days		arg = l+2*f-3*d+2*o;		dpsi -= 0.000006 * ::sin(arg);		// line 242 of Table 5.2, period = -299.26 days		arg = l-2*f+d;		dpsi -= 0.000007 * ::sin(arg);		// line 243 of Table 5.2, period = 13.72 days		arg = l+lp+d;		dpsi += 0.000005 * ::sin(arg);		// line 244 of Table 5.2, period = -29.14 days		arg = l-lp-2*d+o;		dpsi += 0.000006 * ::sin(arg);		// line 245 of Table 5.2, period = 8.93 days		arg = 2*l+2*f-d+2*o;		dpsi -= 0.000006 * ::sin(arg);		// line 246 of Table 5.2, period = 6.73 days		arg = 2*l+lp+2*f+o;		dpsi += 0.000005 * ::sin(arg);		// line 247 of Table 5.2, period = 6.98 days		arg = 2*l-lp+2*f+o;		dpsi -= 0.000006 * ::sin(arg);		// line 248 of Table 5.2, period = 13.28 days		arg = 2*l-lp+2*f-2*d+2*o;		dpsi += 0.000005 * ::sin(arg);		// line 249 of Table 5.2, period = 5.66 days		arg = 3*l+2*d;		dpsi += 0.000005 * ::sin(arg);		// line 250 of Table 5.2, period = 5.58 days		arg = 3*l-lp+2*f+2*o;		dpsi -= 0.000005 * ::sin(arg);		// line 251 of Table 5.2, period = 29.14 days		arg = -l-lp+2*f+o;		dpsi -= 0.000006 * ::sin(arg);		// line 252 of Table 5.2, period = -13.72 days		arg = -2*l+2*o;		dpsi += 0.000006 * ::sin(arg);		// line 253 of Table 5.2, period = 34.48 days		arg = -2*l+3*d;		dpsi -= 0.000005 * ::sin(arg);		// line 254 of Table 5.2, period = -7.12 days		arg = -2*l-2*d+o;		dpsi -= 0.000005 * ::sin(arg);		// line 255 of Table 5.2, period = 14.57 days		arg = -2*l+2*f+2*d;		dpsi -= 0.000006 * ::sin(arg);		// line 256 of Table 5.2, period = -548.04 days		arg = -2*l-lp+2*f;		dpsi -= 0.000005 * ::sin(arg);		// line 257 of Table 5.2, period = 15.24 days		arg = -2*l-lp+2*f+2*d+2*o;		dpsi += 0.000006 * ::sin(arg);		// line 258 of Table 5.2, period = 27.21 days		arg = f;		dpsi  += 0.000008 * ::cos(arg);		// line 259 of Table 5.2, period = 27.32 days		arg = f+o;		dpsi  -= 0.000016 * ::cos(arg);		deps  -= 0.000014 * ::sin(arg);		// line 260 of Table 5.2, period = 2190.35 days		arg = -l+f;		dpsi  += 0.000033 * ::cos(arg);		// line 261 of Table 5.2, period = 3231.51 days		arg = -l+f+o;		dpsi  -= 0.000105 * ::cos(arg);		deps  -= 0.000089 * ::sin(arg);		// line 262 of Table 5.2, period = 6159.22 days		arg = -l+f+2*o;		dpsi  += 0.000036 * ::cos(arg);		deps  += 0.000018 * ::sin(arg);		// line 263 of Table 5.2, period = 65514.10 days		arg = -l+f+3*o;		dpsi  -= 0.000006 * ::cos(arg);*/		//End Code implementing Table 5.2 IERS Conventions 1996 nutation series.		//-----------------------------------------------------------------------   }   //------------------------------------------------------------------------------   // Zonal tide terms for corrections of UT1mUTC when that quantity does not   // include tides (e.g. NGA EOP), ref. IERS 1996 Ch. 8, table 8.1 pg 74.   // @param T,    the coordinate transformation time at the time of interest   // @param UT1mUT1R, the correction to UT1mUTC (seconds)   // @param dlodR, the correction to the length of day (seconds)   // @param domegaR, the correction to the Earth rotation rate, rad/second.   void GeodeticFrames::UT1mUTCTidalCorrections(double T,                                                double& UT1mUT1R,                                                double& dlodR,                                                double& domegaR)         throw()   {		//-----------------------------------------------------------------------		// Code to implement Table 8.1 of IERS Conventions 1996 series for		// Zonal Tide terms for UT1R, length of the day and omega(Earth).		// Units for UT1R, length of the day and omega(Earth) are:		//        seconds,    seconds        and radians/sec.		// (Generated by perl script Table81.pl)		double arg;		UT1mUT1R = dlodR = domegaR = 0.0;			// Define (all doubles) and all in RADIANS:		double o = Omega(T); // = mean longitude of lunar ascending node, in degrees,		double f = F(T)    ; // = mean longitude of the moon - Omega, in degrees,		double d = D(T)    ; // = mean elongation of the moon from the sun, in degrees,		double l = L(T)    ; // = mean anomaly of the moon, in degrees, and		double lp = Lp(T)  ; // = mean anomaly of the sun, in degrees.	   o *= DEG_TO_RAD;	   f *= DEG_TO_RAD;	   d *= DEG_TO_RAD;	   l *= DEG_TO_RAD;	   lp *= DEG_TO_RAD;			// line 1 of Table 8.1, period = 5.64 days		arg = l+2*f+2*d+2*o;		UT1mUT1R -= 0.02e-4 * ::sin(arg);		dlodR += 0.3e-5 * ::cos(arg);		domegaR -= 0.2e-14 * ::cos(arg);		// line 2 of Table 8.1, period = 6.85 days		arg = 2*l+2*f+o;		UT1mUT1R -= 0.04e-4 * ::sin(arg);		dlodR += 0.4e-5 * ::cos(arg);		domegaR -= 0.3e-14 * ::cos(arg);		// line 3 of Table 8.1, period = 6.86 days		arg = 2*l+2*f+2*o;		UT1mUT1R -= 0.10e-4 * ::sin(arg);		dlodR += 0.9e-5 * ::cos(arg);		domegaR -= 0.8e-14 * ::cos(arg);		// line 4 of Table 8.1, period = 7.09 days		arg = 2*f+2*d+o;		UT1mUT1R -= 0.05e-4 * ::sin(arg);		dlodR += 0.4e-5 * ::cos(arg);		domegaR -= 0.4e-14 * ::cos(arg);		// line 5 of Table 8.1, period = 7.10 days		arg = 2*f+2*d+2*o;		UT1mUT1R -= 0.12e-4 * ::sin(arg);		dlodR += 1.1e-5 * ::cos(arg);		domegaR -= 0.9e-14 * ::cos(arg);		// line 6 of Table 8.1, period = 9.11 days		arg = l+2*f;		UT1mUT1R -= 0.04e-4 * ::sin(arg);		dlodR += 0.3e-5 * ::cos(arg);		domegaR -= 0.2e-14 * ::cos(arg);		// line 7 of Table 8.1, period = 9.12 days		arg = l+2*f+o;		UT1mUT1R -= 0.41e-4 * ::sin(arg);		dlodR += 2.8e-5 * ::cos(arg);		domegaR -= 2.4e-14 * ::cos(arg);		// line 8 of Table 8.1, period = 9.13 days		arg = l+2*f+2*o;		UT1mUT1R -= 0.99e-4 * ::sin(arg);		dlodR += 6.8e-5 * ::cos(arg);		domegaR -= 5.8e-14 * ::cos(arg);		// line 9 of Table 8.1, period = 9.18 days		arg = 3*l;		UT1mUT1R -= 0.02e-4 * ::sin(arg);		dlodR += 0.1e-5 * ::cos(arg);		domegaR -= 0.1e-14 * ::cos(arg);		// line 10 of Table 8.1, period = 9.54 days		arg = -l+2*f+2*d+o;		UT1mUT1R -= 0.08e-4 * ::sin(arg);		dlodR += 0.5e-5 * ::cos(arg);		domegaR -= 0.5e-14 * ::cos(arg);		// line 11 of Table 8.1, period = 9.56 days		arg = -l+2*f+2*d+2*o;		UT1mUT1R -= 0.20e-4 * ::sin(arg);		dlodR += 1.3e-5 * ::cos(arg);		domegaR -= 1.1e-14 * ::cos(arg);		// line 12 of Table 8.1, period = 9.61 days		arg = l+2*d;		UT1mUT1R -= 0.08e-4 * ::sin(arg);		dlodR += 0.5e-5 * ::cos(arg);		domegaR -= 0.4e-14 * ::cos(arg);		// line 13 of Table 8.1, period = 12.81 days		arg = 2*l+2*f-2*d+2*o;		UT1mUT1R += 0.02e-4 * ::sin(arg);		dlodR -= 0.1e-5 * ::cos(arg);		domegaR += 0.1e-14 * ::cos(arg);		// line 14 of Table 8.1, period = 13.17 days		arg = lp+2*f+2*o;		UT1mUT1R += 0.03e-4 * ::sin(arg);		dlodR -= 0.1e-5 * ::cos(arg);		domegaR += 0.1e-14 * ::cos(arg);		// line 15 of Table 8.1, period = 13.61 days		arg = 2*f;		UT1mUT1R -= 0.30e-4 * ::sin(arg);		dlodR += 1.4e-5 * ::cos(arg);		domegaR -= 1.2e-14 * ::cos(arg);		// line 16 of Table 8.1, period = 13.63 days		arg = 2*f+o;		UT1mUT1R -= 3.21e-4 * ::sin(arg);		dlodR += 14.8e-5 * ::cos(arg);		domegaR -= 12.5e-14 * ::cos(arg);		// line 17 of Table 8.1, period = 13.66 days		arg = 2*f+2*o;		UT1mUT1R -= 7.76e-4 * ::sin(arg);		dlodR += 35.7e-5 * ::cos(arg);		domegaR -= 30.1e-14 * ::cos(arg);		// line 18 of Table 8.1, period = 13.75 days		arg = 2*l-o;		UT1mUT1R += 0.02e-4 * ::sin(arg);		dlodR -= 0.1e-5 * ::cos(arg);		domegaR += 0.1e-14 * ::cos(arg);		// line 19 of Table 8.1, period = 13.78 days		arg = 2*l;		UT1mUT1R -= 0.34e-4 * ::sin(arg);		dlodR += 1.5e-5 * ::cos(arg);		domegaR -= 1.3e-14 * ::cos(arg);		// line 20 of Table 8.1, period = 13.81 days		arg = 2*l+o;		UT1mUT1R += 0.02e-4 * ::sin(arg);		dlodR -= 0.1e-5 * ::cos(arg);		domegaR += 0.1e-14 * ::cos(arg);		// line 21 of Table 8.1, period = 14.19 days		arg = -lp+2*f+2*o;		UT1mUT1R -= 0.02e-4 * ::sin(arg);		dlodR += 0.1e-5 * ::cos(arg);		domegaR -= 0.1e-14 * ::cos(arg);		// line 22 of Table 8.1, period = 14.73 days		arg = 2*d-o;		UT1mUT1R += 0.05e-4 * ::sin(arg);		dlodR -= 0.2e-5 * ::cos(arg);		domegaR += 0.2e-14 * ::cos(arg);		// line 23 of Table 8.1, period = 14.77 days		arg = 2*d;		UT1mUT1R -= 0.73e-4 * ::sin(arg);		dlodR += 3.1e-5 * ::cos(arg);		domegaR -= 2.6e-14 * ::cos(arg);		// line 24 of Table 8.1, period = 14.80 days		arg = 2*d+o;		UT1mUT1R -= 0.05e-4 * ::sin(arg);		dlodR += 0.2e-5 * ::cos(arg);		domegaR -= 0.2e-14 * ::cos(arg);		// line 25 of Table 8.1, period = 15.39 days		arg = -lp+2*d;		UT1mUT1R -= 0.05e-4 * ::sin(arg);		dlodR += 0.2e-5 * ::cos(arg);		domegaR -= 0.2e-14 * ::cos(arg);		// line 26 of Table 8.1, period = 23.86 days		arg = l+2*f-2*d+o;		UT1mUT1R += 0.05e-4 * ::sin(arg);		dlodR -= 0.1e-5 * ::cos(arg);		domegaR += 0.1e-14 * ::cos(arg);		// line 27 of Table 8.1, period = 23.94 days		arg = l+2*f-2*d+2*o;		UT1mUT1R += 0.10e-4 * ::sin(arg);		dlodR -= 0.3e-5 * ::cos(arg);		domegaR += 0.2e-14 * ::cos(arg);		// line 28 of Table 8.1, period = 25.62 days		arg = l+lp;		UT1mUT1R += 0.04e-4 * ::sin(arg);		dlodR -= 0.1e-5 * ::cos(arg);		domegaR += 0.1e-14 * ::cos(arg);		// line 29 of Table 8.1, period = 26.88 days		arg = -l+2*f;		UT1mUT1R += 0.05e-4 * ::sin(arg);		dlodR -= 0.1e-5 * ::cos(arg);		domegaR += 0.1e-14 * ::cos(arg);		// line 30 of Table 8.1, period = 26.98 days		arg = -l+2*f+o;		UT1mUT1R += 0.18e-4 * ::sin(arg);		dlodR -= 0.4e-5 * ::cos(arg);		domegaR += 0.3e-14 * ::cos(arg);		// line 31 of Table 8.1, period = 27.09 days		arg = -l+2*f+2*o;		UT1mUT1R += 0.44e-4 * ::sin(arg);		dlodR -= 1.0e-5 * ::cos(arg);		domegaR += 0.9e-14 * ::cos(arg);		// line 32 of Table 8.1, period = 27.44 days		arg = l-o;		UT1mUT1R += 0.53e-4 * ::sin(arg);		dlodR -= 1.2e-5 * ::cos(arg);		domegaR += 1.0e-14 * ::cos(arg);		// line 33 of Table 8.1, period = 27.56 days		arg = l;		UT1mUT1R -= 8.26e-4 * ::sin(arg);		dlodR += 18.8e-5 * ::cos(arg);		domegaR -= 15.9e-14 * ::cos(arg);		// line 34 of Table 8.1, period = 27.67 days		arg = l+o;		UT1mUT1R += 0.54e-4 * ::sin(arg);		dlodR -= 1.2e-5 * ::cos(arg);		domegaR += 1.0e-14 * ::cos(arg);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -