|
|
|
import 'dart:core';
|
|
|
|
import 'dart:math';
|
|
|
|
|
|
|
|
import 'package:flutter_custom_calendar/utils/math_util.dart';
|
|
|
|
|
|
|
|
class SolarTermUtil {
|
|
|
|
/// 24节气
|
|
|
|
static List<String> SOLAR_TERMS = [
|
|
|
|
"春分",
|
|
|
|
"清明",
|
|
|
|
"谷雨",
|
|
|
|
"立夏",
|
|
|
|
"小满",
|
|
|
|
"芒种",
|
|
|
|
"夏至",
|
|
|
|
"小暑",
|
|
|
|
"大暑",
|
|
|
|
"立秋",
|
|
|
|
"处暑",
|
|
|
|
"白露",
|
|
|
|
"秋分",
|
|
|
|
"寒露",
|
|
|
|
"霜降",
|
|
|
|
"立冬",
|
|
|
|
"小雪",
|
|
|
|
"大雪",
|
|
|
|
"冬至",
|
|
|
|
"小寒",
|
|
|
|
"大寒",
|
|
|
|
"立春",
|
|
|
|
"雨水",
|
|
|
|
"惊蛰",
|
|
|
|
];
|
|
|
|
|
|
|
|
/// 每弧度的角秒数
|
|
|
|
static final double SECOND_PER_RAD = 180 * 3600 / pi;
|
|
|
|
|
|
|
|
/// 每弧度的角度数
|
|
|
|
static final double ANGLE_PER_RAD = 180 / pi;
|
|
|
|
|
|
|
|
/// 日历计算
|
|
|
|
/// * 2000年前儒略日数(2000-1-1)
|
|
|
|
static final double J2000 = 2451545;
|
|
|
|
|
|
|
|
/// 黄赤交角系数表
|
|
|
|
static final List<double> H_C_ANGLE_TABLE = [
|
|
|
|
0,
|
|
|
|
50287.92262,
|
|
|
|
111.24406,
|
|
|
|
0.07699,
|
|
|
|
-0.23479,
|
|
|
|
-0.00178,
|
|
|
|
0.00018,
|
|
|
|
0.00001
|
|
|
|
];
|
|
|
|
|
|
|
|
/// 世界时与原子时之差计算表
|
|
|
|
static final List<double> DTS = [
|
|
|
|
-4000,
|
|
|
|
108371.7,
|
|
|
|
-13036.80,
|
|
|
|
392.000,
|
|
|
|
0.0000,
|
|
|
|
-500,
|
|
|
|
17201.0,
|
|
|
|
-627.82,
|
|
|
|
16.170,
|
|
|
|
-0.3413,
|
|
|
|
-150,
|
|
|
|
12200.6,
|
|
|
|
-346.41,
|
|
|
|
5.403,
|
|
|
|
-0.1593,
|
|
|
|
150,
|
|
|
|
9113.8,
|
|
|
|
-328.13,
|
|
|
|
-1.647,
|
|
|
|
0.0377,
|
|
|
|
500,
|
|
|
|
5707.5,
|
|
|
|
-391.41,
|
|
|
|
0.915,
|
|
|
|
0.3145,
|
|
|
|
900,
|
|
|
|
2203.4,
|
|
|
|
-283.45,
|
|
|
|
13.034,
|
|
|
|
-0.1778,
|
|
|
|
1300,
|
|
|
|
490.1,
|
|
|
|
-57.35,
|
|
|
|
2.085,
|
|
|
|
-0.0072,
|
|
|
|
1600,
|
|
|
|
120.0,
|
|
|
|
-9.81,
|
|
|
|
-1.532,
|
|
|
|
0.1403,
|
|
|
|
1700,
|
|
|
|
10.2,
|
|
|
|
-0.91,
|
|
|
|
0.510,
|
|
|
|
-0.0370,
|
|
|
|
1800,
|
|
|
|
13.4,
|
|
|
|
-0.72,
|
|
|
|
0.202,
|
|
|
|
-0.0193,
|
|
|
|
1830,
|
|
|
|
7.8,
|
|
|
|
-1.81,
|
|
|
|
0.416,
|
|
|
|
-0.0247,
|
|
|
|
1860,
|
|
|
|
8.3,
|
|
|
|
-0.13,
|
|
|
|
-0.406,
|
|
|
|
0.0292,
|
|
|
|
1880,
|
|
|
|
-5.4,
|
|
|
|
0.32,
|
|
|
|
-0.183,
|
|
|
|
0.0173,
|
|
|
|
1900,
|
|
|
|
-2.3,
|
|
|
|
2.06,
|
|
|
|
0.169,
|
|
|
|
-0.0135,
|
|
|
|
1920,
|
|
|
|
21.2,
|
|
|
|
1.69,
|
|
|
|
-0.304,
|
|
|
|
0.0167,
|
|
|
|
1940,
|
|
|
|
24.2,
|
|
|
|
1.22,
|
|
|
|
-0.064,
|
|
|
|
0.0031,
|
|
|
|
1960,
|
|
|
|
33.2,
|
|
|
|
0.51,
|
|
|
|
0.231,
|
|
|
|
-0.0109,
|
|
|
|
1980,
|
|
|
|
51.0,
|
|
|
|
1.29,
|
|
|
|
-0.026,
|
|
|
|
0.0032,
|
|
|
|
2000,
|
|
|
|
64.7,
|
|
|
|
-1.66,
|
|
|
|
5.224,
|
|
|
|
-0.2905,
|
|
|
|
2150,
|
|
|
|
279.4,
|
|
|
|
732.95,
|
|
|
|
429.579,
|
|
|
|
0.0158,
|
|
|
|
6000
|
|
|
|
];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 离心率
|
|
|
|
*/
|
|
|
|
static final List<double> GXC_E = [0.016708634, -0.000042037, -0.0000001267];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 近点
|
|
|
|
*/
|
|
|
|
static final List<double> GXC_P = [
|
|
|
|
102.93735 / ANGLE_PER_RAD,
|
|
|
|
1.71946 / ANGLE_PER_RAD,
|
|
|
|
0.00046 / ANGLE_PER_RAD
|
|
|
|
];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 太平黄经
|
|
|
|
*/
|
|
|
|
static final List<double> GXC_L = [
|
|
|
|
280.4664567 / ANGLE_PER_RAD,
|
|
|
|
36000.76982779 / ANGLE_PER_RAD,
|
|
|
|
0.0003032028 / ANGLE_PER_RAD,
|
|
|
|
1 / 49931000 / ANGLE_PER_RAD,
|
|
|
|
-1 / 153000000 / ANGLE_PER_RAD
|
|
|
|
];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 光行差常数
|
|
|
|
*/
|
|
|
|
static final double GXC_K = 20.49552 / SECOND_PER_RAD;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 向下取整
|
|
|
|
*
|
|
|
|
* @param v v
|
|
|
|
* @return 取整数部分
|
|
|
|
*/
|
|
|
|
static double doubleFloor(double v) {
|
|
|
|
v = v.floor().toDouble();
|
|
|
|
if (v < 0) return v + 1;
|
|
|
|
return v;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 对超过0-2PI的角度转为0-2PI
|
|
|
|
*
|
|
|
|
* @param v v
|
|
|
|
* @return 对超过0-2PI的角度转为0-2PI
|
|
|
|
*/
|
|
|
|
static double rad2mrad(double v) {
|
|
|
|
v = v % (2 * pi);
|
|
|
|
if (v < 0) return v + 2 * pi;
|
|
|
|
|
|
|
|
return v;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 计算世界时与原子时之差,传入年
|
|
|
|
*
|
|
|
|
* @param year 年
|
|
|
|
* @return 计算世界时与原子时之差
|
|
|
|
*/
|
|
|
|
static double worldTimeDiff(double year) {
|
|
|
|
int i;
|
|
|
|
for (i = 0; i < 100; i += 5) if (year < DTS[i + 5] || i == 95) break;
|
|
|
|
|
|
|
|
double t1 = (year - DTS[i]) / (DTS[i + 5] - DTS[i]) * 10;
|
|
|
|
double t2 = t1 * t1;
|
|
|
|
double t3 = t2 * t1;
|
|
|
|
return DTS[i + 1] + DTS[i + 2] * t1 + DTS[i + 3] * t2 + DTS[i + 4] * t3;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 传入儒略日(J2000起算),计算UTC与原子时的差(单位:日)
|
|
|
|
*
|
|
|
|
* @param julian 儒略日
|
|
|
|
* @return 计算UTC与原子时的差
|
|
|
|
*/
|
|
|
|
static double atomTimeDiff(double julian) {
|
|
|
|
return worldTimeDiff(julian / 365.2425 + 2000) / 86400.0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 公历转儒略日,UTC=1表示原日期是UTC
|
|
|
|
*
|
|
|
|
* @param UTC UTC
|
|
|
|
* @return 公历转儒略日, UTC=1表示原日期是UTC
|
|
|
|
*/
|
|
|
|
static double toJulian(Time time, bool UTC) {
|
|
|
|
double y = time.year; // 取出年月
|
|
|
|
double m = time.month;
|
|
|
|
double n = 0;
|
|
|
|
|
|
|
|
if (m <= 2) {
|
|
|
|
m += 12;
|
|
|
|
y--;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (time.year * 372 + time.month * 31 + time.day >= 588829) {
|
|
|
|
// 判断是否为格里高利历日1582*372+10*31+15
|
|
|
|
n = doubleFloor(y / 100);
|
|
|
|
n = 2 - n + doubleFloor(n / 4); // 加百年闰
|
|
|
|
}
|
|
|
|
|
|
|
|
n += doubleFloor(365.2500001 * (y + 4716)); // 加上年引起的偏移日数
|
|
|
|
n += doubleFloor(30.6 * (m + 1)) + time.day; // 加上月引起的偏移日数及日偏移数
|
|
|
|
n += ((time.second / 60 + time.minute) / 60 + time.hour) / 24 - 1524.5;
|
|
|
|
if (UTC) return n + atomTimeDiff(n - J2000);
|
|
|
|
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 儒略日数转公历,UTC=1表示目标公历是UTC
|
|
|
|
*
|
|
|
|
* @param jd jd
|
|
|
|
* @param UTC UTC
|
|
|
|
*/
|
|
|
|
static Time setFromJulian(double jd, bool UTC) {
|
|
|
|
Time time = new Time();
|
|
|
|
if (UTC) jd -= atomTimeDiff(jd - J2000);
|
|
|
|
|
|
|
|
jd += 0.5;
|
|
|
|
|
|
|
|
// 取得日数的整数部份A及小数部分F
|
|
|
|
double A = doubleFloor(jd);
|
|
|
|
double F = jd - A;
|
|
|
|
double D;
|
|
|
|
|
|
|
|
if (A > 2299161) {
|
|
|
|
D = doubleFloor((A - 1867216.25) / 36524.25);
|
|
|
|
A += 1 + D - doubleFloor(D / 4);
|
|
|
|
}
|
|
|
|
A += 1524; // 向前移4年零2个月
|
|
|
|
time.year = doubleFloor((A - 122.1) / 365.25); // 年
|
|
|
|
D = A - doubleFloor(365.25 * time.year); // 去除整年日数后余下日数
|
|
|
|
time.month = doubleFloor(D / 30.6001); // 月数
|
|
|
|
time.day = D - doubleFloor(time.month * 30.6001); // 去除整月日数后余下日数
|
|
|
|
time.year -= 4716;
|
|
|
|
time.month--;
|
|
|
|
if (time.month > 12) time.month -= 12;
|
|
|
|
if (time.month <= 2) time.year++;
|
|
|
|
// 日的小数转为时分秒
|
|
|
|
F *= 24;
|
|
|
|
time.hour = doubleFloor(F);
|
|
|
|
F -= time.hour;
|
|
|
|
F *= 60;
|
|
|
|
time.minute = doubleFloor(F);
|
|
|
|
F -= time.minute;
|
|
|
|
F *= 60;
|
|
|
|
time.second = F;
|
|
|
|
return time;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 补岁差
|
|
|
|
*
|
|
|
|
* @param jd jd
|
|
|
|
* @param zb zb
|
|
|
|
*/
|
|
|
|
static void precession(double jd, List<double?> zb) {
|
|
|
|
int i;
|
|
|
|
double t = 1, v = 0, t1 = jd / 365250;
|
|
|
|
for (i = 1; i < 8; i++) {
|
|
|
|
t *= t1;
|
|
|
|
v += H_C_ANGLE_TABLE[i] * t;
|
|
|
|
}
|
|
|
|
zb[0] = rad2mrad(zb[0]! + (v + 2.9965 * t1) / SECOND_PER_RAD);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 恒星周年光行差计算(黄道坐标中)
|
|
|
|
*
|
|
|
|
* @param t t
|
|
|
|
* @param zb zb
|
|
|
|
*/
|
|
|
|
static void addGxc(double t, List<double> zb) {
|
|
|
|
double t1 = t / 36525;
|
|
|
|
double t2 = t1 * t1;
|
|
|
|
double t3 = t2 * t1;
|
|
|
|
double t4 = t3 * t1;
|
|
|
|
double L = GXC_L[0] +
|
|
|
|
GXC_L[1] * t1 +
|
|
|
|
GXC_L[2] * t2 +
|
|
|
|
GXC_L[3] * t3 +
|
|
|
|
GXC_L[4] * t4;
|
|
|
|
double p = GXC_P[0] + GXC_P[1] * t1 + GXC_P[2] * t2;
|
|
|
|
double e = GXC_E[0] + GXC_E[1] * t1 + GXC_E[2] * t2;
|
|
|
|
double dL = L - zb[0], dP = p - zb[0];
|
|
|
|
zb[0] -= GXC_K * (cos(dL) - e * cos(dP)) / cos(zb[1]);
|
|
|
|
zb[1] -= GXC_K * sin(zb[1]) * (sin(dL) - e * sin(dP));
|
|
|
|
zb[0] = rad2mrad(zb[0]);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 章动计算
|
|
|
|
*/
|
|
|
|
static final List<double> nutB = [
|
|
|
|
// 章动表
|
|
|
|
2.1824391966, -33.757045954, 0.0000362262, 3.7340E-08, -2.8793E-10,
|
|
|
|
-171996, -1742, 92025, 89, 3.5069406862, 1256.663930738,
|
|
|
|
0.0000105845, 6.9813E-10, -2.2815E-10, -13187, -16, 5736, -31,
|
|
|
|
1.3375032491, 16799.418221925, -0.0000511866, 6.4626E-08,
|
|
|
|
-5.3543E-10, -2274, -2, 977, -5, 4.3648783932, -67.514091907,
|
|
|
|
0.0000724525, 7.4681E-08, -5.7586E-10, 2062, 2, -895, 5,
|
|
|
|
0.0431251803, -628.301955171, 0.0000026820, 6.5935E-10, 5.5705E-11,
|
|
|
|
-1426, 34, 54, -1, 2.3555557435, 8328.691425719, 0.0001545547,
|
|
|
|
2.5033E-07, -1.1863E-09, 712, 1, -7, 0, 3.4638155059,
|
|
|
|
1884.965885909, 0.0000079025, 3.8785E-11, -2.8386E-10, -517, 12,
|
|
|
|
224, -6, 5.4382493597, 16833.175267879, -0.0000874129, 2.7285E-08,
|
|
|
|
-2.4750E-10, -386, -4, 200, 0, 3.6930589926, 25128.109647645,
|
|
|
|
0.0001033681, 3.1496E-07, -1.7218E-09, -301, 0, 129, -1,
|
|
|
|
3.5500658664, 628.361975567, 0.0000132664, 1.3575E-09, -1.7245E-10,
|
|
|
|
217, -5, -95, 3
|
|
|
|
];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 计算黄经章动及交角章动
|
|
|
|
*
|
|
|
|
* @param t t
|
|
|
|
* @return 计算黄经章动及交角章动
|
|
|
|
*/
|
|
|
|
static Nutation nutation(double t) {
|
|
|
|
Nutation d = new Nutation();
|
|
|
|
d.Lon = 0;
|
|
|
|
d.Obl = 0;
|
|
|
|
t /= 36525;
|
|
|
|
double c, t1 = t, t2 = t1 * t1, t3 = t2 * t1, t4 = t3 * t1; // t5=t4*t1;
|
|
|
|
for (int i = 0; i < nutB.length; i += 9) {
|
|
|
|
c = nutB[i] +
|
|
|
|
nutB[i + 1] * t1 +
|
|
|
|
nutB[i + 2] * t2 +
|
|
|
|
nutB[i + 3] * t3 +
|
|
|
|
nutB[i + 4] * t4;
|
|
|
|
d.Lon += (nutB[i + 5] + nutB[i + 6] * t / 10) * sin(c); // 黄经章动
|
|
|
|
d.Obl += (nutB[i + 7] + nutB[i + 8] * t / 10) * cos(c); // 交角章动
|
|
|
|
}
|
|
|
|
d.Lon /= SECOND_PER_RAD * 10000; // 黄经章动
|
|
|
|
d.Obl /= SECOND_PER_RAD * 10000; // 交角章动
|
|
|
|
return d;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***************************************
|
|
|
|
* 如果用记事本查看此代码,请在"格式"菜单中去除"自动换行"
|
|
|
|
* E10是关于地球的,格式如下:
|
|
|
|
* 它是一个数组,每3个数看作一条记录,每条记录的3个数记为A,B,C
|
|
|
|
* rec=A*cos(B+C*t); 式中t是J2000起算的儒略千年数
|
|
|
|
* 每条记录的计算结果(即rec)取和即得地球的日心黄经的周期量L0
|
|
|
|
* E11格式如下: rec = A*cos*(B+C*t) *t, 取和后得泊松量L1
|
|
|
|
* E12格式如下: rec = A*cos*(B+C*t) *t*t, 取和后得泊松量L2
|
|
|
|
* E13格式如下: rec = A*cos*(B+C*t) *t*t*t, 取和后得泊松量L3
|
|
|
|
* 最后地球的地心黄经:L = L0+L1+L2+L3+...
|
|
|
|
* E20,E21,E22,E23...用于计算黄纬
|
|
|
|
* M10,M11等是关于月球的,参数的用法请阅读Mnn()函数
|
|
|
|
*****************************************/
|
|
|
|
//地球运动VSOP87参数
|
|
|
|
static final List<double> E10 = [
|
|
|
|
//黄经周期项
|
|
|
|
1.75347045673,
|
|
|
|
0.00000000000,
|
|
|
|
0.0000000000,
|
|
|
|
0.03341656456,
|
|
|
|
4.66925680417,
|
|
|
|
6283.0758499914,
|
|
|
|
0.00034894275,
|
|
|
|
4.62610241759,
|
|
|
|
12566.1516999828,
|
|
|
|
0.00003417571,
|
|
|
|
2.82886579606,
|
|
|
|
3.5231183490,
|
|
|
|
0.00003497056,
|
|
|
|
2.74411800971,
|
|
|
|
5753.3848848968,
|
|
|
|
0.00003135896,
|
|
|
|
3.62767041758,
|
|
|
|
77713.7714681205,
|
|
|
|
0.00002676218,
|
|
|
|
4.41808351397,
|
|
|
|
7860.4193924392,
|
|
|
|
0.00002342687,
|
|
|
|
6.13516237631,
|
|
|
|
3930.2096962196,
|
|
|
|
0.00001273166,
|
|
|
|
2.03709655772,
|
|
|
|
529.6909650946,
|
|
|
|
0.00001324292,
|
|
|
|
0.74246356352,
|
|
|
|
11506.7697697936,
|
|
|
|
0.00000901855,
|
|
|
|
2.04505443513,
|
|
|
|
26.2983197998,
|
|
|
|
0.00001199167,
|
|
|
|
1.10962944315,
|
|
|
|
1577.3435424478,
|
|
|
|
0.00000857223,
|
|
|
|
3.50849156957,
|
|
|
|
398.1490034082,
|
|
|
|
0.00000779786,
|
|
|
|
1.17882652114,
|
|
|
|
5223.6939198022,
|
|
|
|
0.00000990250,
|
|
|
|
5.23268129594,
|
|
|
|
5884.9268465832,
|
|
|
|
0.00000753141,
|
|
|
|
2.53339053818,
|
|
|
|
5507.5532386674,
|
|
|
|
0.00000505264,
|
|
|
|
4.58292563052,
|
|
|
|
18849.2275499742,
|
|
|
|
0.00000492379,
|
|
|
|
4.20506639861,
|
|
|
|
775.5226113240,
|
|
|
|
0.00000356655,
|
|
|
|
2.91954116867,
|
|
|
|
0.0673103028,
|
|
|
|
0.00000284125,
|
|
|
|
1.89869034186,
|
|
|
|
796.2980068164,
|
|
|
|
0.00000242810,
|
|
|
|
0.34481140906,
|
|
|
|
5486.7778431750,
|
|
|
|
0.00000317087,
|
|
|
|
5.84901952218,
|
|
|
|
11790.6290886588,
|
|
|
|
0.00000271039,
|
|
|
|
0.31488607649,
|
|
|
|
10977.0788046990,
|
|
|
|
0.00000206160,
|
|
|
|
4.80646606059,
|
|
|
|
2544.3144198834,
|
|
|
|
0.00000205385,
|
|
|
|
1.86947813692,
|
|
|
|
5573.1428014331,
|
|
|
|
0.00000202261,
|
|
|
|
2.45767795458,
|
|
|
|
6069.7767545534,
|
|
|
|
0.00000126184,
|
|
|
|
1.08302630210,
|
|
|
|
20.7753954924,
|
|
|
|
0.00000155516,
|
|
|
|
0.83306073807,
|
|
|
|
213.2990954380,
|
|
|
|
0.00000115132,
|
|
|
|
0.64544911683,
|
|
|
|
0.9803210682,
|
|
|
|
0.00000102851,
|
|
|
|
0.63599846727,
|
|
|
|
4694.0029547076,
|
|
|
|
0.00000101724,
|
|
|
|
4.26679821365,
|
|
|
|
7.1135470008,
|
|
|
|
0.00000099206,
|
|
|
|
6.20992940258,
|
|
|
|
2146.1654164752,
|
|
|
|
0.00000132212,
|
|
|
|
3.41118275555,
|
|
|
|
2942.4634232916,
|
|
|
|
0.00000097607,
|
|
|
|
0.68101272270,
|
|
|
|
155.4203994342,
|
|
|
|
0.00000085128,
|
|
|
|
1.29870743025,
|
|
|
|
6275.9623029906,
|
|
|
|
0.00000074651,
|
|
|
|
1.75508916159,
|
|
|
|
5088.6288397668,
|
|
|
|
0.00000101895,
|
|
|
|
0.97569221824,
|
|
|
|
15720.8387848784,
|
|
|
|
0.00000084711,
|
|
|
|
3.67080093025,
|
|
|
|
71430.6956181291,
|
|
|
|
0.00000073547,
|
|
|
|
4.67926565481,
|
|
|
|
801.8209311238,
|
|
|
|
0.00000073874,
|
|
|
|
3.50319443167,
|
|
|
|
3154.6870848956,
|
|
|
|
0.00000078756,
|
|
|
|
3.03698313141,
|
|
|
|
12036.4607348882,
|
|
|
|
0.00000079637,
|
|
|
|
1.80791330700,
|
|
|
|
17260.1546546904,
|
|
|
|
0.00000085803,
|
|
|
|
5.98322631256,
|
|
|
|
161000.6857376741,
|
|
|
|
0.00000056963,
|
|
|
|
2.78430398043,
|
|
|
|
6286.5989683404,
|
|
|
|
0.00000061148,
|
|
|
|
1.81839811024,
|
|
|
|
7084.8967811152,
|
|
|
|
0.00000069627,
|
|
|
|
0.83297596966,
|
|
|
|
9437.7629348870,
|
|
|
|
0.00000056116,
|
|
|
|
4.38694880779,
|
|
|
|
14143.4952424306,
|
|
|
|
0.00000062449,
|
|
|
|
3.97763880587,
|
|
|
|
8827.3902698748,
|
|
|
|
0.00000051145,
|
|
|
|
0.28306864501,
|
|
|
|
5856.4776591154,
|
|
|
|
0.00000055577,
|
|
|
|
3.47006009062,
|
|
|
|
6279.5527316424,
|
|
|
|
0.00000041036,
|
|
|
|
5.36817351402,
|
|
|
|
8429.2412664666,
|
|
|
|
0.00000051605,
|
|
|
|
1.33282746983,
|
|
|
|
1748.0164130670,
|
|
|
|
0.00000051992,
|
|
|
|
0.18914945834,
|
|
|
|
12139.5535091068,
|
|
|
|
0.00000049000,
|
|
|
|
0.48735065033,
|
|
|
|
1194.4470102246,
|
|
|
|
0.00000039200,
|
|
|
|
6.16832995016,
|
|
|
|
10447.3878396044,
|
|
|
|
0.00000035566,
|
|
|
|
1.77597314691,
|
|
|
|
6812.7668150860,
|
|
|
|
0.00000036770,
|
|
|
|
6.04133859347,
|
|
|
|
10213.2855462110,
|
|
|
|
0.00000036596,
|
|
|
|
2.56955238628,
|
|
|
|
1059.3819301892,
|
|
|
|
0.00000033291,
|
|
|
|
0.59309499459,
|
|
|
|
17789.8456197850,
|
|
|
|
0.00000035954,
|
|
|
|
1.70876111898,
|
|
|
|
2352.8661537718
|
|
|
|
];
|
|
|
|
static final List<double> E11 = [
|
|
|
|
//黄经泊松1项
|
|
|
|
6283.31966747491,
|
|
|
|
0.00000000000,
|
|
|
|
0.0000000000,
|
|
|
|
0.00206058863,
|
|
|
|
2.67823455584,
|
|
|
|
6283.0758499914,
|
|
|
|
0.00004303430,
|
|
|
|
2.63512650414,
|
|
|
|
12566.1516999828,
|
|
|
|
0.00000425264,
|
|
|
|
1.59046980729,
|
|
|
|
3.5231183490,
|
|
|
|
0.00000108977,
|
|
|
|
2.96618001993,
|
|
|
|
1577.3435424478,
|
|
|
|
0.00000093478,
|
|
|
|
2.59212835365,
|
|
|
|
18849.2275499742,
|
|
|
|
0.00000119261,
|
|
|
|
5.79557487799,
|
|
|
|
26.2983197998,
|
|
|
|
0.00000072122,
|
|
|
|
1.13846158196,
|
|
|
|
529.6909650946,
|
|
|
|
0.00000067768,
|
|
|
|
1.87472304791,
|
|
|
|
398.1490034082,
|
|
|
|
0.00000067327,
|
|
|
|
4.40918235168,
|
|
|
|
5507.5532386674,
|
|
|
|
0.00000059027,
|
|
|
|
2.88797038460,
|
|
|
|
5223.6939198022,
|
|
|
|
0.00000055976,
|
|
|
|
2.17471680261,
|
|
|
|
155.4203994342,
|
|
|
|
0.00000045407,
|
|
|
|
0.39803079805,
|
|
|
|
796.2980068164,
|
|
|
|
0.00000036369,
|
|
|
|
0.46624739835,
|
|
|
|
775.5226113240,
|
|
|
|
0.00000028958,
|
|
|
|
2.64707383882,
|
|
|
|
7.1135470008,
|
|
|
|
0.00000019097,
|
|
|
|
1.84628332577,
|
|
|
|
5486.7778431750,
|
|
|
|
0.00000020844,
|
|
|
|
5.34138275149,
|
|
|
|
0.9803210682,
|
|
|
|
0.00000018508,
|
|
|
|
4.96855124577,
|
|
|
|
213.2990954380,
|
|
|
|
0.00000016233,
|
|
|
|
0.03216483047,
|
|
|
|
2544.3144198834,
|
|
|
|
0.00000017293,
|
|
|
|
2.99116864949,
|
|
|
|
6275.9623029906
|
|
|
|
];
|
|
|
|
static final List<double> E12 = [
|
|
|
|
//黄经泊松2项
|
|
|
|
0.00052918870,
|
|
|
|
0.00000000000,
|
|
|
|
0.0000000000,
|
|
|
|
0.00008719837,
|
|
|
|
1.07209665242,
|
|
|
|
6283.0758499914,
|
|
|
|
0.00000309125,
|
|
|
|
0.86728818832,
|
|
|
|
12566.1516999828,
|
|
|
|
0.00000027339,
|
|
|
|
0.05297871691,
|
|
|
|
3.5231183490,
|
|
|
|
0.00000016334,
|
|
|
|
5.18826691036,
|
|
|
|
26.2983197998,
|
|
|
|
0.00000015752,
|
|
|
|
3.68457889430,
|
|
|
|
155.4203994342,
|
|
|
|
0.00000009541,
|
|
|
|
0.75742297675,
|
|
|
|
18849.2275499742,
|
|
|
|
0.00000008937,
|
|
|
|
2.05705419118,
|
|
|
|
77713.7714681205,
|
|
|
|
0.00000006952,
|
|
|
|
0.82673305410,
|
|
|
|
775.5226113240,
|
|
|
|
0.00000005064,
|
|
|
|
4.66284525271,
|
|
|
|
1577.3435424478
|
|
|
|
];
|
|
|
|
static final List<double> E13 = [
|
|
|
|
0.00000289226,
|
|
|
|
5.84384198723,
|
|
|
|
6283.0758499914,
|
|
|
|
0.00000034955,
|
|
|
|
0.00000000000,
|
|
|
|
0.0000000000,
|
|
|
|
0.00000016819,
|
|
|
|
5.48766912348,
|
|
|
|
12566.1516999828
|
|
|
|
];
|
|
|
|
static final List<double> E14 = [
|
|
|
|
0.00000114084,
|
|
|
|
3.14159265359,
|
|
|
|
0.0000000000,
|
|
|
|
0.00000007717,
|
|
|
|
4.13446589358,
|
|
|
|
6283.0758499914,
|
|
|
|
0.00000000765,
|
|
|
|
3.83803776214,
|
|
|
|
12566.1516999828
|
|
|
|
];
|
|
|
|
static final List<double> E15 = [0.00000000878, 3.14159265359, 0.0000000000];
|
|
|
|
static final List<double> E20 = [
|
|
|
|
//黄纬周期项
|
|
|
|
0.00000279620,
|
|
|
|
3.19870156017,
|
|
|
|
84334.6615813083,
|
|
|
|
0.00000101643,
|
|
|
|
5.42248619256,
|
|
|
|
5507.5532386674,
|
|
|
|
0.00000080445,
|
|
|
|
3.88013204458,
|
|
|
|
5223.6939198022,
|
|
|
|
0.00000043806,
|
|
|
|
3.70444689758,
|
|
|
|
2352.8661537718,
|
|
|
|
0.00000031933,
|
|
|
|
4.00026369781,
|
|
|
|
1577.3435424478,
|
|
|
|
0.00000022724,
|
|
|
|
3.98473831560,
|
|
|
|
1047.7473117547,
|
|
|
|
0.00000016392,
|
|
|
|
3.56456119782,
|
|
|
|
5856.4776591154,
|
|
|
|
0.00000018141,
|
|
|
|
4.98367470263,
|
|
|
|
6283.0758499914,
|
|
|
|
0.00000014443,
|
|
|
|
3.70275614914,
|
|
|
|
9437.7629348870,
|
|
|
|
0.00000014304,
|
|
|
|
3.41117857525,
|
|
|
|
10213.2855462110
|
|
|
|
];
|
|
|
|
static final List<double> E21 = [
|
|
|
|
0.00000009030,
|
|
|
|
3.89729061890,
|
|
|
|
5507.5532386674,
|
|
|
|
0.00000006177,
|
|
|
|
1.73038850355,
|
|
|
|
5223.6939198022
|
|
|
|
];
|
|
|
|
static final List<double> E30 = [
|
|
|
|
//距离周期项
|
|
|
|
1.00013988799,
|
|
|
|
0.00000000000,
|
|
|
|
0.0000000000,
|
|
|
|
0.01670699626,
|
|
|
|
3.09846350771,
|
|
|
|
6283.0758499914,
|
|
|
|
0.00013956023,
|
|
|
|
3.05524609620,
|
|
|
|
12566.1516999828,
|
|
|
|
0.00003083720,
|
|
|
|
5.19846674381,
|
|
|
|
77713.7714681205,
|
|
|
|
0.00001628461,
|
|
|
|
1.17387749012,
|
|
|
|
5753.3848848968,
|
|
|
|
0.00001575568,
|
|
|
|
2.84685245825,
|
|
|
|
7860.4193924392,
|
|
|
|
0.00000924799,
|
|
|
|
5.45292234084,
|
|
|
|
11506.7697697936,
|
|
|
|
0.00000542444,
|
|
|
|
4.56409149777,
|
|
|
|
3930.2096962196
|
|
|
|
];
|
|
|
|
static final List<double> E31 = [
|
|
|
|
0.00103018608,
|
|
|
|
1.10748969588,
|
|
|
|
6283.0758499914,
|
|
|
|
0.00001721238,
|
|
|
|
1.06442301418,
|
|
|
|
12566.1516999828,
|
|
|
|
0.00000702215,
|
|
|
|
3.14159265359,
|
|
|
|
0.0000000000
|
|
|
|
];
|
|
|
|
static final List<double> E32 = [
|
|
|
|
0.00004359385,
|
|
|
|
5.78455133738,
|
|
|
|
6283.0758499914
|
|
|
|
];
|
|
|
|
static final List<double> E33 = [
|
|
|
|
0.00000144595,
|
|
|
|
4.27319435148,
|
|
|
|
6283.0758499914
|
|
|
|
];
|
|
|
|
|
|
|
|
//月球运动参数
|
|
|
|
static final List<double> M10 = [
|
|
|
|
22639.5858800,
|
|
|
|
2.3555545723,
|
|
|
|
8328.6914247251,
|
|
|
|
1.5231275E-04,
|
|
|
|
2.5041111E-07,
|
|
|
|
-1.1863391E-09,
|
|
|
|
4586.4383203,
|
|
|
|
8.0413790709,
|
|
|
|
7214.0628654588,
|
|
|
|
-2.1850087E-04,
|
|
|
|
-1.8646419E-07,
|
|
|
|
8.7760973E-10,
|
|
|
|
2369.9139357,
|
|
|
|
10.3969336431,
|
|
|
|
15542.7542901840,
|
|
|
|
-6.6188121E-05,
|
|
|
|
6.3946925E-08,
|
|
|
|
-3.0872935E-10,
|
|
|
|
769.0257187,
|
|
|
|
4.7111091445,
|
|
|
|
16657.3828494503,
|
|
|
|
3.0462550E-04,
|
|
|
|
5.0082223E-07,
|
|
|
|
-2.3726782E-09,
|
|
|
|
-666.4175399,
|
|
|
|
-0.0431256817,
|
|
|
|
628.3019552485,
|
|
|
|
-2.6638815E-06,
|
|
|
|
6.1639211E-10,
|
|
|
|
-5.4439728E-11,
|
|
|
|
-411.5957339,
|
|
|
|
3.2558104895,
|
|
|
|
16866.9323152810,
|
|
|
|
-1.2804259E-04,
|
|
|
|
-9.8998954E-09,
|
|
|
|
4.0433461E-11,
|
|
|
|
211.6555524,
|
|
|
|
5.6858244986,
|
|
|
|
-1114.6285592663,
|
|
|
|
-3.7081362E-04,
|
|
|
|
-4.3687530E-07,
|
|
|
|
2.0639488E-09,
|
|
|
|
205.4359530,
|
|
|
|
8.0845047526,
|
|
|
|
6585.7609102104,
|
|
|
|
-2.1583699E-04,
|
|
|
|
-1.8708058E-07,
|
|
|
|
9.3204945E-10,
|
|
|
|
191.9561973,
|
|
|
|
12.7524882154,
|
|
|
|
23871.4457149091,
|
|
|
|
8.6124629E-05,
|
|
|
|
3.1435804E-07,
|
|
|
|
-1.4950684E-09,
|
|
|
|
164.7286185,
|
|
|
|
10.4400593249,
|
|
|
|
14914.4523349355,
|
|
|
|
-6.3524240E-05,
|
|
|
|
6.3330532E-08,
|
|
|
|
-2.5428962E-10,
|
|
|
|
-147.3213842,
|
|
|
|
-2.3986802540,
|
|
|
|
-7700.3894694766,
|
|
|
|
-1.5497663E-04,
|
|
|
|
-2.4979472E-07,
|
|
|
|
1.1318993E-09,
|
|
|
|
-124.9881185,
|
|
|
|
5.1984668216,
|
|
|
|
7771.3771450920,
|
|
|
|
-3.3094061E-05,
|
|
|
|
3.1973462E-08,
|
|
|
|
-1.5436468E-10,
|
|
|
|
-109.3803637,
|
|
|
|
2.3124288905,
|
|
|
|
8956.9933799736,
|
|
|
|
1.4964887E-04,
|
|
|
|
2.5102751E-07,
|
|
|
|
-1.2407788E-09,
|
|
|
|
55.1770578,
|
|
|
|
7.1411231536,
|
|
|
|
-1324.1780250970,
|
|
|
|
6.1854469E-05,
|
|
|
|
7.3846820E-08,
|
|
|
|
-3.4916281E-10,
|
|
|
|
-45.0996092,
|
|
|
|
5.6113650618,
|
|
|
|
25195.6237400061,
|
|
|
|
2.4270161E-05,
|
|
|
|
2.4051122E-07,
|
|
|
|
-1.1459056E-09,
|
|
|
|
39.5333010,
|
|
|
|
-0.9002559173,
|
|
|
|
-8538.2408905558,
|
|
|
|
2.8035534E-04,
|
|
|
|
2.6031101E-07,
|
|
|
|
-1.2267725E-09,
|
|
|
|
38.4298346,
|
|
|
|
18.4383127140,
|
|
|
|
22756.8171556428,
|
|
|
|
-2.8468899E-04,
|
|
|
|
-1.2251727E-07,
|
|
|
|
5.6888037E-10,
|
|
|
|
36.1238141,
|
|
|
|
7.0666637168,
|
|
|
|
24986.0742741754,
|
|
|
|
4.5693825E-04,
|
|
|
|
7.5123334E-07,
|
|
|
|
-3.5590172E-09,
|
|
|
|
30.7725751,
|
|
|
|
16.0827581417,
|
|
|
|
14428.1257309177,
|
|
|
|
-4.3700174E-04,
|
|
|
|
-3.7292838E-07,
|
|
|
|
1.7552195E-09,
|
|
|
|
-28.3971008,
|
|
|
|
7.9982533891,
|
|
|
|
7842.3648207073,
|
|
|
|
-2.2116475E-04,
|
|
|
|
-1.8584780E-07,
|
|
|
|
8.2317000E-10,
|
|
|
|
-24.3582283,
|
|
|
|
10.3538079614,
|
|
|
|
16171.0562454324,
|
|
|
|
-6.8852003E-05,
|
|
|
|
6.4563317E-08,
|
|
|
|
-3.6316908E-10,
|
|
|
|
-18.5847068,
|
|
|
|
2.8429122493,
|
|
|
|
-557.3142796331,
|
|
|
|
-1.8540681E-04,
|
|
|
|
-2.1843765E-07,
|
|
|
|
1.0319744E-09,
|
|
|
|
17.9544674,
|
|
|
|
5.1553411398,
|
|
|
|
8399.6791003405,
|
|
|
|
-3.5757942E-05,
|
|
|
|
3.2589854E-08,
|
|
|
|
-2.0880440E-10,
|
|
|
|
14.5302779,
|
|
|
|
12.7956138971,
|
|
|
|
23243.1437596606,
|
|
|
|
8.8788511E-05,
|
|
|
|
3.1374165E-07,
|
|
|
|
-1.4406287E-09,
|
|
|
|
14.3796974,
|
|
|
|
15.1080427876,
|
|
|
|
32200.1371396342,
|
|
|
|
2.3843738E-04,
|
|
|
|
5.6476915E-07,
|
|
|
|
-2.6814075E-09,
|
|
|
|
14.2514576,
|
|
|
|
-24.0810366320,
|
|
|
|
-2.3011998397,
|
|
|
|
1.5231275E-04,
|
|
|
|
2.5041111E-07,
|
|
|
|
-1.1863391E-09,
|
|
|
|
13.8990596,
|
|
|
|
20.7938672862,
|
|
|
|
31085.5085803679,
|
|
|
|
-1.3237624E-04,
|
|
|
|
1.2789385E-07,
|
|
|
|
-6.1745870E-10,
|
|
|
|
13.1940636,
|
|
|
|
3.3302699264,
|
|
|
|
-9443.3199839914,
|
|
|
|
-5.2312637E-04,
|
|
|
|
-6.8728642E-07,
|
|
|
|
3.2502879E-09,
|
|
|
|
-9.6790568,
|
|
|
|
-4.7542348263,
|
|
|
|
-16029.0808942018,
|
|
|
|
-3.0728938E-04,
|
|
|
|
-5.0020584E-07,
|
|
|
|
2.3182384E-09,
|
|
|
|
-9.3658635,
|
|
|
|
11.2971895604,
|
|
|
|
24080.9951807398,
|
|
|
|
-3.4654346E-04,
|
|
|
|
-1.9636409E-07,
|
|
|
|
9.1804319E-10,
|
|
|
|
8.6055318,
|
|
|
|
5.7289501804,
|
|
|
|
-1742.9305145148,
|
|
|
|
-3.6814974E-04,
|
|
|
|
-4.3749170E-07,
|
|
|
|
2.1183885E-09,
|
|
|
|
-8.4530982,
|
|
|
|
7.5540213938,
|
|
|
|
16100.0685698171,
|
|
|
|
1.1921869E-04,
|
|
|
|
2.8238458E-07,
|
|
|
|
-1.3407038E-09,
|
|
|
|
8.0501724,
|
|
|
|
10.4831850066,
|
|
|
|
14286.1503796870,
|
|
|
|
-6.0860358E-05,
|
|
|
|
6.2714140E-08,
|
|
|
|
-1.9984990E-10,
|
|
|
|
-7.6301553,
|
|
|
|
4.6679834628,
|
|
|
|
17285.6848046987,
|
|
|
|
3.0196162E-04,
|
|
|
|
5.0143862E-07,
|
|
|
|
-2.4271179E-09,
|
|
|
|
-7.4474952,
|
|
|
|
-0.0862513635,
|
|
|
|
1256.6039104970,
|
|
|
|
-5.3277630E-06,
|
|
|
|
1.2327842E-09,
|
|
|
|
-1.0887946E-10,
|
|
|
|
7.3712011,
|
|
|
|
8.1276304344,
|
|
|
|
5957.4589549619,
|
|
|
|
-2.1317311E-04,
|
|
|
|
-1.8769697E-07,
|
|
|
|
9.8648918E-10,
|
|
|
|
7.0629900,
|
|
|
|
0.9591375719,
|
|
|
|
33.7570471374,
|
|
|
|
-3.0829302E-05,
|
|
|
|
-3.6967043E-08,
|
|
|
|
1.7385419E-10,
|
|
|
|
-6.3831491,
|
|
|
|
9.4966777258,
|
|
|
|
7004.5133996281,
|
|
|
|
2.1416722E-04,
|
|
|
|
3.2425793E-07,
|
|
|
|
-1.5355019E-09,
|
|
|
|
-5.7416071,
|
|
|
|
13.6527441326,
|
|
|
|
32409.6866054649,
|
|
|
|
-1.9423071E-04,
|
|
|
|
5.4047029E-08,
|
|
|
|
-2.6829589E-10,
|
|
|
|
4.3740095,
|
|
|
|
18.4814383957,
|
|
|
|
22128.5152003943,
|
|
|
|
-2.8202511E-04,
|
|
|
|
-1.2313366E-07,
|
|
|
|
6.2332010E-10,
|
|
|
|
-3.9976134,
|
|
|
|
7.9669196340,
|
|
|
|
33524.3151647312,
|
|
|
|
1.7658291E-04,
|
|
|
|
4.9092233E-07,
|
|
|
|
-2.3322447E-09,
|
|
|
|
-3.2096876,
|
|
|
|
13.2398458924,
|
|
|
|
14985.4400105508,
|
|
|
|
-2.5159493E-04,
|
|
|
|
-1.5449073E-07,
|
|
|
|
7.2324505E-10,
|
|
|
|
-2.9145404,
|
|
|
|
12.7093625336,
|
|
|
|
24499.7476701576,
|
|
|
|
8.3460748E-05,
|
|
|
|
3.1497443E-07,
|
|
|
|
-1.5495082E-09,
|
|
|
|
2.7318890,
|
|
|
|
16.1258838235,
|
|
|
|
13799.8237756692,
|
|
|
|
-4.3433786E-04,
|
|
|
|
-3.7354477E-07,
|
|
|
|
1.8096592E-09,
|
|
|
|
-2.5679459,
|
|
|
|
-2.4418059357,
|
|
|
|
-7072.0875142282,
|
|
|
|
-1.5764051E-04,
|
|
|
|
-2.4917833E-07,
|
|
|
|
1.0774596E-09,
|
|
|
|
-2.5211990,
|
|
|
|
7.9551277074,
|
|
|
|
8470.6667759558,
|
|
|
|
-2.2382863E-04,
|
|
|
|
-1.8523141E-07,
|
|
|
|
7.6873027E-10,
|
|
|
|
2.4888871,
|
|
|
|
5.6426988169,
|
|
|
|
-486.3266040178,
|
|
|
|
-3.7347750E-04,
|
|
|
|
-4.3625891E-07,
|
|
|
|
2.0095091E-09,
|
|
|
|
2.1460741,
|
|
|
|
7.1842488353,
|
|
|
|
-1952.4799803455,
|
|
|
|
6.4518350E-05,
|
|
|
|
7.3230428E-08,
|
|
|
|
-2.9472308E-10,
|
|
|
|
1.9777270,
|
|
|
|
23.1494218585,
|
|
|
|
39414.2000050930,
|
|
|
|
1.9936508E-05,
|
|
|
|
3.7830496E-07,
|
|
|
|
-1.8037978E-09,
|
|
|
|
1.9336825,
|
|
|
|
9.4222182890,
|
|
|
|
33314.7656989005,
|
|
|
|
6.0925100E-04,
|
|
|
|
1.0016445E-06,
|
|
|
|
-4.7453563E-09,
|
|
|
|
1.8707647,
|
|
|
|
20.8369929680,
|
|
|
|
30457.2066251194,
|
|
|
|
-1.2971236E-04,
|
|
|
|
1.2727746E-07,
|
|
|
|
-5.6301898E-10,
|
|
|
|
-1.7529659,
|
|
|
|
0.4873576771,
|
|
|
|
-8886.0057043583,
|
|
|
|
-3.3771956E-04,
|
|
|
|
-4.6884877E-07,
|
|
|
|
2.2183135E-09,
|
|
|
|
-1.4371624,
|
|
|
|
7.0979974718,
|
|
|
|
-695.8760698485,
|
|
|
|
5.9190587E-05,
|
|
|
|
7.4463212E-08,
|
|
|
|
-4.0360254E-10,
|
|
|
|
-1.3725701,
|
|
|
|
1.4552986550,
|
|
|
|
-209.5494658307,
|
|
|
|
4.3266809E-04,
|
|
|
|
5.1072212E-07,
|
|
|
|
-2.4131116E-09,
|
|
|
|
1.2618162,
|
|
|
|
7.5108957121,
|
|
|
|
16728.3705250656,
|
|
|
|
1.1655481E-04,
|
|
|
|
2.8300097E-07,
|
|
|
|
-1.3951435E-09
|
|
|
|
];
|
|
|
|
static final List<double> M11 = [
|
|
|
|
1.6768000,
|
|
|
|
-0.0431256817,
|
|
|
|
628.3019552485,
|
|
|
|
-2.6638815E-06,
|
|
|
|
6.1639211E-10,
|
|
|
|
-5.4439728E-11,
|
|
|
|
0.5164200,
|
|
|
|
11.2260974062,
|
|
|
|
6585.7609102104,
|
|
|
|
-2.1583699E-04,
|
|
|
|
-1.8708058E-07,
|
|
|
|
9.3204945E-10,
|
|
|
|
0.4138300,
|
|
|
|
13.5816519784,
|
|
|
|
14914.4523349355,
|
|
|
|
-6.3524240E-05,
|
|
|
|
6.3330532E-08,
|
|
|
|
-2.5428962E-10,
|
|
|
|
0.3711500,
|
|
|
|
5.5402729076,
|
|
|
|
7700.3894694766,
|
|
|
|
1.5497663E-04,
|
|
|
|
2.4979472E-07,
|
|
|
|
-1.1318993E-09,
|
|
|
|
0.2756000,
|
|
|
|
2.3124288905,
|
|
|
|
8956.9933799736,
|
|
|
|
1.4964887E-04,
|
|
|
|
2.5102751E-07,
|
|
|
|
-1.2407788E-09,
|
|
|
|
0.2459863,
|
|
|
|
-25.6198212459,
|
|
|
|
-2.3011998397,
|
|
|
|
1.5231275E-04,
|
|
|
|
2.5041111E-07,
|
|
|
|
-1.1863391E-09,
|
|
|
|
0.0711800,
|
|
|
|
7.9982533891,
|
|
|
|
7842.3648207073,
|
|
|
|
-2.2116475E-04,
|
|
|
|
-1.8584780E-07,
|
|
|
|
8.2317000E-10,
|
|
|
|
0.0612800,
|
|
|
|
10.3538079614,
|
|
|
|
16171.0562454324,
|
|
|
|
-6.8852003E-05,
|
|
|
|
6.4563317E-08,
|
|
|
|
-3.6316908E-10
|
|
|
|
];
|
|
|
|
static final List<double> M12 = [
|
|
|
|
0.0048700,
|
|
|
|
-0.0431256817,
|
|
|
|
628.3019552485,
|
|
|
|
-2.6638815E-06,
|
|
|
|
6.1639211E-10,
|
|
|
|
-5.4439728E-11,
|
|
|
|
0.0022800,
|
|
|
|
-27.1705318325,
|
|
|
|
-2.3011998397,
|
|
|
|
1.5231275E-04,
|
|
|
|
2.5041111E-07,
|
|
|
|
-1.1863391E-09,
|
|
|
|
0.0015000,
|
|
|
|
11.2260974062,
|
|
|
|
6585.7609102104,
|
|
|
|
-2.1583699E-04,
|
|
|
|
-1.8708058E-07,
|
|
|
|
9.3204945E-10
|
|
|
|
];
|
|
|
|
static final List<double> M20 = [
|
|
|
|
18461.2400600,
|
|
|
|
1.6279052448,
|
|
|
|
8433.4661576405,
|
|
|
|
-6.4021295E-05,
|
|
|
|
-4.9499477E-09,
|
|
|
|
2.0216731E-11,
|
|
|
|
1010.1671484,
|
|
|
|
3.9834598170,
|
|
|
|
16762.1575823656,
|
|
|
|
8.8291456E-05,
|
|
|
|
2.4546117E-07,
|
|
|
|
-1.1661223E-09,
|
|
|
|
999.6936555,
|
|
|
|
0.7276493275,
|
|
|
|
-104.7747329154,
|
|
|
|
2.1633405E-04,
|
|
|
|
2.5536106E-07,
|
|
|
|
-1.2065558E-09,
|
|
|
|
623.6524746,
|
|
|
|
8.7690283983,
|
|
|
|
7109.2881325435,
|
|
|
|
-2.1668263E-06,
|
|
|
|
6.8896872E-08,
|
|
|
|
-3.2894608E-10,
|
|
|
|
199.4837596,
|
|
|
|
9.6692843156,
|
|
|
|
15647.5290230993,
|
|
|
|
-2.8252217E-04,
|
|
|
|
-1.9141414E-07,
|
|
|
|
8.9782646E-10,
|
|
|
|
166.5741153,
|
|
|
|
6.4134738261,
|
|
|
|
-1219.4032921817,
|
|
|
|
-1.5447958E-04,
|
|
|
|
-1.8151424E-07,
|
|
|
|
8.5739300E-10,
|
|
|
|
117.2606951,
|
|
|
|
12.0248388879,
|
|
|
|
23976.2204478244,
|
|
|
|
-1.3020942E-04,
|
|
|
|
5.8996977E-08,
|
|
|
|
-2.8851262E-10,
|
|
|
|
61.9119504,
|
|
|
|
6.3390143893,
|
|
|
|
25090.8490070907,
|
|
|
|
2.4060421E-04,
|
|
|
|
4.9587228E-07,
|
|
|
|
-2.3524614E-09,
|
|
|
|
33.3572027,
|
|
|
|
11.1245829706,
|
|
|
|
15437.9795572686,
|
|
|
|
1.5014592E-04,
|
|
|
|
3.1930799E-07,
|
|
|
|
-1.5152852E-09,
|
|
|
|
31.7596709,
|
|
|
|
3.0832038997,
|
|
|
|
8223.9166918098,
|
|
|
|
3.6864680E-04,
|
|
|
|
5.0577218E-07,
|
|
|
|
-2.3928949E-09,
|
|
|
|
29.5766003,
|
|
|
|
8.8121540801,
|
|
|
|
6480.9861772950,
|
|
|
|
4.9705523E-07,
|
|
|
|
6.8280480E-08,
|
|
|
|
-2.7450635E-10,
|
|
|
|
15.5662654,
|
|
|
|
4.0579192538,
|
|
|
|
-9548.0947169068,
|
|
|
|
-3.0679233E-04,
|
|
|
|
-4.3192536E-07,
|
|
|
|
2.0437321E-09,
|
|
|
|
15.1215543,
|
|
|
|
14.3803934601,
|
|
|
|
32304.9118725496,
|
|
|
|
2.2103334E-05,
|
|
|
|
3.0940809E-07,
|
|
|
|
-1.4748517E-09,
|
|
|
|
-12.0941511,
|
|
|
|
8.7259027166,
|
|
|
|
7737.5900877920,
|
|
|
|
-4.8307078E-06,
|
|
|
|
6.9513264E-08,
|
|
|
|
-3.8338581E-10,
|
|
|
|
8.8681426,
|
|
|
|
9.7124099974,
|
|
|
|
15019.2270678508,
|
|
|
|
-2.7985829E-04,
|
|
|
|
-1.9203053E-07,
|
|
|
|
9.5226618E-10,
|
|
|
|
8.0450400,
|
|
|
|
0.6687636586,
|
|
|
|
8399.7091105030,
|
|
|
|
-3.3191993E-05,
|
|
|
|
3.2017096E-08,
|
|
|
|
-1.5363746E-10,
|
|
|
|
7.9585542,
|
|
|
|
12.0679645696,
|
|
|
|
23347.9184925760,
|
|
|
|
-1.2754553E-04,
|
|
|
|
5.8380585E-08,
|
|
|
|
-2.3407289E-10,
|
|
|
|
7.4345550,
|
|
|
|
6.4565995078,
|
|
|
|
-1847.7052474301,
|
|
|
|
-1.5181570E-04,
|
|
|
|
-1.8213063E-07,
|
|
|
|
9.1183272E-10,
|
|
|
|
-6.7314363,
|
|
|
|
-4.0265854988,
|
|
|
|
-16133.8556271171,
|
|
|
|
-9.0955337E-05,
|
|
|
|
-2.4484477E-07,
|
|
|
|
1.1116826E-09,
|
|
|
|
6.5795750,
|
|
|
|
16.8104074692,
|
|
|
|
14323.3509980023,
|
|
|
|
-2.2066770E-04,
|
|
|
|
-1.1756732E-07,
|
|
|
|
5.4866364E-10,
|
|
|
|
-6.4600721,
|
|
|
|
1.5847795630,
|
|
|
|
9061.7681128890,
|
|
|
|
-6.6685176E-05,
|
|
|
|
-4.3335556E-09,
|
|
|
|
-3.4222998E-11,
|
|
|
|
-6.2964773,
|
|
|
|
4.8837157343,
|
|
|
|
25300.3984729215,
|
|
|
|
-1.9206388E-04,
|
|
|
|
-1.4849843E-08,
|
|
|
|
6.0650192E-11,
|
|
|
|
-5.6323538,
|
|
|
|
-0.7707750092,
|
|
|
|
733.0766881638,
|
|
|
|
-2.1899793E-04,
|
|
|
|
-2.5474467E-07,
|
|
|
|
1.1521161E-09,
|
|
|
|
-5.3683961,
|
|
|
|
6.8263720663,
|
|
|
|
16204.8433027325,
|
|
|
|
-9.7115356E-05,
|
|
|
|
2.7023515E-08,
|
|
|
|
-1.3414795E-10,
|
|
|
|
-5.3112784,
|
|
|
|
3.9403341353,
|
|
|
|
17390.4595376141,
|
|
|
|
8.5627574E-05,
|
|
|
|
2.4607756E-07,
|
|
|
|
-1.2205621E-09,
|
|
|
|
-5.0759179,
|
|
|
|
0.6845236457,
|
|
|
|
523.5272223331,
|
|
|
|
2.1367016E-04,
|
|
|
|
2.5597745E-07,
|
|
|
|
-1.2609955E-09,
|
|
|
|
-4.8396143,
|
|
|
|
-1.6710309265,
|
|
|
|
-7805.1642023920,
|
|
|
|
6.1357413E-05,
|
|
|
|
5.5663398E-09,
|
|
|
|
-7.4656459E-11,
|
|
|
|
-4.8057401,
|
|
|
|
3.5705615768,
|
|
|
|
-662.0890125485,
|
|
|
|
3.0927234E-05,
|
|
|
|
3.6923410E-08,
|
|
|
|
-1.7458141E-10,
|
|
|
|
3.9840545,
|
|
|
|
8.6945689615,
|
|
|
|
33419.5404318159,
|
|
|
|
3.9291696E-04,
|
|
|
|
7.4628340E-07,
|
|
|
|
-3.5388005E-09,
|
|
|
|
3.6744619,
|
|
|
|
19.1659620415,
|
|
|
|
22652.0424227274,
|
|
|
|
-6.8354947E-05,
|
|
|
|
1.3284380E-07,
|
|
|
|
-6.3767543E-10,
|
|
|
|
2.9984815,
|
|
|
|
20.0662179587,
|
|
|
|
31190.2833132833,
|
|
|
|
-3.4871029E-04,
|
|
|
|
-1.2746721E-07,
|
|
|
|
5.8909710E-10,
|
|
|
|
2.7986413,
|
|
|
|
-2.5281611620,
|
|
|
|
-16971.7070481963,
|
|
|
|
3.4437664E-04,
|
|
|
|
2.6526096E-07,
|
|
|
|
-1.2469893E-09,
|
|
|
|
2.4138774,
|
|
|
|
17.7106633865,
|
|
|
|
22861.5918885581,
|
|
|
|
-5.0102304E-04,
|
|
|
|
-3.7787833E-07,
|
|
|
|
1.7754362E-09,
|
|
|
|
2.1863132,
|
|
|
|
5.5132179088,
|
|
|
|
-9757.6441827375,
|
|
|
|
1.2587576E-04,
|
|
|
|
7.8796768E-08,
|
|
|
|
-3.6937954E-10,
|
|
|
|
2.1461692,
|
|
|
|
13.4801375428,
|
|
|
|
23766.6709819937,
|
|
|
|
3.0245868E-04,
|
|
|
|
5.6971910E-07,
|
|
|
|
-2.7016242E-09,
|
|
|
|
1.7659832,
|
|
|
|
11.1677086523,
|
|
|
|
14809.6776020201,
|
|
|
|
1.5280981E-04,
|
|
|
|
3.1869159E-07,
|
|
|
|
-1.4608454E-09,
|
|
|
|
-1.6244212,
|
|
|
|
7.3137297434,
|
|
|
|
7318.8375983742,
|
|
|
|
-4.3483492E-04,
|
|
|
|
-4.4182525E-07,
|
|
|
|
2.0841655E-09,
|
|
|
|
1.5813036,
|
|
|
|
5.4387584720,
|
|
|
|
16552.6081165349,
|
|
|
|
5.2095955E-04,
|
|
|
|
7.5618329E-07,
|
|
|
|
-3.5792340E-09,
|
|
|
|
1.5197528,
|
|
|
|
16.7359480324,
|
|
|
|
40633.6032972747,
|
|
|
|
1.7441609E-04,
|
|
|
|
5.5981921E-07,
|
|
|
|
-2.6611908E-09,
|
|
|
|
1.5156341,
|
|
|
|
1.7023646816,
|
|
|
|
-17876.7861416319,
|
|
|
|
-4.5910508E-04,
|
|
|
|
-6.8233647E-07,
|
|
|
|
3.2300712E-09,
|
|
|
|
1.5102092,
|
|
|
|
5.4977296450,
|
|
|
|
8399.6847301375,
|
|
|
|
-3.3094061E-05,
|
|
|
|
3.1973462E-08,
|
|
|
|
-1.5436468E-10,
|
|
|
|
-1.3178223,
|
|
|
|
9.6261586339,
|
|
|
|
16275.8309783478,
|
|
|
|
-2.8518605E-04,
|
|
|
|
-1.9079775E-07,
|
|
|
|
8.4338673E-10,
|
|
|
|
-1.2642739,
|
|
|
|
11.9817132061,
|
|
|
|
24604.5224030729,
|
|
|
|
-1.3287330E-04,
|
|
|
|
5.9613369E-08,
|
|
|
|
-3.4295235E-10,
|
|
|
|
1.1918723,
|
|
|
|
22.4217725310,
|
|
|
|
39518.9747380084,
|
|
|
|
-1.9639754E-04,
|
|
|
|
1.2294390E-07,
|
|
|
|
-5.9724197E-10,
|
|
|
|
1.1346110,
|
|
|
|
14.4235191419,
|
|
|
|
31676.6099173011,
|
|
|
|
2.4767216E-05,
|
|
|
|
3.0879170E-07,
|
|
|
|
-1.4204120E-09,
|
|
|
|
1.0857810,
|
|
|
|
8.8552797618,
|
|
|
|
5852.6842220465,
|
|
|
|
3.1609367E-06,
|
|
|
|
6.7664088E-08,
|
|
|
|
-2.2006663E-10,
|
|
|
|
-1.0193852,
|
|
|
|
7.2392703065,
|
|
|
|
33629.0898976466,
|
|
|
|
-3.9751134E-05,
|
|
|
|
2.3556127E-07,
|
|
|
|
-1.1256889E-09,
|
|
|
|
-0.8227141,
|
|
|
|
11.0814572888,
|
|
|
|
16066.2815125171,
|
|
|
|
1.4748204E-04,
|
|
|
|
3.1992438E-07,
|
|
|
|
-1.5697249E-09,
|
|
|
|
0.8042238,
|
|
|
|
3.5274358950,
|
|
|
|
-33.7870573000,
|
|
|
|
2.8263353E-05,
|
|
|
|
3.7539802E-08,
|
|
|
|
-2.2902113E-10,
|
|
|
|
0.8025939,
|
|
|
|
6.7832463846,
|
|
|
|
16833.1452579809,
|
|
|
|
-9.9779237E-05,
|
|
|
|
2.7639907E-08,
|
|
|
|
-1.8858767E-10,
|
|
|
|
-0.7931866,
|
|
|
|
-6.3821400710,
|
|
|
|
-24462.5470518423,
|
|
|
|
-2.4326809E-04,
|
|
|
|
-4.9525589E-07,
|
|
|
|
2.2980217E-09,
|
|
|
|
-0.7910153,
|
|
|
|
6.3703481443,
|
|
|
|
-591.1013369332,
|
|
|
|
-1.5714346E-04,
|
|
|
|
-1.8089785E-07,
|
|
|
|
8.0295327E-10,
|
|
|
|
-0.6674056,
|
|
|
|
9.1819266386,
|
|
|
|
24533.5347274576,
|
|
|
|
5.5197395E-05,
|
|
|
|
2.7743463E-07,
|
|
|
|
-1.3204870E-09,
|
|
|
|
0.6502226,
|
|
|
|
4.1010449356,
|
|
|
|
-10176.3966721553,
|
|
|
|
-3.0412845E-04,
|
|
|
|
-4.3254175E-07,
|
|
|
|
2.0981718E-09,
|
|
|
|
-0.6388131,
|
|
|
|
6.2958887075,
|
|
|
|
25719.1509623392,
|
|
|
|
2.3794032E-04,
|
|
|
|
4.9648867E-07,
|
|
|
|
-2.4069012E-09
|
|
|
|
];
|
|
|
|
static final List<double> M21 = [
|
|
|
|
0.0743000,
|
|
|
|
11.9537467337,
|
|
|
|
6480.9861772950,
|
|
|
|
4.9705523E-07,
|
|
|
|
6.8280480E-08,
|
|
|
|
-2.7450635E-10,
|
|
|
|
0.0304300,
|
|
|
|
8.7259027166,
|
|
|
|
7737.5900877920,
|
|
|
|
-4.8307078E-06,
|
|
|
|
6.9513264E-08,
|
|
|
|
-3.8338581E-10,
|
|
|
|
0.0222900,
|
|
|
|
12.8540026510,
|
|
|
|
15019.2270678508,
|
|
|
|
-2.7985829E-04,
|
|
|
|
-1.9203053E-07,
|
|
|
|
9.5226618E-10,
|
|
|
|
0.0199900,
|
|
|
|
15.2095572232,
|
|
|
|
23347.9184925760,
|
|
|
|
-1.2754553E-04,
|
|
|
|
5.8380585E-08,
|
|
|
|
-2.3407289E-10,
|
|
|
|
0.0186900,
|
|
|
|
9.5981921614,
|
|
|
|
-1847.7052474301,
|
|
|
|
-1.5181570E-04,
|
|
|
|
-1.8213063E-07,
|
|
|
|
9.1183272E-10,
|
|
|
|
0.0169600,
|
|
|
|
7.1681781524,
|
|
|
|
16133.8556271171,
|
|
|
|
9.0955337E-05,
|
|
|
|
2.4484477E-07,
|
|
|
|
-1.1116826E-09,
|
|
|
|
0.0162300,
|
|
|
|
1.5847795630,
|
|
|
|
9061.7681128890,
|
|
|
|
-6.6685176E-05,
|
|
|
|
-4.3335556E-09,
|
|
|
|
-3.4222998E-11,
|
|
|
|
0.0141900,
|
|
|
|
-0.7707750092,
|
|
|
|
733.0766881638,
|
|
|
|
-2.1899793E-04,
|
|
|
|
-2.5474467E-07,
|
|
|
|
1.1521161E-09
|
|
|
|
];
|
|
|
|
static final List<double> M30 = [
|
|
|
|
385000.5290396,
|
|
|
|
1.5707963268,
|
|
|
|
0.0000000000,
|
|
|
|
0.0000000E+00,
|
|
|
|
0.0000000E+00,
|
|
|
|
0.0000000E+00,
|
|
|
|
-20905.3551378,
|
|
|
|
3.9263508990,
|
|
|
|
8328.6914247251,
|
|
|
|
1.5231275E-04,
|
|
|
|
2.5041111E-07,
|
|
|
|
-1.1863391E-09,
|
|
|
|
-3699.1109330,
|
|
|
|
9.6121753977,
|
|
|
|
7214.0628654588,
|
|
|
|
-2.1850087E-04,
|
|
|
|
-1.8646419E-07,
|
|
|
|
8.7760973E-10,
|
|
|
|
-2955.9675626,
|
|
|
|
11.9677299699,
|
|
|
|
15542.7542901840,
|
|
|
|
-6.6188121E-05,
|
|
|
|
6.3946925E-08,
|
|
|
|
-3.0872935E-10,
|
|
|
|
-569.9251264,
|
|
|
|
6.2819054713,
|
|
|
|
16657.3828494503,
|
|
|
|
3.0462550E-04,
|
|
|
|
5.0082223E-07,
|
|
|
|
-2.3726782E-09,
|
|
|
|
246.1584797,
|
|
|
|
7.2566208254,
|
|
|
|
-1114.6285592663,
|
|
|
|
-3.7081362E-04,
|
|
|
|
-4.3687530E-07,
|
|
|
|
2.0639488E-09,
|
|
|
|
-204.5861179,
|
|
|
|
12.0108556517,
|
|
|
|
14914.4523349355,
|
|
|
|
-6.3524240E-05,
|
|
|
|
6.3330532E-08,
|
|
|
|
-2.5428962E-10,
|
|
|
|
-170.7330791,
|
|
|
|
14.3232845422,
|
|
|
|
23871.4457149091,
|
|
|
|
8.6124629E-05,
|
|
|
|
3.1435804E-07,
|
|
|
|
-1.4950684E-09,
|
|
|
|
-152.1378118,
|
|
|
|
9.6553010794,
|
|
|
|
6585.7609102104,
|
|
|
|
-2.1583699E-04,
|
|
|
|
-1.8708058E-07,
|
|
|
|
9.3204945E-10,
|
|
|
|
-129.6202242,
|
|
|
|
-0.8278839272,
|
|
|
|
-7700.3894694766,
|
|
|
|
-1.5497663E-04,
|
|
|
|
-2.4979472E-07,
|
|
|
|
1.1318993E-09,
|
|
|
|
108.7427014,
|
|
|
|
6.7692631483,
|
|
|
|
7771.3771450920,
|
|
|
|
-3.3094061E-05,
|
|
|
|
3.1973462E-08,
|
|
|
|
-1.5436468E-10,
|
|
|
|
104.7552944,
|
|
|
|
3.8832252173,
|
|
|
|
8956.9933799736,
|
|
|
|
1.4964887E-04,
|
|
|
|
2.5102751E-07,
|
|
|
|
-1.2407788E-09,
|
|
|
|
79.6605685,
|
|
|
|
0.6705404095,
|
|
|
|
-8538.2408905558,
|
|
|
|
2.8035534E-04,
|
|
|
|
2.6031101E-07,
|
|
|
|
-1.2267725E-09,
|
|
|
|
48.8883284,
|
|
|
|
1.5276706450,
|
|
|
|
628.3019552485,
|
|
|
|
-2.6638815E-06,
|
|
|
|
6.1639211E-10,
|
|
|
|
-5.4439728E-11,
|
|
|
|
-34.7825237,
|
|
|
|
20.0091090408,
|
|
|
|
22756.8171556428,
|
|
|
|
-2.8468899E-04,
|
|
|
|
-1.2251727E-07,
|
|
|
|
5.6888037E-10,
|
|
|
|
30.8238599,
|
|
|
|
11.9246042882,
|
|
|
|
16171.0562454324,
|
|
|
|
-6.8852003E-05,
|
|
|
|
6.4563317E-08,
|
|
|
|
-3.6316908E-10,
|
|
|
|
24.2084985,
|
|
|
|
9.5690497159,
|
|
|
|
7842.3648207073,
|
|
|
|
-2.2116475E-04,
|
|
|
|
-1.8584780E-07,
|
|
|
|
8.2317000E-10,
|
|
|
|
-23.2104305,
|
|
|
|
8.6374600436,
|
|
|
|
24986.0742741754,
|
|
|
|
4.5693825E-04,
|
|
|
|
7.5123334E-07,
|
|
|
|
-3.5590172E-09,
|
|
|
|
-21.6363439,
|
|
|
|
17.6535544685,
|
|
|
|
14428.1257309177,
|
|
|
|
-4.3700174E-04,
|
|
|
|
-3.7292838E-07,
|
|
|
|
1.7552195E-09,
|
|
|
|
-16.6747239,
|
|
|
|
6.7261374666,
|
|
|
|
8399.6791003405,
|
|
|
|
-3.5757942E-05,
|
|
|
|
3.2589854E-08,
|
|
|
|
-2.0880440E-10,
|
|
|
|
14.4026890,
|
|
|
|
4.9010662531,
|
|
|
|
-9443.3199839914,
|
|
|
|
-5.2312637E-04,
|
|
|
|
-6.8728642E-07,
|
|
|
|
3.2502879E-09,
|
|
|
|
-12.8314035,
|
|
|
|
14.3664102239,
|
|
|
|
23243.1437596606,
|
|
|
|
8.8788511E-05,
|
|
|
|
3.1374165E-07,
|
|
|
|
-1.4406287E-09,
|
|
|
|
-11.6499478,
|
|
|
|
22.3646636130,
|
|
|
|
31085.5085803679,
|
|
|
|
-1.3237624E-04,
|
|
|
|
1.2789385E-07,
|
|
|
|
-6.1745870E-10,
|
|
|
|
-10.4447578,
|
|
|
|
16.6788391144,
|
|
|
|
32200.1371396342,
|
|
|
|
2.3843738E-04,
|
|
|
|
5.6476915E-07,
|
|
|
|
-2.6814075E-09,
|
|
|
|
10.3211071,
|
|
|
|
8.7119194804,
|
|
|
|
-1324.1780250970,
|
|
|
|
6.1854469E-05,
|
|
|
|
7.3846820E-08,
|
|
|
|
-3.4916281E-10,
|
|
|
|
10.0562033,
|
|
|
|
7.2997465071,
|
|
|
|
-1742.9305145148,
|
|
|
|
-3.6814974E-04,
|
|
|
|
-4.3749170E-07,
|
|
|
|
2.1183885E-09,
|
|
|
|
-9.8844667,
|
|
|
|
12.0539813334,
|
|
|
|
14286.1503796870,
|
|
|
|
-6.0860358E-05,
|
|
|
|
6.2714140E-08,
|
|
|
|
-1.9984990E-10,
|
|
|
|
8.7515625,
|
|
|
|
6.3563649081,
|
|
|
|
-9652.8694498221,
|
|
|
|
-9.0458282E-05,
|
|
|
|
-1.7656429E-07,
|
|
|
|
8.3717626E-10,
|
|
|
|
-8.3791067,
|
|
|
|
4.4137085761,
|
|
|
|
-557.3142796331,
|
|
|
|
-1.8540681E-04,
|
|
|
|
-2.1843765E-07,
|
|
|
|
1.0319744E-09,
|
|
|
|
-7.0026961,
|
|
|
|
-3.1834384995,
|
|
|
|
-16029.0808942018,
|
|
|
|
-3.0728938E-04,
|
|
|
|
-5.0020584E-07,
|
|
|
|
2.3182384E-09,
|
|
|
|
6.3220032,
|
|
|
|
9.1248177206,
|
|
|
|
16100.0685698171,
|
|
|
|
1.1921869E-04,
|
|
|
|
2.8238458E-07,
|
|
|
|
-1.3407038E-09,
|
|
|
|
5.7508579,
|
|
|
|
6.2387797896,
|
|
|
|
17285.6848046987,
|
|
|
|
3.0196162E-04,
|
|
|
|
5.0143862E-07,
|
|
|
|
-2.4271179E-09,
|
|
|
|
-4.9501349,
|
|
|
|
9.6984267611,
|
|
|
|
5957.4589549619,
|
|
|
|
-2.1317311E-04,
|
|
|
|
-1.8769697E-07,
|
|
|
|
9.8648918E-10,
|
|
|
|
-4.4211770,
|
|
|
|
3.0260949818,
|
|
|
|
-209.5494658307,
|
|
|
|
4.3266809E-04,
|
|
|
|
5.1072212E-07,
|
|
|
|
-2.4131116E-09,
|
|
|
|
4.1311145,
|
|
|
|
11.0674740526,
|
|
|
|
7004.5133996281,
|
|
|
|
2.1416722E-04,
|
|
|
|
3.2425793E-07,
|
|
|
|
-1.5355019E-09,
|
|
|
|
-3.9579827,
|
|
|
|
20.0522347225,
|
|
|
|
22128.5152003943,
|
|
|
|
-2.8202511E-04,
|
|
|
|
-1.2313366E-07,
|
|
|
|
6.2332010E-10,
|
|
|
|
3.2582371,
|
|
|
|
14.8106422192,
|
|
|
|
14985.4400105508,
|
|
|
|
-2.5159493E-04,
|
|
|
|
-1.5449073E-07,
|
|
|
|
7.2324505E-10,
|
|
|
|
-3.1483020,
|
|
|
|
4.8266068163,
|
|
|
|
16866.9323152810,
|
|
|
|
-1.2804259E-04,
|
|
|
|
-9.8998954E-09,
|
|
|
|
4.0433461E-11,
|
|
|
|
2.6164092,
|
|
|
|
14.2801588604,
|
|
|
|
24499.7476701576,
|
|
|
|
8.3460748E-05,
|
|
|
|
3.1497443E-07,
|
|
|
|
-1.5495082E-09,
|
|
|
|
2.3536310,
|
|
|
|
9.5259240342,
|
|
|
|
8470.6667759558,
|
|
|
|
-2.2382863E-04,
|
|
|
|
-1.8523141E-07,
|
|
|
|
7.6873027E-10,
|
|
|
|
-2.1171283,
|
|
|
|
-0.8710096090,
|
|
|
|
-7072.0875142282,
|
|
|
|
-1.5764051E-04,
|
|
|
|
-2.4917833E-07,
|
|
|
|
1.0774596E-09,
|
|
|
|
-1.8970368,
|
|
|
|
17.6966801503,
|
|
|
|
13799.8237756692,
|
|
|
|
-4.3433786E-04,
|
|
|
|
-3.7354477E-07,
|
|
|
|
1.8096592E-09,
|
|
|
|
-1.7385258,
|
|
|
|
2.0581540038,
|
|
|
|
-8886.0057043583,
|
|
|
|
-3.3771956E-04,
|
|
|
|
-4.6884877E-07,
|
|
|
|
2.2183135E-09,
|
|
|
|
-1.5713944,
|
|
|
|
22.4077892948,
|
|
|
|
30457.2066251194,
|
|
|
|
-1.2971236E-04,
|
|
|
|
1.2727746E-07,
|
|
|
|
-5.6301898E-10,
|
|
|
|
-1.4225541,
|
|
|
|
24.7202181853,
|
|
|
|
39414.2000050930,
|
|
|
|
1.9936508E-05,
|
|
|
|
3.7830496E-07,
|
|
|
|
-1.8037978E-09,
|
|
|
|
-1.4189284,
|
|
|
|
17.1661967915,
|
|
|
|
23314.1314352759,
|
|
|
|
-9.9282182E-05,
|
|
|
|
9.5920387E-08,
|
|
|
|
-4.6309403E-10,
|
|
|
|
1.1655364,
|
|
|
|
3.8400995356,
|
|
|
|
9585.2953352221,
|
|
|
|
1.4698499E-04,
|
|
|
|
2.5164390E-07,
|
|
|
|
-1.2952185E-09,
|
|
|
|
-1.1169371,
|
|
|
|
10.9930146158,
|
|
|
|
33314.7656989005,
|
|
|
|
6.0925100E-04,
|
|
|
|
1.0016445E-06,
|
|
|
|
-4.7453563E-09,
|
|
|
|
1.0656723,
|
|
|
|
1.4845449633,
|
|
|
|
1256.6039104970,
|
|
|
|
-5.3277630E-06,
|
|
|
|
1.2327842E-09,
|
|
|
|
-1.0887946E-10,
|
|
|
|
1.0586190,
|
|
|
|
11.9220903668,
|
|
|
|
8364.7398411275,
|
|
|
|
-2.1850087E-04,
|
|
|
|
-1.8646419E-07,
|
|
|
|
8.7760973E-10,
|
|
|
|
-0.9333176,
|
|
|
|
9.0816920389,
|
|
|
|
16728.3705250656,
|
|
|
|
1.1655481E-04,
|
|
|
|
2.8300097E-07,
|
|
|
|
-1.3951435E-09,
|
|
|
|
0.8624328,
|
|
|
|
12.4550876470,
|
|
|
|
6656.7485858257,
|
|
|
|
-4.0390768E-04,
|
|
|
|
-4.0490184E-07,
|
|
|
|
1.9095841E-09,
|
|
|
|
0.8512404,
|
|
|
|
4.3705828944,
|
|
|
|
70.9876756153,
|
|
|
|
-1.8807069E-04,
|
|
|
|
-2.1782126E-07,
|
|
|
|
9.7753467E-10,
|
|
|
|
-0.8488018,
|
|
|
|
16.7219647962,
|
|
|
|
31571.8351843857,
|
|
|
|
2.4110126E-04,
|
|
|
|
5.6415276E-07,
|
|
|
|
-2.6269678E-09,
|
|
|
|
-0.7956264,
|
|
|
|
3.5134526588,
|
|
|
|
-9095.5551701890,
|
|
|
|
9.4948529E-05,
|
|
|
|
4.1873358E-08,
|
|
|
|
-1.9479814E-10
|
|
|
|
];
|
|
|
|
static final List<double> M31 = [
|
|
|
|
0.5139500,
|
|
|
|
12.0108556517,
|
|
|
|
14914.4523349355,
|
|
|
|
-6.3524240E-05,
|
|
|
|
6.3330532E-08,
|
|
|
|
-2.5428962E-10,
|
|
|
|
0.3824500,
|
|
|
|
9.6553010794,
|
|
|
|
6585.7609102104,
|
|
|
|
-2.1583699E-04,
|
|
|
|
-1.8708058E-07,
|
|
|
|
9.3204945E-10,
|
|
|
|
0.3265400,
|
|
|
|
3.9694765808,
|
|
|
|
7700.3894694766,
|
|
|
|
1.5497663E-04,
|
|
|
|
2.4979472E-07,
|
|
|
|
-1.1318993E-09,
|
|
|
|
0.2639600,
|
|
|
|
0.7416325637,
|
|
|
|
8956.9933799736,
|
|
|
|
1.4964887E-04,
|
|
|
|
2.5102751E-07,
|
|
|
|
-1.2407788E-09,
|
|
|
|
0.1230200,
|
|
|
|
-1.6139220085,
|
|
|
|
628.3019552485,
|
|
|
|
-2.6638815E-06,
|
|
|
|
6.1639211E-10,
|
|
|
|
-5.4439728E-11,
|
|
|
|
0.0775400,
|
|
|
|
8.7830116346,
|
|
|
|
16171.0562454324,
|
|
|
|
-6.8852003E-05,
|
|
|
|
6.4563317E-08,
|
|
|
|
-3.6316908E-10,
|
|
|
|
0.0606800,
|
|
|
|
6.4274570623,
|
|
|
|
7842.3648207073,
|
|
|
|
-2.2116475E-04,
|
|
|
|
-1.8584780E-07,
|
|
|
|
8.2317000E-10,
|
|
|
|
0.0497000,
|
|
|
|
12.0539813334,
|
|
|
|
14286.1503796870,
|
|
|
|
-6.0860358E-05,
|
|
|
|
6.2714140E-08,
|
|
|
|
-1.9984990E-10
|
|
|
|
];
|
|
|
|
static final List<double> M1n = [
|
|
|
|
3.81034392032, 8.39968473021E+03, -3.31919929753E-05, //月球平黄经系数
|
|
|
|
3.20170955005E-08, -1.53637455544E-10
|
|
|
|
];
|
|
|
|
|
|
|
|
static double EnnT = 0; // 调用Enn前先设置EnnT时间变量
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 计算E10,E11,E20等,即:某一组周期项或泊松项算出,计算前先设置EnnT时间
|
|
|
|
*
|
|
|
|
* @param F F
|
|
|
|
* @return 计算E10, E11, E20等
|
|
|
|
*/
|
|
|
|
static double Enn(List<double> F) {
|
|
|
|
double v = 0;
|
|
|
|
for (int i = 0; i < F.length; i += 3)
|
|
|
|
v += F[i] * cos(F[i + 1] + EnnT * F[i + 2]);
|
|
|
|
return v;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 返回地球位置,日心Date黄道分点坐标
|
|
|
|
*
|
|
|
|
* @param jd jd
|
|
|
|
* @return 返回地球位置, 日心Date黄道分点坐标
|
|
|
|
*/
|
|
|
|
static List<double> earCal(double jd) {
|
|
|
|
EnnT = jd / 365250;
|
|
|
|
List<double> llr = [];
|
|
|
|
double t1 = EnnT, t2 = t1 * t1, t3 = t2 * t1, t4 = t3 * t1, t5 = t4 * t1;
|
|
|
|
llr[0] = Enn(E10) +
|
|
|
|
Enn(E11) * t1 +
|
|
|
|
Enn(E12) * t2 +
|
|
|
|
Enn(E13) * t3 +
|
|
|
|
Enn(E14) * t4 +
|
|
|
|
Enn(E15) * t5;
|
|
|
|
llr[1] = Enn(E20) + Enn(E21) * t1;
|
|
|
|
llr[2] = Enn(E30) + Enn(E31) * t1 + Enn(E32) * t2 + Enn(E33) * t3;
|
|
|
|
llr[0] = rad2mrad(llr[0]);
|
|
|
|
return llr;
|
|
|
|
}
|
|
|
|
|
|
|
|
// ==================月位置计算===================
|
|
|
|
static double MnnT = 0; // 调用Mnn前先设置MnnT时间变量
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 计算M10,M11,M20等,计算前先设置MnnT时间
|
|
|
|
*
|
|
|
|
* @param F F
|
|
|
|
* @return 计算M10, M11, M20等, 计算前先设置MnnT时间
|
|
|
|
*/
|
|
|
|
static double Mnn(List<double> F) {
|
|
|
|
double v = 0, t1 = MnnT, t2 = t1 * t1, t3 = t2 * t1, t4 = t3 * t1;
|
|
|
|
for (int i = 0; i < F.length; i += 6)
|
|
|
|
v += F[i] *
|
|
|
|
sin(F[i + 1] +
|
|
|
|
t1 * F[i + 2] +
|
|
|
|
t2 * F[i + 3] +
|
|
|
|
t3 * F[i + 4] +
|
|
|
|
t4 * F[i + 5]);
|
|
|
|
return v;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 返回月球位置,返回地心Date黄道坐标
|
|
|
|
*
|
|
|
|
* @param julian 儒略历
|
|
|
|
* @return return 地心黄道坐标
|
|
|
|
*/
|
|
|
|
static List<double?> moonCoord(double julian) {
|
|
|
|
MnnT = julian / 36525;
|
|
|
|
double t1 = MnnT, t2 = t1 * t1, t3 = t2 * t1, t4 = t3 * t1;
|
|
|
|
List<double?> llr = [];
|
|
|
|
llr[0] = (Mnn(M10) + Mnn(M11) * t1 + Mnn(M12) * t2) / SECOND_PER_RAD;
|
|
|
|
llr[1] = (Mnn(M20) + Mnn(M21) * t1) / SECOND_PER_RAD;
|
|
|
|
llr[2] = (Mnn(M30) + Mnn(M31) * t1) * 0.999999949827;
|
|
|
|
llr[0] =
|
|
|
|
llr[0]! + M1n[0] + M1n[1] * t1 + M1n[2] * t2 + M1n[3] * t3 + M1n[4] * t4;
|
|
|
|
llr[0] = rad2mrad(llr[0]!); // 地心Date黄道原点坐标(不含岁差)
|
|
|
|
precession(julian, llr); // 补岁差
|
|
|
|
return llr;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 地心坐标中的日月位置计算
|
|
|
|
*
|
|
|
|
* @param lx lx=1时计算t时刻日月角距与jiao的差, lx=0计算t时刻太阳黄经与jiao的差
|
|
|
|
* @param time time
|
|
|
|
* @param angle angle
|
|
|
|
* @return 地心坐标中的日月位置计算
|
|
|
|
*/
|
|
|
|
static double angleDiff(int lx, double time, double angle) {
|
|
|
|
List<double> sun = earCal(time); // 计算太阳真位置(先算出日心坐标中地球的位置)
|
|
|
|
sun[0] += pi;
|
|
|
|
sun[1] = -sun[1]; // 转为地心坐标
|
|
|
|
addGxc(time, sun); // 补周年光行差
|
|
|
|
if (lx == 0) {
|
|
|
|
Nutation d = nutation(time);
|
|
|
|
sun[0] += d.Lon; // 补黄经章动
|
|
|
|
return rad2mrad(angle - sun[0]);
|
|
|
|
}
|
|
|
|
List<double?> moon = moonCoord(time); // 日月角差与章动无关
|
|
|
|
return rad2mrad(angle - (moon[0]! - sun[0]));
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 已知位置反求时间,对于节气计算,应满足t在t1到t1+360天之间,对于Y年第n个节气(n=0是春分),t1可取值Y*365.2422+n*15.2,
|
|
|
|
* 对于朔望计算,应满足t在t1到t1+25天之间,在此范围之外,求右边的根
|
|
|
|
*
|
|
|
|
* @param t1 J2000起算儒略日数,传入的t1是指定角度对应真时刻t的前一些天
|
|
|
|
* @param angle 已知角度(jiao)求时间(t)
|
|
|
|
* @param lx lx=0是太阳黄经达某角度的时刻计算(用于节气计算)
|
|
|
|
* lx=1是日月角距达某角度的时刻计算(用于定朔望等)
|
|
|
|
* @return 已知位置反求时间
|
|
|
|
*/
|
|
|
|
static double getTimeFromAngle(double t1, double angle, int lx) {
|
|
|
|
double t2 = t1, t = 0, v;
|
|
|
|
if (lx == 0)
|
|
|
|
t2 += 360; // 在t1到t2范围内求解(范气360天范围),结果置于t
|
|
|
|
else
|
|
|
|
t2 += 25;
|
|
|
|
angle *= pi / 180; // 待搜索目标角
|
|
|
|
// 利用截弦法计算
|
|
|
|
double v1 = angleDiff(lx, t1, angle); // v1,v2为t1,t2时对应的黄经
|
|
|
|
double v2 = angleDiff(lx, t2, angle);
|
|
|
|
if (v1 < v2) v2 -= 2 * pi; // 减2pi作用是将周期性角度转为连续角度
|
|
|
|
double k = 1, k2; // k是截弦的斜率
|
|
|
|
for (int i = 0; i < 10; i++) {
|
|
|
|
// 快速截弦求根,通常截弦三四次就已达所需精度
|
|
|
|
k2 = (v2 - v1) / (t2 - t1); // 算出斜率
|
|
|
|
if (Math.abs(k2) > 1e-15) k = k2; // 差商可能为零,应排除
|
|
|
|
t = t1 - v1 / k;
|
|
|
|
v = angleDiff(lx, t, angle); // 直线逼近法求根(直线方程的根)
|
|
|
|
if (v > 1) v -= 2 * pi; // 一次逼近后,v1就已接近0,如果很大,则应减1周
|
|
|
|
if (Math.abs(v) < 1e-8) break; // 已达精度
|
|
|
|
t1 = t2;
|
|
|
|
v1 = v2;
|
|
|
|
t2 = t;
|
|
|
|
v2 = v; // 下一次截弦
|
|
|
|
}
|
|
|
|
return t;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获得某一年24节气
|
|
|
|
*
|
|
|
|
* @param year 年
|
|
|
|
* @return 24节气
|
|
|
|
*/
|
|
|
|
|
|
|
|
static List<String?> getSolarTerms(int year) {
|
|
|
|
List<String?> solarTerms = [];
|
|
|
|
List<String?> preOffset = getSolarTermsPreOffset(year - 1);
|
|
|
|
List<String?> nextOffset = getSolarTermsNextOffset(year - 1);
|
|
|
|
System.arraycopy(preOffset, 0, solarTerms, 0, preOffset.length);
|
|
|
|
System.arraycopy(nextOffset, 0, solarTerms, 22, nextOffset.length);
|
|
|
|
|
|
|
|
double jd = 365.2422 * (year - 2000), q;
|
|
|
|
for (int i = 0; i < 19; i++) {
|
|
|
|
q = getTimeFromAngle(jd + i * 15.2, i * 15.toDouble(), 0);
|
|
|
|
q = q + J2000 + 8 / 24; // 计算第i个节气(i=0是春分),结果转为北京时
|
|
|
|
Time time = setFromJulian(q, true);
|
|
|
|
solarTerms[i + 3] = time.toString() + SOLAR_TERMS[i];
|
|
|
|
}
|
|
|
|
|
|
|
|
return solarTerms;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 要获得2018年24节气需要传入2017年
|
|
|
|
*
|
|
|
|
* @param year 要获得2018年24节气需要传入2017年
|
|
|
|
* @return 返回 立春 雨水 惊蛰
|
|
|
|
*/
|
|
|
|
static List<String?> getSolarTermsPreOffset(int year) {
|
|
|
|
List<String?> solarTerms = [];
|
|
|
|
double jd = 365.2422 * (year - 2000), q;
|
|
|
|
for (int i = 21; i < 24; i++) {
|
|
|
|
q = getTimeFromAngle(jd + i * 15.2, i * 15.toDouble(), 0);
|
|
|
|
q = q + J2000 + 8 / 24; // 计算第i个节气(i=0是春分)
|
|
|
|
Time time = setFromJulian(q, true);
|
|
|
|
solarTerms[i - 21] = time.toString() + SOLAR_TERMS[i];
|
|
|
|
}
|
|
|
|
return solarTerms;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 要获得2018年24节气需要传入2017年
|
|
|
|
*
|
|
|
|
* @param year 要获得2018年24节气需要传入2017年
|
|
|
|
* @return 返回 小寒大寒
|
|
|
|
*/
|
|
|
|
static List<String?> getSolarTermsNextOffset(int year) {
|
|
|
|
List<String?> solarTerms = [];
|
|
|
|
double jd = 365.2422 * (year - 2000), q;
|
|
|
|
for (int i = 19; i < 21; i++) {
|
|
|
|
q = getTimeFromAngle(jd + i * 15.2, i * 15.toDouble(), 0);
|
|
|
|
q = q + J2000 + 8 / 24; // 计算第i个节气(i=0是春分)
|
|
|
|
Time time = setFromJulian(q, true);
|
|
|
|
solarTerms[i - 19] = time.toString() + SOLAR_TERMS[i];
|
|
|
|
}
|
|
|
|
return solarTerms;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 章动
|
|
|
|
*/
|
|
|
|
class Nutation {
|
|
|
|
/**
|
|
|
|
* 章动角
|
|
|
|
*/
|
|
|
|
late double Lon;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 交角
|
|
|
|
*/
|
|
|
|
late double Obl;
|
|
|
|
}
|
|
|
|
|
|
|
|
class Time {
|
|
|
|
late double year;
|
|
|
|
late double month;
|
|
|
|
late double day;
|
|
|
|
late double hour;
|
|
|
|
late double minute;
|
|
|
|
late double second;
|
|
|
|
|
|
|
|
String toString() {
|
|
|
|
return doubleToString(year) + doubleToString(month) + doubleToString(day);
|
|
|
|
}
|
|
|
|
|
|
|
|
static String doubleToString(double value) {
|
|
|
|
int v = value.toInt();
|
|
|
|
return value < 10 ? "0$v" : v.toString();
|
|
|
|
}
|
|
|
|
}
|