diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..183738e --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 数据源本地存储已忽略文件 +/../../../../../../:\gocode\src\b612.me\astro\.idea/dataSources/ +/dataSources.local.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ diff --git a/.idea/astro.iml b/.idea/astro.iml new file mode 100644 index 0000000..5e764c4 --- /dev/null +++ b/.idea/astro.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..e85cb08 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/basic/calendar.go b/basic/calendar.go index f38b20b..788188a 100644 --- a/basic/calendar.go +++ b/basic/calendar.go @@ -104,8 +104,8 @@ func DeltaT(Date float64, IsJDE bool) (Result float64) { //传入年或儒略日 return } if Year < 2100 && Year >= 2010 { - //fmt.Println(Year) - Result = dt_cal(Year) //-3.2-(Year-2017)*0.029915; + var t = (Year - 2000.0) + Result = 62.92 + 0.32217*t + 0.005589*t*t return } if Year >= 2100 && Year <= 2150 { diff --git a/basic/coordinate.go b/basic/coordinate.go index 50dd426..6d6f0a5 100644 --- a/basic/coordinate.go +++ b/basic/coordinate.go @@ -9,8 +9,8 @@ import ( /* * 坐标变换,黄道转赤道 */ -func LoToRa(lo, bo, jde float64) float64 { - ra := math.Atan2(Sin(lo)*Cos(Sita(jde)-Tan(bo)*Sin(Sita(jde))), Cos(lo)) +func LoToRa(jde, lo, bo float64) float64 { + ra := math.Atan2(Sin(lo)*Cos(Sita(jde))-Tan(bo)*Sin(Sita(jde)), Cos(lo)) ra = ra * 180 / math.Pi if ra < 0 { ra += 360 @@ -18,11 +18,48 @@ func LoToRa(lo, bo, jde float64) float64 { return ra } -func BoToDec(lo, bo, jde float64) float64 { +func BoToDec(jde, lo, bo float64) float64 { dec := ArcSin(Sin(bo)*Cos(Sita(jde)) + Cos(bo)*Sin(Sita(jde))*Sin(lo)) return dec } +func LoBoToRaDec(jde, lo, bo float64) (float64, float64) { + dec := ArcSin(Sin(bo)*Cos(Sita(jde)) + Cos(bo)*Sin(Sita(jde))*Sin(lo)) + ra := math.Atan2(Sin(lo)*Cos(Sita(jde))-Tan(bo)*Sin(Sita(jde)), Cos(lo)) + ra = ra * 180 / math.Pi + if ra < 0 { + ra += 360 + } + return ra, dec +} + +func RaDecToLoBo(jde, ra, dec float64) (float64, float64) { + //tan(λ) = (sin(α)*cos(ε) + tan(δ)*sin(ε)) / cos(α) + //sin(β)=sin(δ)*cos(ε)-cos(δ)*sin(ε)*sin(α) + sita := Sita(jde) + sinBo := Sin(dec)*Cos(sita) - Cos(dec)*Sin(sita)*Sin(ra) + lo := math.Atan2((Sin(ra)*Cos(sita) + Tan(dec)*Sin(sita)), Cos(ra)) + lo = Limit360(lo * 180 / math.Pi) + return lo, ArcSin(sinBo) +} + +func RaToLo(jde, ra, dec float64) float64 { + //tan(λ) = (sin(α)*cos(ε) + tan(δ)*sin(ε)) / cos(α) + //sin(β)=sin(δ)*cos(ε)-cos(δ)*sin(ε)*sin(α) + sita := Sita(jde) + lo := math.Atan2((Sin(ra)*Cos(sita) + Tan(dec)*Sin(sita)), Cos(ra)) + lo = Limit360(lo * 180 / math.Pi) + return lo +} + +func DecToBo(jde, ra, dec float64) float64 { + //tan(λ) = (sin(α)*cos(ε) + tan(δ)*sin(ε)) / cos(α) + //sin(β)=sin(δ)*cos(ε)-cos(δ)*sin(ε)*sin(α) + sita := Sita(jde) + sinBo := Sin(dec)*Cos(sita) - Cos(dec)*Sin(sita)*Sin(ra) + return ArcSin(sinBo) +} + /* * 赤道坐标岁差变换st end 为JDE时刻 */ @@ -98,7 +135,7 @@ func ZhanXinLo(lo, bo, lat, lon, jd, au, h float64) float64 { //jd为格林尼 C := pcosi(lat, h) S := psini(lat, h) sinpi := Sin(0.0024427777777) / au - ra := LoToRa(lo, bo, jd) + ra := LoToRa(jd, lo, bo) tH := Limit360(TD2UT(ApparentSiderealTime(jd), false)*15 + lon - ra) N := Cos(lo)*Cos(bo) - C*sinpi*Cos(tH) nlo := math.Atan2(Sin(lo)*Cos(bo)-sinpi*(S*Sin(Sita(jd))+C*Cos(Sita(jd))*Sin(tH)), N) * 180 / math.Pi @@ -109,7 +146,7 @@ func ZhanXinBo(lo, bo, lat, lon, jd, au, h float64) float64 { //jd为格林尼 C := pcosi(lat, h) S := psini(lat, h) sinpi := Sin(0.0024427777777) / au - ra := LoToRa(lo, bo, jd) + ra := LoToRa(jd, lo, bo) tH := Limit360(TD2UT(ApparentSiderealTime(jd), false)*15 + lon - ra) N := Cos(lo)*Cos(bo) - C*sinpi*Cos(tH) nlo := math.Atan2(Sin(lo)*Cos(bo)-sinpi*(S*Sin(Sita(jd))+C*Cos(Sita(jd))*Sin(tH)), N) * 180 / math.Pi @@ -117,25 +154,20 @@ func ZhanXinBo(lo, bo, lat, lon, jd, au, h float64) float64 { //jd为格林尼 return nbo } -/* - func GXCLo(lo,bo,jd float64) float64{ //光行差修正 -k:=20.49552; -sunlo:=SunTrueLo(jd); -e:=Earthe(jd); -epi=earth->EarthPI(jd); -tmp=(-k*this->CosR(sunlo-lo)+e*k*this->CosR(epi-lo))/this->CosR(bo); -return tmp; -} - -public function GXCBo(lo,bo,jd) -{ - earth=new Earth(); -k=20.49552; -sunlo=earth->SunTrueLo(jd); -e=earth->Earthe(jd); -epi=earth->EarthPI(jd); -tmp=-k*this->SinR(bo)*(this->SinR(sunlo-lo)-e*this->SinR(epi-lo)); -return tmp; -} - -*/ +func GXCLo(lo, bo, jd float64) float64 { //光行差修正 + k := 20.49552 + sunlo := SunTrueLo(jd) + e := Earthe(jd) + epi := EarthPI(jd) + tmp := (-k*Cos(sunlo-lo) + e*k*Cos(epi-lo)) / Cos(bo) + return tmp +} + +func GXCBo(lo, bo, jd float64) float64 { + k := 20.49552 + sunlo := SunTrueLo(jd) + e := Earthe(jd) + epi := EarthPI(jd) + tmp := -k * Sin(bo) * (Sin(sunlo-lo) - e*Sin(epi-lo)) + return tmp +} diff --git a/basic/coordinate_test.go b/basic/coordinate_test.go index 6b51083..bfcfbab 100644 --- a/basic/coordinate_test.go +++ b/basic/coordinate_test.go @@ -8,3 +8,43 @@ import ( func Test_LoBo(t *testing.T) { fmt.Printf("%.9f", dt_cal(2020.5)) } + +func Test_LoBoRaDec(t *testing.T) { + jde := 2451545.0 + lo, bo := RaDecToLoBo(jde, 10, 50) + fmt.Println("LO,BO", lo, bo) + fmt.Println(LoBoToRaDec(jde, lo, bo)) + lo, bo = RaDecToLoBo(jde, 40, 80) + fmt.Println("LO,BO", lo, bo) + fmt.Println(LoBoToRaDec(jde, lo, bo)) + lo, bo = RaDecToLoBo(jde, 90, 50) + fmt.Println("LO,BO", lo, bo) + fmt.Println(LoBoToRaDec(jde, lo, bo)) + lo, bo = RaDecToLoBo(jde, 130, 50) + fmt.Println("LO,BO", lo, bo) + fmt.Println(LoBoToRaDec(jde, lo, bo)) + lo, bo = RaDecToLoBo(jde, 160, 50) + fmt.Println("LO,BO", lo, bo) + fmt.Println(LoBoToRaDec(jde, lo, bo)) + lo, bo = RaDecToLoBo(jde, 180, 50) + fmt.Println("LO,BO", lo, bo) + fmt.Println(LoBoToRaDec(jde, lo, bo)) + lo, bo = RaDecToLoBo(jde, 210, 50) + fmt.Println("LO,BO", lo, bo) + fmt.Println(LoBoToRaDec(jde, lo, bo)) + lo, bo = RaDecToLoBo(jde, 260, 50) + fmt.Println("LO,BO", lo, bo) + fmt.Println(LoBoToRaDec(jde, lo, bo)) + lo, bo = RaDecToLoBo(jde, 270, 50) + fmt.Println("LO,BO", lo, bo) + fmt.Println(LoBoToRaDec(jde, lo, bo)) + lo, bo = RaDecToLoBo(jde, 300, 50) + fmt.Println("LO,BO", lo, bo) + fmt.Println(LoBoToRaDec(jde, lo, bo)) + lo, bo = RaDecToLoBo(jde, 350, 50) + fmt.Println("LO,BO", lo, bo) + fmt.Println(LoBoToRaDec(jde, lo, bo)) + lo, bo = RaDecToLoBo(jde, 0, 50) + fmt.Println("LO,BO", lo, bo) + fmt.Println(LoBoToRaDec(jde, lo, bo)) +} diff --git a/basic/jupiter.go b/basic/jupiter.go index 05e341a..bc26cb8 100644 --- a/basic/jupiter.go +++ b/basic/jupiter.go @@ -63,22 +63,22 @@ func AJupiterXYZ(JD float64) (float64, float64, float64) { return x, y, z } -func JupiterSeeRa(JD float64) float64 { - lo, bo := JupiterSeeLoBo(JD) +func JupiterApparentRa(JD float64) float64 { + lo, bo := JupiterApparentLoBo(JD) sita := Sita(JD) ra := math.Atan2((Sin(lo)*Cos(sita) - Tan(bo)*Sin(sita)), Cos(lo)) ra = ra * 180 / math.Pi return Limit360(ra) } -func JupiterSeeDec(JD float64) float64 { - lo, bo := JupiterSeeLoBo(JD) +func JupiterApparentDec(JD float64) float64 { + lo, bo := JupiterApparentLoBo(JD) sita := Sita(JD) dec := ArcSin(Sin(bo)*Cos(sita) + Cos(bo)*Sin(sita)*Sin(lo)) return dec } -func JupiterSeeRaDec(JD float64) (float64, float64) { - lo, bo := JupiterSeeLoBo(JD) +func JupiterApparentRaDec(JD float64) (float64, float64) { + lo, bo := JupiterApparentLoBo(JD) sita := Sita(JD) ra := math.Atan2((Sin(lo)*Cos(sita) - Tan(bo)*Sin(sita)), Cos(lo)) ra = ra * 180 / math.Pi @@ -92,7 +92,7 @@ func EarthJupiterAway(JD float64) float64 { return to } -func JupiterSeeLo(JD float64) float64 { +func JupiterApparentLo(JD float64) float64 { x, y, z := AJupiterXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = AJupiterXYZ(JD - to) @@ -107,7 +107,7 @@ func JupiterSeeLo(JD float64) float64 { return lo } -func JupiterSeeBo(JD float64) float64 { +func JupiterApparentBo(JD float64) float64 { x, y, z := AJupiterXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = AJupiterXYZ(JD - to) @@ -121,7 +121,7 @@ func JupiterSeeBo(JD float64) float64 { return bo } -func JupiterSeeLoBo(JD float64) (float64, float64) { +func JupiterApparentLoBo(JD float64) (float64, float64) { x, y, z := AJupiterXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = AJupiterXYZ(JD - to) @@ -145,3 +145,293 @@ func JupiterMag(JD float64) float64 { Mag := -9.40 + 5*math.Log10(AwaySun*AwayEarth) + 0.0005*i return FloatRound(Mag, 2) } + +func JupiterHeight(jde, lon, lat, timezone float64) float64 { + // 转换为世界时 + utcJde := jde - timezone/24.0 + // 计算视恒星时 + ra, dec := JupiterApparentRaDec(TD2UT(utcJde, true)) + st := Limit360(ApparentSiderealTime(utcJde)*15 + lon) + // 计算时角 + H := Limit360(st - ra) + // 高度角、时角与天球座标三角转换公式 + // sin(h)=sin(lat)*sin(dec)+cos(dec)*cos(lat)*cos(H) + sinHeight := Sin(lat)*Sin(dec) + Cos(dec)*Cos(lat)*Cos(H) + return ArcSin(sinHeight) +} + +func JupiterAzimuth(jde, lon, lat, timezone float64) float64 { + // 转换为世界时 + utcJde := jde - timezone/24.0 + // 计算视恒星时 + ra, dec := JupiterApparentRaDec(TD2UT(utcJde, true)) + st := Limit360(ApparentSiderealTime(utcJde)*15 + lon) + // 计算时角 + H := Limit360(st - ra) + // 三角转换公式 + tanAzimuth := Sin(H) / (Cos(H)*Sin(lat) - Tan(dec)*Cos(lat)) + Azimuth := ArcTan(tanAzimuth) + if Azimuth < 0 { + if H/15 < 12 { + return Azimuth + 360 + } + return Azimuth + 180 + } + if H/15 < 12 { + return Azimuth + 180 + } + return Azimuth +} + +func JupiterHourAngle(JD, Lon, TZ float64) float64 { + startime := Limit360(ApparentSiderealTime(JD-TZ/24)*15 + Lon) + timeangle := startime - JupiterApparentRa(TD2UT(JD-TZ/24.0, true)) + if timeangle < 0 { + timeangle += 360 + } + return timeangle +} + +func JupiterCulminationTime(jde, lon, timezone float64) float64 { + //jde 世界时,非力学时,当地时区 0时,无需转换力学时 + //ra,dec 瞬时天球座标,非J2000等时间天球坐标 + jde = math.Floor(jde) + 0.5 + JD1 := jde + Limit360(360-JupiterHourAngle(jde, lon, timezone))/15.0/24.0*0.99726851851851851851 + limitHA := func(jde, lon, timezone float64) float64 { + ha := JupiterHourAngle(jde, lon, timezone) + if ha < 180 { + ha += 360 + } + return ha + } + for { + JD0 := JD1 + stDegree := limitHA(JD0, lon, timezone) - 360 + stDegreep := (limitHA(JD0+0.000005, lon, timezone) - limitHA(JD0-0.000005, lon, timezone)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return JD1 +} + +func JupiterRiseTime(JD, Lon, Lat, TZ, ZS, HEI float64) float64 { + return jupiterRiseDown(JD, Lon, Lat, TZ, ZS, HEI, true) +} + +func JupiterDownTime(JD, Lon, Lat, TZ, ZS, HEI float64) float64 { + return jupiterRiseDown(JD, Lon, Lat, TZ, ZS, HEI, false) +} + +func jupiterRiseDown(JD, Lon, Lat, TZ, ZS, HEI float64, isRise bool) float64 { + var An float64 + JD = math.Floor(JD) + 0.5 + ntz := math.Round(Lon / 15) + if ZS != 0 { + An = -0.8333 + } + An = An - HeightDegreeByLat(HEI, Lat) + tztime := JupiterCulminationTime(JD, Lon, ntz) + if JupiterHeight(tztime, Lon, Lat, ntz) < An { + return -2 //极夜 + } + if JupiterHeight(tztime-0.5, Lon, Lat, ntz) > An { + return -1 //极昼 + } + dec := HSunApparentDec(TD2UT(tztime-ntz/24, true)) + //(sin(ho)-sin(φ)*sin(δ2))/(cos(φ)*cos(δ2)) + tmp := (Sin(An) - Sin(dec)*Sin(Lat)) / (Cos(dec) * Cos(Lat)) + var rise float64 + if math.Abs(tmp) <= 1 { + rzsc := ArcCos(tmp) / 15 + if isRise { + rise = tztime - rzsc/24 - 25.0/24.0/60.0 + } else { + rise = tztime + rzsc/24 - 25.0/24.0/60.0 + } + } else { + rise = tztime + i := 0 + //TODO:使用二分法计算 + for JupiterHeight(rise, Lon, Lat, ntz) > An { + i++ + if isRise { + rise -= 15.0 / 60.0 / 24.0 + } else { + rise += 15.0 / 60.0 / 24.0 + } + if i > 48 { + break + } + } + } + JD1 := rise + for { + JD0 := JD1 + stDegree := JupiterHeight(JD0, Lon, Lat, ntz) - An + stDegreep := (JupiterHeight(JD0+0.000005, Lon, Lat, ntz) - JupiterHeight(JD0-0.000005, Lon, Lat, ntz)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return JD1 - ntz/24 + TZ/24 +} + +// Pos + +const JUPITER_S_PERIOD = 1 / ((1 / 365.256363004) - (1 / 4332.59)) + +func jupiterConjunction(jde, degree float64, next uint8) float64 { + //0=last 1=next + decSub := func(jde float64, degree float64, filter bool) float64 { + sub := Limit360(Limit360(JupiterApparentLo(jde)-HSunApparentLo(jde)) - degree) + if filter { + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + } + return sub + } + dayCost := JUPITER_S_PERIOD / 360 + nowSub := decSub(jde, degree, false) + if next == 0 { + jde -= (360 - nowSub) * dayCost + } else { + jde += dayCost * nowSub + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0, degree, true) + stDegreep := (decSub(JD0+0.000005, degree, true) - decSub(JD0-0.000005, degree, true)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return TD2UT(JD1, false) +} + +func LastJupiterConjunction(jde float64) float64 { + return jupiterConjunction(jde, 0, 0) +} + +func NextJupiterConjunction(jde float64) float64 { + return jupiterConjunction(jde, 0, 1) +} + +func LastJupiterOpposition(jde float64) float64 { + return jupiterConjunction(jde, 180, 0) +} + +func NextJupiterOpposition(jde float64) float64 { + return jupiterConjunction(jde, 180, 1) +} + +func NextJupiterEasternQuadrature(jde float64) float64 { + return jupiterConjunction(jde, 90, 1) +} + +func LastJupiterEasternQuadrature(jde float64) float64 { + return jupiterConjunction(jde, 90, 0) +} + +func NextJupiterWesternQuadrature(jde float64) float64 { + return jupiterConjunction(jde, 270, 1) +} + +func LastJupiterWesternQuadrature(jde float64) float64 { + return jupiterConjunction(jde, 270, 0) +} + +func jupiterRetrograde(jde float64, isLeft bool) float64 { + //0=last 1=next + decSub := func(jde float64, val float64) float64 { + sub := JupiterApparentRa(jde+val) - JupiterApparentRa(jde-val) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub / (2 * val) + } + jde = NextJupiterOpposition(jde) + if isLeft { + jde -= 60 + } else { + jde += 60 + } + for { + nowSub := decSub(jde, 1.0/86400.0) + if math.Abs(nowSub) > 0.55 { + jde += 2 + continue + } + break + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0, 2.0/86400.0) + stDegreep := (decSub(JD0+15.0/86400.0, 2.0/86400.0) - decSub(JD0-15.0/86400.0, 2.0/86400.0)) / (30.0 / 86400.0) + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 30.0/86400.0 { + break + } + } + JD1 = JD1 - 15.0/86400.0 + min := JD1 + minRa := 100.0 + for i := 0.0; i < 60.0; i++ { + tmp := decSub(JD1+i*0.5/86400.0, 0.5/86400.0) + if math.Abs(tmp) < math.Abs(minRa) { + minRa = tmp + min = JD1 + i*0.5/86400.0 + } + } + return TD2UT(min, false) +} + +func NextJupiterRetrogradeToPrograde(jde float64) float64 { + date := jupiterRetrograde(jde, false) + if date < jde { + op := NextJupiterOpposition(jde) + return jupiterRetrograde(op+10, false) + } + return date +} + +func LastJupiterRetrogradeToPrograde(jde float64) float64 { + jde = LastJupiterOpposition(jde) - 10 + date := jupiterRetrograde(jde, false) + if date > jde { + op := LastJupiterOpposition(jde) + return jupiterRetrograde(op-10, false) + } + return date +} + +func NextJupiterProgradeToRetrograde(jde float64) float64 { + date := jupiterRetrograde(jde, true) + if date < jde { + op := NextJupiterOpposition(jde) + return jupiterRetrograde(op+10, true) + } + return date +} + +func LastJupiterProgradeToRetrograde(jde float64) float64 { + jde = LastJupiterOpposition(jde) - 10 + date := jupiterRetrograde(jde, true) + if date > jde { + op := LastJupiterOpposition(jde) + return jupiterRetrograde(op-10, true) + } + return date +} diff --git a/basic/jupiter_test.go b/basic/jupiter_test.go new file mode 100644 index 0000000..ee345df --- /dev/null +++ b/basic/jupiter_test.go @@ -0,0 +1,13 @@ +package basic + +import ( + "fmt" + "testing" +) + +func TestJupiter(t *testing.T) { + jde := GetNowJDE() - 6000 + for i := 0.00; i < 20; i++ { + fmt.Println(jde+i*365, JDE2Date(jde+i*365), JDE2Date(NextJupiterRetrogradeToPrograde(jde+i*365))) + } +} diff --git a/basic/mars.go b/basic/mars.go index c03747e..eecf8e6 100644 --- a/basic/mars.go +++ b/basic/mars.go @@ -63,22 +63,22 @@ func AMarsXYZ(JD float64) (float64, float64, float64) { return x, y, z } -func MarsSeeRa(JD float64) float64 { - lo, bo := MarsSeeLoBo(JD) +func MarsApparentRa(JD float64) float64 { + lo, bo := MarsApparentLoBo(JD) sita := Sita(JD) ra := math.Atan2((Sin(lo)*Cos(sita) - Tan(bo)*Sin(sita)), Cos(lo)) ra = ra * 180 / math.Pi return Limit360(ra) } -func MarsSeeDec(JD float64) float64 { - lo, bo := MarsSeeLoBo(JD) +func MarsApparentDec(JD float64) float64 { + lo, bo := MarsApparentLoBo(JD) sita := Sita(JD) dec := ArcSin(Sin(bo)*Cos(sita) + Cos(bo)*Sin(sita)*Sin(lo)) return dec } -func MarsSeeRaDec(JD float64) (float64, float64) { - lo, bo := MarsSeeLoBo(JD) +func MarsApparentRaDec(JD float64) (float64, float64) { + lo, bo := MarsApparentLoBo(JD) sita := Sita(JD) ra := math.Atan2((Sin(lo)*Cos(sita) - Tan(bo)*Sin(sita)), Cos(lo)) ra = ra * 180 / math.Pi @@ -92,22 +92,21 @@ func EarthMarsAway(JD float64) float64 { return to } -func MarsSeeLo(JD float64) float64 { +func MarsApparentLo(JD float64) float64 { x, y, z := AMarsXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = AMarsXYZ(JD - to) lo := math.Atan2(y, x) - bo := math.Atan2(z, math.Sqrt(x*x+y*y)) - lo = lo * 180 / math.Pi - bo = bo * 180 / math.Pi - lo = Limit360(lo) + //bo := math.Atan2(z, math.Sqrt(x*x+y*y)) + lo = lo * 180.0 / math.Pi + //bo = bo * 180 / math.Pi + lo = Limit360(lo) + HJZD(JD) //lo-=GXCLo(lo,bo,JD)/3600; //bo+=GXCBo(lo,bo,JD); - lo += HJZD(JD) return lo } -func MarsSeeBo(JD float64) float64 { +func MarsApparentBo(JD float64) float64 { x, y, z := AMarsXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = AMarsXYZ(JD - to) @@ -121,7 +120,7 @@ func MarsSeeBo(JD float64) float64 { return bo } -func MarsSeeLoBo(JD float64) (float64, float64) { +func MarsApparentLoBo(JD float64) (float64, float64) { x, y, z := AMarsXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = AMarsXYZ(JD - to) @@ -130,12 +129,32 @@ func MarsSeeLoBo(JD float64) (float64, float64) { lo = lo * 180 / math.Pi bo = bo * 180 / math.Pi lo = Limit360(lo) - //lo-=GXCLo(lo,bo,JD)/3600; - //bo+=GXCBo(lo,bo,JD); + //lo -= GXCLo(lo, bo, JD) / 3600 + //bo += GXCBo(lo, bo, JD) lo += HJZD(JD) return lo, bo } +func MarsTrueLoBo(JD float64) (float64, float64) { + x, y, z := AMarsXYZ(JD) + to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) + x, y, z = AMarsXYZ(JD - to) + lo := math.Atan2(y, x) + bo := math.Atan2(z, math.Sqrt(x*x+y*y)) + lo = lo * 180 / math.Pi + bo = bo * 180 / math.Pi + lo = Limit360(lo) + return lo, bo +} + +func MarsTrueLo(JD float64) float64 { + x, y, _ := AMarsXYZ(JD) + lo := math.Atan2(y, x) + lo = lo * 180 / math.Pi + lo = Limit360(lo) + return lo +} + func MarsMag(JD float64) float64 { AwaySun := MarsR(JD) AwayEarth := EarthMarsAway(JD) @@ -145,3 +164,293 @@ func MarsMag(JD float64) float64 { Mag := -1.52 + 5*math.Log10(AwaySun*AwayEarth) + 0.016*i return FloatRound(Mag, 2) } + +func MarsHeight(jde, lon, lat, timezone float64) float64 { + // 转换为世界时 + utcJde := jde - timezone/24.0 + // 计算视恒星时 + ra, dec := MarsApparentRaDec(TD2UT(utcJde, true)) + st := Limit360(ApparentSiderealTime(utcJde)*15 + lon) + // 计算时角 + H := Limit360(st - ra) + // 高度角、时角与天球座标三角转换公式 + // sin(h)=sin(lat)*sin(dec)+cos(dec)*cos(lat)*cos(H) + sinHeight := Sin(lat)*Sin(dec) + Cos(dec)*Cos(lat)*Cos(H) + return ArcSin(sinHeight) +} + +func MarsAzimuth(jde, lon, lat, timezone float64) float64 { + // 转换为世界时 + utcJde := jde - timezone/24.0 + // 计算视恒星时 + ra, dec := MarsApparentRaDec(TD2UT(utcJde, true)) + st := Limit360(ApparentSiderealTime(utcJde)*15 + lon) + // 计算时角 + H := Limit360(st - ra) + // 三角转换公式 + tanAzimuth := Sin(H) / (Cos(H)*Sin(lat) - Tan(dec)*Cos(lat)) + Azimuth := ArcTan(tanAzimuth) + if Azimuth < 0 { + if H/15 < 12 { + return Azimuth + 360 + } + return Azimuth + 180 + } + if H/15 < 12 { + return Azimuth + 180 + } + return Azimuth +} + +func MarsHourAngle(JD, Lon, TZ float64) float64 { + startime := Limit360(ApparentSiderealTime(JD-TZ/24)*15 + Lon) + timeangle := startime - MarsApparentRa(TD2UT(JD-TZ/24.0, true)) + if timeangle < 0 { + timeangle += 360 + } + return timeangle +} + +func MarsCulminationTime(jde, lon, timezone float64) float64 { + //jde 世界时,非力学时,当地时区 0时,无需转换力学时 + //ra,dec 瞬时天球座标,非J2000等时间天球坐标 + jde = math.Floor(jde) + 0.5 + JD1 := jde + Limit360(360-MarsHourAngle(jde, lon, timezone))/15.0/24.0*0.99726851851851851851 + limitHA := func(jde, lon, timezone float64) float64 { + ha := MarsHourAngle(jde, lon, timezone) + if ha < 180 { + ha += 360 + } + return ha + } + for { + JD0 := JD1 + stDegree := limitHA(JD0, lon, timezone) - 360 + stDegreep := (limitHA(JD0+0.000005, lon, timezone) - limitHA(JD0-0.000005, lon, timezone)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return JD1 +} + +func MarsRiseTime(JD, Lon, Lat, TZ, ZS, HEI float64) float64 { + return marsRiseDown(JD, Lon, Lat, TZ, ZS, HEI, true) +} + +func MarsDownTime(JD, Lon, Lat, TZ, ZS, HEI float64) float64 { + return marsRiseDown(JD, Lon, Lat, TZ, ZS, HEI, false) +} + +func marsRiseDown(JD, Lon, Lat, TZ, ZS, HEI float64, isRise bool) float64 { + var An float64 + JD = math.Floor(JD) + 0.5 + ntz := math.Round(Lon / 15) + if ZS != 0 { + An = -0.8333 + } + An = An - HeightDegreeByLat(HEI, Lat) + tztime := MarsCulminationTime(JD, Lon, ntz) + if MarsHeight(tztime, Lon, Lat, ntz) < An { + return -2 //极夜 + } + if MarsHeight(tztime-0.5, Lon, Lat, ntz) > An { + return -1 //极昼 + } + dec := HSunApparentDec(TD2UT(tztime-ntz/24, true)) + //(sin(ho)-sin(φ)*sin(δ2))/(cos(φ)*cos(δ2)) + tmp := (Sin(An) - Sin(dec)*Sin(Lat)) / (Cos(dec) * Cos(Lat)) + var rise float64 + if math.Abs(tmp) <= 1 { + rzsc := ArcCos(tmp) / 15 + if isRise { + rise = tztime - rzsc/24 - 25.0/24.0/60.0 + } else { + rise = tztime + rzsc/24 - 25.0/24.0/60.0 + } + } else { + rise = tztime + i := 0 + //TODO:使用二分法计算 + for MarsHeight(rise, Lon, Lat, ntz) > An { + i++ + if isRise { + rise -= 15.0 / 60.0 / 24.0 + } else { + rise += 15.0 / 60.0 / 24.0 + } + if i > 48 { + break + } + } + } + JD1 := rise + for { + JD0 := JD1 + stDegree := MarsHeight(JD0, Lon, Lat, ntz) - An + stDegreep := (MarsHeight(JD0+0.000005, Lon, Lat, ntz) - MarsHeight(JD0-0.000005, Lon, Lat, ntz)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return JD1 - ntz/24 + TZ/24 +} + +// Pos + +const MARS_S_PERIOD = 1 / ((1 / 365.256363004) - (1 / 686.98)) + +func marsConjunction(jde, degree float64, next uint8) float64 { + //0=last 1=next + decSub := func(jde float64, degree float64, filter bool) float64 { + sub := Limit360(Limit360(MarsApparentLo(jde)-HSunApparentLo(jde)) - degree) + if filter { + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + } + return sub + } + dayCost := MARS_S_PERIOD / 360 + nowSub := decSub(jde, degree, false) + if next == 0 { + jde -= (360 - nowSub) * dayCost + } else { + jde += dayCost * nowSub + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0, degree, true) + stDegreep := (decSub(JD0+0.000005, degree, true) - decSub(JD0-0.000005, degree, true)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return TD2UT(JD1, false) +} + +func LastMarsConjunction(jde float64) float64 { + return marsConjunction(jde, 0, 0) +} + +func NextMarsConjunction(jde float64) float64 { + return marsConjunction(jde, 0, 1) +} + +func LastMarsOpposition(jde float64) float64 { + return marsConjunction(jde, 180, 0) +} + +func NextMarsOpposition(jde float64) float64 { + return marsConjunction(jde, 180, 1) +} + +func NextMarsEasternQuadrature(jde float64) float64 { + return marsConjunction(jde, 90, 1) +} + +func LastMarsEasternQuadrature(jde float64) float64 { + return marsConjunction(jde, 90, 0) +} + +func NextMarsWesternQuadrature(jde float64) float64 { + return marsConjunction(jde, 270, 1) +} + +func LastMarsWesternQuadrature(jde float64) float64 { + return marsConjunction(jde, 270, 0) +} + +func marsRetrograde(jde float64, isLeft bool) float64 { + //0=last 1=next + decSub := func(jde float64, val float64) float64 { + sub := MarsApparentRa(jde+val) - MarsApparentRa(jde-val) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub / (2 * val) + } + jde = NextMarsOpposition(jde) + if isLeft { + jde -= 60 + } else { + jde += 60 + } + for { + nowSub := decSub(jde, 1.0/86400.0) + if math.Abs(nowSub) > 0.55 { + jde += 2 + continue + } + break + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0, 2.0/86400.0) + stDegreep := (decSub(JD0+15.0/86400.0, 2.0/86400.0) - decSub(JD0-15.0/86400.0, 2.0/86400.0)) / (30.0 / 86400.0) + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 30.0/86400.0 { + break + } + } + JD1 = JD1 - 15.0/86400.0 + min := JD1 + minRa := 100.0 + for i := 0.0; i < 60.0; i++ { + tmp := decSub(JD1+i*0.5/86400.0, 0.5/86400.0) + if math.Abs(tmp) < math.Abs(minRa) { + minRa = tmp + min = JD1 + i*0.5/86400.0 + } + } + return TD2UT(min, false) +} + +func NextMarsRetrogradeToPrograde(jde float64) float64 { + date := marsRetrograde(jde, false) + if date < jde { + op := NextMarsOpposition(jde) + return marsRetrograde(op+10, false) + } + return date +} + +func LastMarsRetrogradeToPrograde(jde float64) float64 { + jde = LastMarsOpposition(jde) - 10 + date := marsRetrograde(jde, false) + if date > jde { + op := LastMarsOpposition(jde) + return marsRetrograde(op-10, false) + } + return date +} + +func NextMarsProgradeToRetrograde(jde float64) float64 { + date := marsRetrograde(jde, true) + if date < jde { + op := NextMarsOpposition(jde) + return marsRetrograde(op+10, true) + } + return date +} + +func LastMarsProgradeToRetrograde(jde float64) float64 { + jde = LastMarsOpposition(jde) - 10 + date := marsRetrograde(jde, true) + if date > jde { + op := LastMarsOpposition(jde) + return marsRetrograde(op-10, true) + } + return date +} diff --git a/basic/mars_test.go b/basic/mars_test.go new file mode 100644 index 0000000..9c5273c --- /dev/null +++ b/basic/mars_test.go @@ -0,0 +1,21 @@ +package basic + +import ( + "fmt" + "testing" +) + +func TestMars(t *testing.T) { + jde := GetNowJDE() - 6000 + /* + fmt.Println(JDE2Date(VenusCulminationTime(jde, 115, 8))) + fmt.Println(JDE2Date(VenusRiseTime(jde, 115, 23, 8, 0, 0))) + fmt.Println(JDE2Date(VenusDownTime(jde, 115, 23, 8, 0, 0))) + fmt.Println("----------------") + */ + //LastVenusConjunction(2.4596600340162036e+06) + //fmt.Println(2.4590359532407406e+06, JDE2Date(2.4590359532407406e+06), JDE2Date(NextVenusRetrograde(2.4590359532407406e+06))) + for i := 0.00; i < 1; i++ { + fmt.Println(jde+i*740, JDE2Date(jde+i*740), JDE2Date(LastMarsProgradeToRetrograde(jde+i*740))) + } +} diff --git a/basic/mercury.go b/basic/mercury.go index 72da472..cfcb2c2 100644 --- a/basic/mercury.go +++ b/basic/mercury.go @@ -63,27 +63,20 @@ func AMercuryXYZ(JD float64) (float64, float64, float64) { return x, y, z } -func MercurySeeRa(JD float64) float64 { - lo, bo := MercurySeeLoBo(JD) - sita := Sita(JD) - ra := math.Atan2((Sin(lo)*Cos(sita) - Tan(bo)*Sin(sita)), Cos(lo)) - ra = ra * 180 / math.Pi - return Limit360(ra) +func MercuryApparentRa(JD float64) float64 { + lo, bo := MercuryApparentLoBo(JD) + return LoToRa(JD, lo, bo) } -func MercurySeeDec(JD float64) float64 { - lo, bo := MercurySeeLoBo(JD) +func MercuryApparentDec(JD float64) float64 { + lo, bo := MercuryApparentLoBo(JD) sita := Sita(JD) dec := ArcSin(Sin(bo)*Cos(sita) + Cos(bo)*Sin(sita)*Sin(lo)) return dec } -func MercurySeeRaDec(JD float64) (float64, float64) { - lo, bo := MercurySeeLoBo(JD) - sita := Sita(JD) - ra := math.Atan2((Sin(lo)*Cos(sita) - Tan(bo)*Sin(sita)), Cos(lo)) - ra = ra * 180 / math.Pi - dec := ArcSin(Sin(bo)*Cos(sita) + Cos(bo)*Sin(sita)*Sin(lo)) - return Limit360(ra), dec +func MercuryApparentRaDec(JD float64) (float64, float64) { + lo, bo := MercuryApparentLoBo(JD) + return LoBoToRaDec(JD, lo, bo) } func EarthMercuryAway(JD float64) float64 { @@ -92,7 +85,7 @@ func EarthMercuryAway(JD float64) float64 { return to } -func MercurySeeLo(JD float64) float64 { +func MercuryApparentLo(JD float64) float64 { x, y, z := AMercuryXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = AMercuryXYZ(JD - to) @@ -107,7 +100,7 @@ func MercurySeeLo(JD float64) float64 { return lo } -func MercurySeeBo(JD float64) float64 { +func MercuryApparentBo(JD float64) float64 { x, y, z := AMercuryXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = AMercuryXYZ(JD - to) @@ -121,7 +114,7 @@ func MercurySeeBo(JD float64) float64 { return bo } -func MercurySeeLoBo(JD float64) (float64, float64) { +func MercuryApparentLoBo(JD float64) (float64, float64) { x, y, z := AMercuryXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = AMercuryXYZ(JD - to) @@ -129,10 +122,9 @@ func MercurySeeLoBo(JD float64) (float64, float64) { bo := math.Atan2(z, math.Sqrt(x*x+y*y)) lo = lo * 180 / math.Pi bo = bo * 180 / math.Pi - lo = Limit360(lo) + lo = Limit360(lo) + HJZD(JD) //lo-=GXCLo(lo,bo,JD)/3600; //bo+=GXCBo(lo,bo,JD); - lo += HJZD(JD) return lo, bo } @@ -145,3 +137,472 @@ func MercuryMag(JD float64) float64 { Mag := -0.42 + 5*math.Log10(AwaySun*AwayEarth) + 0.0380*i - 0.000273*i*i + 0.000002*i*i*i return FloatRound(Mag, 2) } + +func MercuryHeight(jde, lon, lat, timezone float64) float64 { + // 转换为世界时 + utcJde := jde - timezone/24.0 + // 计算视恒星时 + ra, dec := MercuryApparentRaDec(TD2UT(utcJde, true)) + st := Limit360(ApparentSiderealTime(utcJde)*15 + lon) + // 计算时角 + H := Limit360(st - ra) + // 高度角、时角与天球座标三角转换公式 + // sin(h)=sin(lat)*sin(dec)+cos(dec)*cos(lat)*cos(H) + sinHeight := Sin(lat)*Sin(dec) + Cos(dec)*Cos(lat)*Cos(H) + return ArcSin(sinHeight) +} + +func MercuryAzimuth(jde, lon, lat, timezone float64) float64 { + // 转换为世界时 + utcJde := jde - timezone/24.0 + // 计算视恒星时 + ra, dec := MercuryApparentRaDec(TD2UT(utcJde, true)) + st := Limit360(ApparentSiderealTime(utcJde)*15 + lon) + // 计算时角 + H := Limit360(st - ra) + // 三角转换公式 + tanAzimuth := Sin(H) / (Cos(H)*Sin(lat) - Tan(dec)*Cos(lat)) + Azimuth := ArcTan(tanAzimuth) + if Azimuth < 0 { + if H/15 < 12 { + return Azimuth + 360 + } + return Azimuth + 180 + } + if H/15 < 12 { + return Azimuth + 180 + } + return Azimuth +} + +func MercuryHourAngle(JD, Lon, TZ float64) float64 { + startime := Limit360(ApparentSiderealTime(JD-TZ/24)*15 + Lon) + timeangle := startime - MercuryApparentRa(TD2UT(JD-TZ/24.0, true)) + if timeangle < 0 { + timeangle += 360 + } + return timeangle +} + +func MercuryCulminationTime(jde, lon, timezone float64) float64 { + //jde 世界时,非力学时,当地时区 0时,无需转换力学时 + //ra,dec 瞬时天球座标,非J2000等时间天球坐标 + jde = math.Floor(jde) + 0.5 + JD1 := jde + Limit360(360-MercuryHourAngle(jde, lon, timezone))/15.0/24.0*0.99726851851851851851 + limitHA := func(jde, lon, timezone float64) float64 { + ha := MercuryHourAngle(jde, lon, timezone) + if ha < 180 { + ha += 360 + } + return ha + } + for { + JD0 := JD1 + stDegree := limitHA(JD0, lon, timezone) - 360 + stDegreep := (limitHA(JD0+0.000005, lon, timezone) - limitHA(JD0-0.000005, lon, timezone)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return JD1 +} + +func MercuryRiseTime(JD, Lon, Lat, TZ, ZS, HEI float64) float64 { + return mercuryRiseDown(JD, Lon, Lat, TZ, ZS, HEI, true) +} + +func MercuryDownTime(JD, Lon, Lat, TZ, ZS, HEI float64) float64 { + return mercuryRiseDown(JD, Lon, Lat, TZ, ZS, HEI, false) +} + +func mercuryRiseDown(JD, Lon, Lat, TZ, ZS, HEI float64, isRise bool) float64 { + var An float64 + JD = math.Floor(JD) + 0.5 + ntz := math.Round(Lon / 15) + if ZS != 0 { + An = -0.8333 + } + An = An - HeightDegreeByLat(HEI, Lat) + tztime := MercuryCulminationTime(JD, Lon, ntz) + if MercuryHeight(tztime, Lon, Lat, ntz) < An { + return -2 //极夜 + } + if MercuryHeight(tztime-0.5, Lon, Lat, ntz) > An { + return -1 //极昼 + } + dec := HSunApparentDec(TD2UT(tztime-ntz/24, true)) + //(sin(ho)-sin(φ)*sin(δ2))/(cos(φ)*cos(δ2)) + tmp := (Sin(An) - Sin(dec)*Sin(Lat)) / (Cos(dec) * Cos(Lat)) + var rise float64 + if math.Abs(tmp) <= 1 { + rzsc := ArcCos(tmp) / 15 + if isRise { + rise = tztime - rzsc/24 - 25.0/24.0/60.0 + } else { + rise = tztime + rzsc/24 - 25.0/24.0/60.0 + } + } else { + rise = tztime + i := 0 + //TODO:使用二分法计算 + for MercuryHeight(rise, Lon, Lat, ntz) > An { + i++ + if isRise { + rise -= 15.0 / 60.0 / 24.0 + } else { + rise += 15.0 / 60.0 / 24.0 + } + if i > 48 { + break + } + } + } + JD1 := rise + for { + JD0 := JD1 + stDegree := MercuryHeight(JD0, Lon, Lat, ntz) - An + stDegreep := (MercuryHeight(JD0+0.000005, Lon, Lat, ntz) - MercuryHeight(JD0-0.000005, Lon, Lat, ntz)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return JD1 - ntz/24 + TZ/24 +} + +// Pos + +const MERCURY_S_PERIOD = 1 / ((1 / 87.9691) - (1 / 365.256363004)) + +func mercuryConjunction(jde float64, next uint8) float64 { + //0=last 1=next + decSub := func(jde float64) float64 { + sub := Limit360(MercuryApparentLo(jde) - HSunApparentLo(jde)) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub + } + nowSub := decSub(jde) + // pos 大于0:远离太阳 小于0:靠近太阳 + pos := math.Abs(decSub(jde+1/86400.0)) - math.Abs(nowSub) + if pos >= 0 && next == 1 && nowSub > 0 { + jde += MERCURY_S_PERIOD/8.0 + 2 + } + if pos >= 0 && next == 1 && nowSub < 0 { + jde += MERCURY_S_PERIOD/6.0 + 2 + } + if pos <= 0 && next == 0 && nowSub < 0 { + jde -= MERCURY_S_PERIOD/8.0 + 2 + } + if pos <= 0 && next == 0 && nowSub > 0 { + jde -= MERCURY_S_PERIOD/6.0 + 2 + } + for { + nowSub := decSub(jde) + pos := math.Abs(decSub(jde+1/86400.0)) - math.Abs(nowSub) + if math.Abs(nowSub) > 12 || (pos > 0 && next == 1) || (pos < 0 && next == 0) { + if next == 1 { + jde += 2 + } else { + jde -= 2 + } + continue + } + break + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0) + stDegreep := (decSub(JD0+0.000005) - decSub(JD0-0.000005)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return TD2UT(JD1, false) +} + +func LastMercuryConjunction(jde float64) float64 { + return mercuryConjunction(jde, 0) +} + +func NextMercuryConjunction(jde float64) float64 { + return mercuryConjunction(jde, 1) +} + +func NextMercuryInferiorConjunction(jde float64) float64 { + date := NextMercuryConjunction(jde) + if EarthMercuryAway(date) > EarthAway(date) { + return NextMercuryConjunction(date + 2) + } + return date +} + +func NextMercurySuperiorConjunction(jde float64) float64 { + date := NextMercuryConjunction(jde) + if EarthMercuryAway(date) < EarthAway(date) { + return NextMercuryConjunction(date + 2) + } + return date +} + +func LastMercuryInferiorConjunction(jde float64) float64 { + date := LastMercuryConjunction(jde) + if EarthMercuryAway(date) > EarthAway(date) { + return LastMercuryConjunction(date - 2) + } + return date +} + +func LastMercurySuperiorConjunction(jde float64) float64 { + date := LastMercuryConjunction(jde) + if EarthMercuryAway(date) < EarthAway(date) { + return LastMercuryConjunction(date - 2) + } + return date +} + +func mercuryRetrograde(jde float64) float64 { + //0=last 1=next + decSunSub := func(jde float64) float64 { + sub := Limit360(MercuryApparentRa(jde) - SunApparentRa(jde)) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub + } + decSub := func(jde float64, val float64) float64 { + sub := MercuryApparentRa(jde+val) - MercuryApparentRa(jde-val) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub / (2 * val) + } + lastHe := LastMercuryConjunction(jde) + nextHe := NextMercuryConjunction(jde) + nowSub := decSunSub(jde) + if nowSub > 0 { + jde = lastHe + ((nextHe - lastHe) / 5.0 * 3.5) + } else { + jde = lastHe + ((nextHe - lastHe) / 5.5) + } + for { + nowSub := decSub(jde, 1.0/86400.0) + if math.Abs(nowSub) > 0.55 { + jde += 2 + continue + } + break + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0, 2.0/86400.0) + stDegreep := (decSub(JD0+15.0/86400.0, 2.0/86400.0) - decSub(JD0-15.0/86400.0, 2.0/86400.0)) / (30.0 / 86400.0) + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 30.0/86400.0 { + break + } + } + JD1 = JD1 - 15.0/86400.0 + min := JD1 + minRa := 100.0 + for i := 0.0; i < 60.0; i++ { + tmp := decSub(JD1+i*0.5/86400.0, 0.5/86400.0) + if math.Abs(tmp) < math.Abs(minRa) { + minRa = tmp + min = JD1 + i*0.5/86400.0 + } + } + //fmt.Println((min - lastHe) / (nextHe - lastHe)) + return TD2UT(min, false) +} + +func NextMercuryRetrograde(jde float64) float64 { + date := mercuryRetrograde(jde) + if date < jde { + nextHe := NextMercuryConjunction(jde) + return mercuryRetrograde(nextHe + 2) + } + return date +} + +func LastMercuryRetrograde(jde float64) float64 { + lastHe := LastMercuryConjunction(jde) + date := mercuryRetrograde(lastHe + 2) + if date > jde { + lastLastHe := LastMercuryConjunction(lastHe - 2) + return mercuryRetrograde(lastLastHe + 2) + } + return date +} + +func NextMercuryProgradeToRetrograde(jde float64) float64 { + date := NextMercuryRetrograde(jde) + sub := Limit360(MercuryApparentRa(date) - SunApparentRa(date)) + if sub > 180 { + return NextMercuryRetrograde(date + MERCURY_S_PERIOD/2) + } + return date +} + +func NextMercuryRetrogradeToPrograde(jde float64) float64 { + date := NextMercuryRetrograde(jde) + sub := Limit360(MercuryApparentRa(date) - SunApparentRa(date)) + if sub < 180 { + return NextMercuryRetrograde(date + 12) + } + return date +} + +func LastMercuryProgradeToRetrograde(jde float64) float64 { + date := LastMercuryRetrograde(jde) + sub := Limit360(MercuryApparentRa(date) - SunApparentRa(date)) + if sub > 180 { + return LastMercuryRetrograde(date - 12) + } + return date +} + +func LastMercuryRetrogradeToPrograde(jde float64) float64 { + date := LastMercuryRetrograde(jde) + sub := Limit360(MercuryApparentRa(date) - SunApparentRa(date)) + if sub < 180 { + return LastMercuryRetrograde(date - MERCURY_S_PERIOD/2) + } + return date +} + +func MercurySunElongation(jde float64) float64 { + lo1, bo1 := MercuryApparentLoBo(jde) + lo2 := SunApparentLo(jde) + bo2 := HSunTrueBo(jde) + return StarAngularSeparation(lo1, bo1, lo2, bo2) +} +func mercuryGreatestElongation(jde float64) float64 { + decSunSub := func(jde float64) float64 { + sub := Limit360(MercuryApparentRa(jde) - SunApparentRa(jde)) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub + } + decSub := func(jde float64, val float64) float64 { + sub := MercurySunElongation(jde+val) - MercurySunElongation(jde-val) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub / (2 * val) + } + lastHe := LastMercuryConjunction(jde) + nextHe := NextMercuryConjunction(jde) + nowSub := decSunSub(jde) + if nowSub > 0 { + jde = lastHe + ((nextHe - lastHe) / 5.0 * 2.0) + } else { + jde = lastHe + ((nextHe - lastHe) / 6.0) + } + for { + nowSub := decSub(jde, 1.0/86400.0) + if math.Abs(nowSub) > 0.4 { + jde += 2 + continue + } + break + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0, 2.0/86400.0) + stDegreep := (decSub(JD0+15.0/86400.0, 2.0/86400.0) - decSub(JD0-15.0/86400.0, 2.0/86400.0)) / (30.0 / 86400.0) + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 30.0/86400.0 { + break + } + } + JD1 = JD1 - 15.0/86400.0 + min := JD1 + minRa := 100.0 + for i := 0.0; i < 60.0; i++ { + tmp := decSub(JD1+i*0.5/86400.0, 0.5/86400.0) + if math.Abs(tmp) < math.Abs(minRa) { + minRa = tmp + min = JD1 + i*0.5/86400.0 + } + } + //fmt.Println((min - lastHe) / (nextHe - lastHe)) + return TD2UT(min, false) +} + +func NextMercuryGreatestElongation(jde float64) float64 { + date := mercuryGreatestElongation(jde) + if date < jde { + nextHe := NextMercuryConjunction(jde) + return mercuryGreatestElongation(nextHe + 2) + } + return date +} + +func LastMercuryGreatestElongation(jde float64) float64 { + lastHe := LastMercuryConjunction(jde) + date := mercuryGreatestElongation(lastHe + 2) + if date > jde { + lastLastHe := LastMercuryConjunction(lastHe - 2) + return mercuryGreatestElongation(lastLastHe + 2) + } + return date +} + +func NextMercuryGreatestElongationEast(jde float64) float64 { + date := NextMercuryGreatestElongation(jde) + sub := Limit360(MercuryApparentRa(date) - SunApparentRa(date)) + if sub > 180 { + return NextMercuryGreatestElongation(date + 1) + } + return date +} + +func NextMercuryGreatestElongationWest(jde float64) float64 { + date := NextMercuryGreatestElongation(jde) + sub := Limit360(MercuryApparentRa(date) - SunApparentRa(date)) + if sub < 180 { + return NextMercuryGreatestElongation(date + 1) + } + return date +} + +func LastMercuryGreatestElongationEast(jde float64) float64 { + date := LastMercuryGreatestElongation(jde) + sub := Limit360(MercuryApparentRa(date) - SunApparentRa(date)) + if sub > 180 { + return LastMercuryGreatestElongation(date - 1) + } + return date +} + +func LastMercuryGreatestElongationWest(jde float64) float64 { + date := LastMercuryGreatestElongation(jde) + sub := Limit360(MercuryApparentRa(date) - SunApparentRa(date)) + if sub < 180 { + return LastMercuryGreatestElongation(date - 1) + } + return date +} diff --git a/basic/mercury_test.go b/basic/mercury_test.go new file mode 100644 index 0000000..ee64472 --- /dev/null +++ b/basic/mercury_test.go @@ -0,0 +1,16 @@ +package basic + +import ( + "fmt" + "testing" +) + +func TestMercury(t *testing.T) { + jde := GetNowJDE() + fmt.Println(2.459941309513889e+06, JDE2Date(2.459941309513889e+06), JDE2Date(8.0/24.0+LastMercuryGreatestElongation(2.459941309513889e+06))) + fmt.Println("-------------for------------") + for i := 0.00; i < 700.0; i += 5 { + fmt.Println(jde+i, JDE2Date(jde+i), JDE2Date(8.0/24.0+LastMercuryGreatestElongationWest(jde+i))) + // fmt.Println("") + } +} diff --git a/basic/moon.go b/basic/moon.go index d7ab7a8..220be8c 100644 --- a/basic/moon.go +++ b/basic/moon.go @@ -1052,18 +1052,7 @@ func MoonTrueDec(JD float64) float64 { * 月球真赤经 */ func MoonTrueRa(JD float64) float64 { - MoonLo := MoonApparentLo(JD) - MoonBo := MoonTrueBo(JD) - tmp := (Sin(MoonLo)*Cos(Sita(JD)) - Tan(MoonBo)*Sin(Sita(JD))) / Cos(MoonLo) - tmp = ArcTan(tmp) - if MoonLo >= 90 && MoonLo < 180 { - tmp = 180 + tmp - } else if MoonLo >= 180 && MoonLo < 270 { - tmp = 180 + tmp - } else if MoonLo >= 270 && MoonLo <= 360 { - tmp = 360 + tmp - } - return tmp + return LoToRa(JD, MoonApparentLo(JD), MoonTrueBo(JD)) } /** @@ -1382,6 +1371,7 @@ func HMoonHeight(JD, Lon, Lat, TZ float64) float64 { return ArcSin(tmp2) } +// 废弃 func GetMoonTZTime(JD, Lon, Lat, TZ float64) float64 { //实际中天时间{ JD = math.Floor(JD) + 0.5 ttm := MoonTimeAngle(JD, Lon, Lat, TZ) @@ -1401,9 +1391,33 @@ func GetMoonTZTime(JD, Lon, Lat, TZ float64) float64 { //实际中天时间{ return JD1 } +func MoonCulminationTime(jde, lon, lat, timezone float64) float64 { + //jde 世界时,非力学时,当地时区 0时,无需转换力学时 + //ra,dec 瞬时天球座标,非J2000等时间天球坐标 + jde = math.Floor(jde) + 0.5 + JD1 := jde + Limit360(360-MoonTimeAngle(jde, lon, lat, timezone))/15.0/24.0/0.9 + limitHA := func(jde, lon, timezone float64) float64 { + ha := MoonTimeAngle(jde, lon, lat, timezone) + if ha < 180 { + ha += 360 + } + return ha + } + for { + JD0 := JD1 + stDegree := limitHA(JD0, lon, timezone) - 360 + stDegreep := (limitHA(JD0+0.000005, lon, timezone) - limitHA(JD0-0.000005, lon, timezone)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return JD1 +} + func MoonTimeAngle(JD, Lon, Lat, TZ float64) float64 { startime := Limit360(ApparentSiderealTime(JD-TZ/24)*15 + Lon) - timeangle := startime - HMoonApparentRa(JD-TZ/24, Lon, Lat, TZ) + timeangle := startime - HMoonApparentRa(JD, Lon, Lat, TZ) if timeangle < 0 { timeangle += 360 } @@ -1667,20 +1681,7 @@ func HMoonApparentLo(JD float64) float64 { } func HMoonTrueRaDec(JD float64) (float64, float64) { - MoonLo := HMoonApparentLo(JD) - MoonBo := HMoonTrueBo(JD) - tmp := Sin(MoonBo)*Cos(Sita(JD)) + Cos(MoonBo)*Sin(Sita(JD))*Sin(MoonLo) - res := ArcSin(tmp) - tmp = (Sin(MoonLo)*Cos(Sita(JD)) - Tan(MoonBo)*Sin(Sita(JD))) / Cos(MoonLo) - tmp = ArcTan(tmp) - if MoonLo >= 90 && MoonLo < 180 { - tmp = 180 + tmp - } else if MoonLo >= 180 && MoonLo < 270 { - tmp = 180 + tmp - } else if MoonLo >= 270 && MoonLo <= 360 { - tmp = 360 + tmp - } - return tmp, res + return LoBoToRaDec(JD, HMoonApparentLo(JD), HMoonTrueBo(JD)) } /* @@ -1698,18 +1699,7 @@ func HMoonTrueDec(JD float64) float64 { * 月球真赤经 */ func HMoonTrueRa(JD float64) float64 { - MoonLo := HMoonApparentLo(JD) - MoonBo := HMoonTrueBo(JD) - tmp := (Sin(MoonLo)*Cos(Sita(JD)) - Tan(MoonBo)*Sin(Sita(JD))) / Cos(MoonLo) - tmp = ArcTan(tmp) - if MoonLo >= 90 && MoonLo < 180 { - tmp = 180 + tmp - } else if MoonLo >= 180 && MoonLo < 270 { - tmp = 180 + tmp - } else if MoonLo >= 270 && MoonLo <= 360 { - tmp = 360 + tmp - } - return tmp + return LoToRa(JD, HMoonApparentLo(JD), HMoonTrueBo(JD)) } /** diff --git a/basic/moon_test.go b/basic/moon_test.go index e787458..8c7c050 100644 --- a/basic/moon_test.go +++ b/basic/moon_test.go @@ -2,6 +2,7 @@ package basic import ( "fmt" + "math" "testing" "time" ) @@ -45,3 +46,16 @@ func Test_MoonS(t *testing.T) { fmt.Println(time.Now().UnixNano() - a) //fmt.Printf("%.14f", GetMoonRiseTime(2451547, 115, 32, 8, 0)) } + +func TestMoonCu(t *testing.T) { + jde := math.Floor(GetNowJDE() - 20.0/24.0) + n := MoonCulminationTime(jde, 115, 23, 8) + fmt.Println(JDE2Date(n)) + fmt.Println(MoonTimeAngle(n, 115, 23, 8)) + fmt.Println(MoonAngle(n, 115, 23, 8)) + //fmt.Println(JDE2Date(jde)) + //ra, dec := HMoonApparentRaDec(jde, 115, 23, 8) + //fmt.Println(tools.Format(ra/15, 1), tools.Format(dec, 0)) + //fmt.Println(JDE2Date(GetMoonTZTime(jde, 115, 23, 8))) + //fmt.Println(JDE2Date(GetMoonDownTime(jde+1, 115, 23, 8, 1, 0))) +} diff --git a/basic/neptune.go b/basic/neptune.go index 0e19ab9..8a6f879 100644 --- a/basic/neptune.go +++ b/basic/neptune.go @@ -63,22 +63,22 @@ func ANeptuneXYZ(JD float64) (float64, float64, float64) { return x, y, z } -func NeptuneSeeRa(JD float64) float64 { - lo, bo := NeptuneSeeLoBo(JD) +func NeptuneApparentRa(JD float64) float64 { + lo, bo := NeptuneApparentLoBo(JD) sita := Sita(JD) ra := math.Atan2((Sin(lo)*Cos(sita) - Tan(bo)*Sin(sita)), Cos(lo)) ra = ra * 180 / math.Pi return Limit360(ra) } -func NeptuneSeeDec(JD float64) float64 { - lo, bo := NeptuneSeeLoBo(JD) +func NeptuneApparentDec(JD float64) float64 { + lo, bo := NeptuneApparentLoBo(JD) sita := Sita(JD) dec := ArcSin(Sin(bo)*Cos(sita) + Cos(bo)*Sin(sita)*Sin(lo)) return dec } -func NeptuneSeeRaDec(JD float64) (float64, float64) { - lo, bo := NeptuneSeeLoBo(JD) +func NeptuneApparentRaDec(JD float64) (float64, float64) { + lo, bo := NeptuneApparentLoBo(JD) sita := Sita(JD) ra := math.Atan2((Sin(lo)*Cos(sita) - Tan(bo)*Sin(sita)), Cos(lo)) ra = ra * 180 / math.Pi @@ -92,7 +92,7 @@ func EarthNeptuneAway(JD float64) float64 { return to } -func NeptuneSeeLo(JD float64) float64 { +func NeptuneApparentLo(JD float64) float64 { x, y, z := ANeptuneXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = ANeptuneXYZ(JD - to) @@ -107,7 +107,7 @@ func NeptuneSeeLo(JD float64) float64 { return lo } -func NeptuneSeeBo(JD float64) float64 { +func NeptuneApparentBo(JD float64) float64 { x, y, z := ANeptuneXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = ANeptuneXYZ(JD - to) @@ -121,7 +121,7 @@ func NeptuneSeeBo(JD float64) float64 { return bo } -func NeptuneSeeLoBo(JD float64) (float64, float64) { +func NeptuneApparentLoBo(JD float64) (float64, float64) { x, y, z := ANeptuneXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = ANeptuneXYZ(JD - to) @@ -145,3 +145,293 @@ func NeptuneMag(JD float64) float64 { Mag := -6.87 + 5*math.Log10(AwaySun*AwayEarth) return FloatRound(Mag, 2) } + +func NeptuneHeight(jde, lon, lat, timezone float64) float64 { + // 转换为世界时 + utcJde := jde - timezone/24.0 + // 计算视恒星时 + ra, dec := NeptuneApparentRaDec(TD2UT(utcJde, true)) + st := Limit360(ApparentSiderealTime(utcJde)*15 + lon) + // 计算时角 + H := Limit360(st - ra) + // 高度角、时角与天球座标三角转换公式 + // sin(h)=sin(lat)*sin(dec)+cos(dec)*cos(lat)*cos(H) + sinHeight := Sin(lat)*Sin(dec) + Cos(dec)*Cos(lat)*Cos(H) + return ArcSin(sinHeight) +} + +func NeptuneAzimuth(jde, lon, lat, timezone float64) float64 { + // 转换为世界时 + utcJde := jde - timezone/24.0 + // 计算视恒星时 + ra, dec := NeptuneApparentRaDec(TD2UT(utcJde, true)) + st := Limit360(ApparentSiderealTime(utcJde)*15 + lon) + // 计算时角 + H := Limit360(st - ra) + // 三角转换公式 + tanAzimuth := Sin(H) / (Cos(H)*Sin(lat) - Tan(dec)*Cos(lat)) + Azimuth := ArcTan(tanAzimuth) + if Azimuth < 0 { + if H/15 < 12 { + return Azimuth + 360 + } + return Azimuth + 180 + } + if H/15 < 12 { + return Azimuth + 180 + } + return Azimuth +} + +func NeptuneHourAngle(JD, Lon, TZ float64) float64 { + startime := Limit360(ApparentSiderealTime(JD-TZ/24)*15 + Lon) + timeangle := startime - NeptuneApparentRa(TD2UT(JD-TZ/24.0, true)) + if timeangle < 0 { + timeangle += 360 + } + return timeangle +} + +func NeptuneCulminationTime(jde, lon, timezone float64) float64 { + //jde 世界时,非力学时,当地时区 0时,无需转换力学时 + //ra,dec 瞬时天球座标,非J2000等时间天球坐标 + jde = math.Floor(jde) + 0.5 + JD1 := jde + Limit360(360-NeptuneHourAngle(jde, lon, timezone))/15.0/24.0*0.99726851851851851851 + limitHA := func(jde, lon, timezone float64) float64 { + ha := NeptuneHourAngle(jde, lon, timezone) + if ha < 180 { + ha += 360 + } + return ha + } + for { + JD0 := JD1 + stDegree := limitHA(JD0, lon, timezone) - 360 + stDegreep := (limitHA(JD0+0.000005, lon, timezone) - limitHA(JD0-0.000005, lon, timezone)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return JD1 +} + +func NeptuneRiseTime(JD, Lon, Lat, TZ, ZS, HEI float64) float64 { + return neptuneRiseDown(JD, Lon, Lat, TZ, ZS, HEI, true) +} + +func NeptuneDownTime(JD, Lon, Lat, TZ, ZS, HEI float64) float64 { + return neptuneRiseDown(JD, Lon, Lat, TZ, ZS, HEI, false) +} + +func neptuneRiseDown(JD, Lon, Lat, TZ, ZS, HEI float64, isRise bool) float64 { + var An float64 + JD = math.Floor(JD) + 0.5 + ntz := math.Round(Lon / 15) + if ZS != 0 { + An = -0.8333 + } + An = An - HeightDegreeByLat(HEI, Lat) + tztime := NeptuneCulminationTime(JD, Lon, ntz) + if NeptuneHeight(tztime, Lon, Lat, ntz) < An { + return -2 //极夜 + } + if NeptuneHeight(tztime-0.5, Lon, Lat, ntz) > An { + return -1 //极昼 + } + dec := HSunApparentDec(TD2UT(tztime-ntz/24, true)) + //(sin(ho)-sin(φ)*sin(δ2))/(cos(φ)*cos(δ2)) + tmp := (Sin(An) - Sin(dec)*Sin(Lat)) / (Cos(dec) * Cos(Lat)) + var rise float64 + if math.Abs(tmp) <= 1 { + rzsc := ArcCos(tmp) / 15 + if isRise { + rise = tztime - rzsc/24 - 25.0/24.0/60.0 + } else { + rise = tztime + rzsc/24 - 25.0/24.0/60.0 + } + } else { + rise = tztime + i := 0 + //TODO:使用二分法计算 + for NeptuneHeight(rise, Lon, Lat, ntz) > An { + i++ + if isRise { + rise -= 15.0 / 60.0 / 24.0 + } else { + rise += 15.0 / 60.0 / 24.0 + } + if i > 48 { + break + } + } + } + JD1 := rise + for { + JD0 := JD1 + stDegree := NeptuneHeight(JD0, Lon, Lat, ntz) - An + stDegreep := (NeptuneHeight(JD0+0.000005, Lon, Lat, ntz) - NeptuneHeight(JD0-0.000005, Lon, Lat, ntz)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return JD1 - ntz/24 + TZ/24 +} + +// Pos + +const NEPTUNE_S_PERIOD = 1 / ((1 / 365.256363004) - (1 / 4332.59)) + +func neptuneConjunction(jde, degree float64, next uint8) float64 { + //0=last 1=next + decSub := func(jde float64, degree float64, filter bool) float64 { + sub := Limit360(Limit360(NeptuneApparentLo(jde)-HSunApparentLo(jde)) - degree) + if filter { + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + } + return sub + } + dayCost := NEPTUNE_S_PERIOD / 360 + nowSub := decSub(jde, degree, false) + if next == 0 { + jde -= (360 - nowSub) * dayCost + } else { + jde += dayCost * nowSub + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0, degree, true) + stDegreep := (decSub(JD0+0.000005, degree, true) - decSub(JD0-0.000005, degree, true)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return TD2UT(JD1, false) +} + +func LastNeptuneConjunction(jde float64) float64 { + return neptuneConjunction(jde, 0, 0) +} + +func NextNeptuneConjunction(jde float64) float64 { + return neptuneConjunction(jde, 0, 1) +} + +func LastNeptuneOpposition(jde float64) float64 { + return neptuneConjunction(jde, 180, 0) +} + +func NextNeptuneOpposition(jde float64) float64 { + return neptuneConjunction(jde, 180, 1) +} + +func NextNeptuneEasternQuadrature(jde float64) float64 { + return neptuneConjunction(jde, 90, 1) +} + +func LastNeptuneEasternQuadrature(jde float64) float64 { + return neptuneConjunction(jde, 90, 0) +} + +func NextNeptuneWesternQuadrature(jde float64) float64 { + return neptuneConjunction(jde, 270, 1) +} + +func LastNeptuneWesternQuadrature(jde float64) float64 { + return neptuneConjunction(jde, 270, 0) +} + +func neptuneRetrograde(jde float64, isLeft bool) float64 { + //0=last 1=next + decSub := func(jde float64, val float64) float64 { + sub := NeptuneApparentRa(jde+val) - NeptuneApparentRa(jde-val) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub / (2 * val) + } + jde = NextNeptuneOpposition(jde) + if isLeft { + jde -= 60 + } else { + jde += 60 + } + for { + nowSub := decSub(jde, 1.0/86400.0) + if math.Abs(nowSub) > 0.55 { + jde += 2 + continue + } + break + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0, 2.0/86400.0) + stDegreep := (decSub(JD0+15.0/86400.0, 2.0/86400.0) - decSub(JD0-15.0/86400.0, 2.0/86400.0)) / (30.0 / 86400.0) + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 30.0/86400.0 { + break + } + } + JD1 = JD1 - 15.0/86400.0 + min := JD1 + minRa := 100.0 + for i := 0.0; i < 60.0; i++ { + tmp := decSub(JD1+i*0.5/86400.0, 0.5/86400.0) + if math.Abs(tmp) < math.Abs(minRa) { + minRa = tmp + min = JD1 + i*0.5/86400.0 + } + } + return TD2UT(min, false) +} + +func NextNeptuneRetrogradeToPrograde(jde float64) float64 { + date := neptuneRetrograde(jde, false) + if date < jde { + op := NextNeptuneOpposition(jde) + return neptuneRetrograde(op+10, false) + } + return date +} + +func LastNeptuneRetrogradeToPrograde(jde float64) float64 { + jde = LastNeptuneOpposition(jde) - 10 + date := neptuneRetrograde(jde, false) + if date > jde { + op := LastNeptuneOpposition(jde) + return neptuneRetrograde(op-10, false) + } + return date +} + +func NextNeptuneProgradeToRetrograde(jde float64) float64 { + date := neptuneRetrograde(jde, true) + if date < jde { + op := NextNeptuneOpposition(jde) + return neptuneRetrograde(op+10, true) + } + return date +} + +func LastNeptuneProgradeToRetrograde(jde float64) float64 { + jde = LastNeptuneOpposition(jde) - 10 + date := neptuneRetrograde(jde, true) + if date > jde { + op := LastNeptuneOpposition(jde) + return neptuneRetrograde(op-10, true) + } + return date +} diff --git a/basic/planet_test.go b/basic/planet_test.go index 51f77c7..11a1e2d 100644 --- a/basic/planet_test.go +++ b/basic/planet_test.go @@ -6,10 +6,10 @@ import ( ) func Test_Ra(t *testing.T) { - ra, dec := UranusSeeRaDec(2456789.12345) + ra, dec := UranusApparentRaDec(2456789.12345) fmt.Printf("%.14f\n%.14f\n", ra, dec) fmt.Println(UranusMag(2456789.12345)) - ra, dec = NeptuneSeeRaDec(2456789.12345) + ra, dec = NeptuneApparentRaDec(2456789.12345) fmt.Printf("%.14f\n%.14f\n", ra, dec) fmt.Println(NeptuneMag(2456789.12345)) } diff --git a/basic/saturn.go b/basic/saturn.go index ba7f06f..c804321 100644 --- a/basic/saturn.go +++ b/basic/saturn.go @@ -63,22 +63,22 @@ func ASaturnXYZ(JD float64) (float64, float64, float64) { return x, y, z } -func SaturnSeeRa(JD float64) float64 { - lo, bo := SaturnSeeLoBo(JD) +func SaturnApparentRa(JD float64) float64 { + lo, bo := SaturnApparentLoBo(JD) sita := Sita(JD) ra := math.Atan2((Sin(lo)*Cos(sita) - Tan(bo)*Sin(sita)), Cos(lo)) ra = ra * 180 / math.Pi return Limit360(ra) } -func SaturnSeeDec(JD float64) float64 { - lo, bo := SaturnSeeLoBo(JD) +func SaturnApparentDec(JD float64) float64 { + lo, bo := SaturnApparentLoBo(JD) sita := Sita(JD) dec := ArcSin(Sin(bo)*Cos(sita) + Cos(bo)*Sin(sita)*Sin(lo)) return dec } -func SaturnSeeRaDec(JD float64) (float64, float64) { - lo, bo := SaturnSeeLoBo(JD) +func SaturnApparentRaDec(JD float64) (float64, float64) { + lo, bo := SaturnApparentLoBo(JD) sita := Sita(JD) ra := math.Atan2((Sin(lo)*Cos(sita) - Tan(bo)*Sin(sita)), Cos(lo)) ra = ra * 180 / math.Pi @@ -92,7 +92,7 @@ func EarthSaturnAway(JD float64) float64 { return to } -func SaturnSeeLo(JD float64) float64 { +func SaturnApparentLo(JD float64) float64 { x, y, z := ASaturnXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = ASaturnXYZ(JD - to) @@ -107,7 +107,7 @@ func SaturnSeeLo(JD float64) float64 { return lo } -func SaturnSeeBo(JD float64) float64 { +func SaturnApparentBo(JD float64) float64 { x, y, z := ASaturnXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = ASaturnXYZ(JD - to) @@ -121,7 +121,7 @@ func SaturnSeeBo(JD float64) float64 { return bo } -func SaturnSeeLoBo(JD float64) (float64, float64) { +func SaturnApparentLoBo(JD float64) (float64, float64) { x, y, z := ASaturnXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = ASaturnXYZ(JD - to) @@ -150,7 +150,297 @@ func SaturnRingB(JD float64) float64 { T := (JD - 2451545) / 36525 i := 28.075216 - 0.012998*T + 0.000004*T*T omi := 169.508470 + 1.394681*T + 0.000412*T*T - lo, bo := SaturnSeeLoBo(JD) + lo, bo := SaturnApparentLoBo(JD) B := Sin(i)*Cos(bo)*Sin(lo-omi) - Cos(i)*Cos(bo) return ArcSin(B) } + +func SaturnHeight(jde, lon, lat, timezone float64) float64 { + // 转换为世界时 + utcJde := jde - timezone/24.0 + // 计算视恒星时 + ra, dec := SaturnApparentRaDec(TD2UT(utcJde, true)) + st := Limit360(ApparentSiderealTime(utcJde)*15 + lon) + // 计算时角 + H := Limit360(st - ra) + // 高度角、时角与天球座标三角转换公式 + // sin(h)=sin(lat)*sin(dec)+cos(dec)*cos(lat)*cos(H) + sinHeight := Sin(lat)*Sin(dec) + Cos(dec)*Cos(lat)*Cos(H) + return ArcSin(sinHeight) +} + +func SaturnAzimuth(jde, lon, lat, timezone float64) float64 { + // 转换为世界时 + utcJde := jde - timezone/24.0 + // 计算视恒星时 + ra, dec := SaturnApparentRaDec(TD2UT(utcJde, true)) + st := Limit360(ApparentSiderealTime(utcJde)*15 + lon) + // 计算时角 + H := Limit360(st - ra) + // 三角转换公式 + tanAzimuth := Sin(H) / (Cos(H)*Sin(lat) - Tan(dec)*Cos(lat)) + Azimuth := ArcTan(tanAzimuth) + if Azimuth < 0 { + if H/15 < 12 { + return Azimuth + 360 + } + return Azimuth + 180 + } + if H/15 < 12 { + return Azimuth + 180 + } + return Azimuth +} + +func SaturnHourAngle(JD, Lon, TZ float64) float64 { + startime := Limit360(ApparentSiderealTime(JD-TZ/24)*15 + Lon) + timeangle := startime - SaturnApparentRa(TD2UT(JD-TZ/24.0, true)) + if timeangle < 0 { + timeangle += 360 + } + return timeangle +} + +func SaturnCulminationTime(jde, lon, timezone float64) float64 { + //jde 世界时,非力学时,当地时区 0时,无需转换力学时 + //ra,dec 瞬时天球座标,非J2000等时间天球坐标 + jde = math.Floor(jde) + 0.5 + JD1 := jde + Limit360(360-SaturnHourAngle(jde, lon, timezone))/15.0/24.0*0.99726851851851851851 + limitHA := func(jde, lon, timezone float64) float64 { + ha := SaturnHourAngle(jde, lon, timezone) + if ha < 180 { + ha += 360 + } + return ha + } + for { + JD0 := JD1 + stDegree := limitHA(JD0, lon, timezone) - 360 + stDegreep := (limitHA(JD0+0.000005, lon, timezone) - limitHA(JD0-0.000005, lon, timezone)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return JD1 +} + +func SaturnRiseTime(JD, Lon, Lat, TZ, ZS, HEI float64) float64 { + return saturnRiseDown(JD, Lon, Lat, TZ, ZS, HEI, true) +} + +func SaturnDownTime(JD, Lon, Lat, TZ, ZS, HEI float64) float64 { + return saturnRiseDown(JD, Lon, Lat, TZ, ZS, HEI, false) +} + +func saturnRiseDown(JD, Lon, Lat, TZ, ZS, HEI float64, isRise bool) float64 { + var An float64 + JD = math.Floor(JD) + 0.5 + ntz := math.Round(Lon / 15) + if ZS != 0 { + An = -0.8333 + } + An = An - HeightDegreeByLat(HEI, Lat) + tztime := SaturnCulminationTime(JD, Lon, ntz) + if SaturnHeight(tztime, Lon, Lat, ntz) < An { + return -2 //极夜 + } + if SaturnHeight(tztime-0.5, Lon, Lat, ntz) > An { + return -1 //极昼 + } + dec := HSunApparentDec(TD2UT(tztime-ntz/24, true)) + //(sin(ho)-sin(φ)*sin(δ2))/(cos(φ)*cos(δ2)) + tmp := (Sin(An) - Sin(dec)*Sin(Lat)) / (Cos(dec) * Cos(Lat)) + var rise float64 + if math.Abs(tmp) <= 1 { + rzsc := ArcCos(tmp) / 15 + if isRise { + rise = tztime - rzsc/24 - 25.0/24.0/60.0 + } else { + rise = tztime + rzsc/24 - 25.0/24.0/60.0 + } + } else { + rise = tztime + i := 0 + //TODO:使用二分法计算 + for SaturnHeight(rise, Lon, Lat, ntz) > An { + i++ + if isRise { + rise -= 15.0 / 60.0 / 24.0 + } else { + rise += 15.0 / 60.0 / 24.0 + } + if i > 48 { + break + } + } + } + JD1 := rise + for { + JD0 := JD1 + stDegree := SaturnHeight(JD0, Lon, Lat, ntz) - An + stDegreep := (SaturnHeight(JD0+0.000005, Lon, Lat, ntz) - SaturnHeight(JD0-0.000005, Lon, Lat, ntz)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return JD1 - ntz/24 + TZ/24 +} + +// Pos + +const SATURN_S_PERIOD = 1 / ((1 / 365.256363004) - (1 / 10759.0)) + +func saturnConjunction(jde, degree float64, next uint8) float64 { + //0=last 1=next + decSub := func(jde float64, degree float64, filter bool) float64 { + sub := Limit360(Limit360(SaturnApparentLo(jde)-HSunApparentLo(jde)) - degree) + if filter { + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + } + return sub + } + dayCost := SATURN_S_PERIOD / 360 + nowSub := decSub(jde, degree, false) + if next == 0 { + jde -= (360 - nowSub) * dayCost + } else { + jde += dayCost * nowSub + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0, degree, true) + stDegreep := (decSub(JD0+0.000005, degree, true) - decSub(JD0-0.000005, degree, true)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return TD2UT(JD1, false) +} + +func LastSaturnConjunction(jde float64) float64 { + return saturnConjunction(jde, 0, 0) +} + +func NextSaturnConjunction(jde float64) float64 { + return saturnConjunction(jde, 0, 1) +} + +func LastSaturnOpposition(jde float64) float64 { + return saturnConjunction(jde, 180, 0) +} + +func NextSaturnOpposition(jde float64) float64 { + return saturnConjunction(jde, 180, 1) +} + +func NextSaturnEasternQuadrature(jde float64) float64 { + return saturnConjunction(jde, 90, 1) +} + +func LastSaturnEasternQuadrature(jde float64) float64 { + return saturnConjunction(jde, 90, 0) +} + +func NextSaturnWesternQuadrature(jde float64) float64 { + return saturnConjunction(jde, 270, 1) +} + +func LastSaturnWesternQuadrature(jde float64) float64 { + return saturnConjunction(jde, 270, 0) +} + +func saturnRetrograde(jde float64, isLeft bool) float64 { + //0=last 1=next + decSub := func(jde float64, val float64) float64 { + sub := SaturnApparentRa(jde+val) - SaturnApparentRa(jde-val) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub / (2 * val) + } + jde = NextSaturnOpposition(jde) + if isLeft { + jde -= 60 + } else { + jde += 60 + } + for { + nowSub := decSub(jde, 1.0/86400.0) + if math.Abs(nowSub) > 0.55 { + jde += 2 + continue + } + break + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0, 2.0/86400.0) + stDegreep := (decSub(JD0+15.0/86400.0, 2.0/86400.0) - decSub(JD0-15.0/86400.0, 2.0/86400.0)) / (30.0 / 86400.0) + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 30.0/86400.0 { + break + } + } + JD1 = JD1 - 15.0/86400.0 + min := JD1 + minRa := 100.0 + for i := 0.0; i < 60.0; i++ { + tmp := decSub(JD1+i*0.5/86400.0, 0.5/86400.0) + if math.Abs(tmp) < math.Abs(minRa) { + minRa = tmp + min = JD1 + i*0.5/86400.0 + } + } + return TD2UT(min, false) +} + +func NextSaturnRetrogradeToPrograde(jde float64) float64 { + date := saturnRetrograde(jde, false) + if date < jde { + op := NextSaturnOpposition(jde) + return saturnRetrograde(op+10, false) + } + return date +} + +func LastSaturnRetrogradeToPrograde(jde float64) float64 { + jde = LastSaturnOpposition(jde) - 10 + date := saturnRetrograde(jde, false) + if date > jde { + op := LastSaturnOpposition(jde) + return saturnRetrograde(op-10, false) + } + return date +} + +func NextSaturnProgradeToRetrograde(jde float64) float64 { + date := saturnRetrograde(jde, true) + if date < jde { + op := NextSaturnOpposition(jde) + return saturnRetrograde(op+10, true) + } + return date +} + +func LastSaturnProgradeToRetrograde(jde float64) float64 { + jde = LastSaturnOpposition(jde) - 10 + date := saturnRetrograde(jde, true) + if date > jde { + op := LastSaturnOpposition(jde) + return saturnRetrograde(op-10, true) + } + return date +} diff --git a/basic/saturn_test.go b/basic/saturn_test.go new file mode 100644 index 0000000..7122cc3 --- /dev/null +++ b/basic/saturn_test.go @@ -0,0 +1,13 @@ +package basic + +import ( + "fmt" + "testing" +) + +func TestSaturn(t *testing.T) { + jde := GetNowJDE() - 6000 + for i := 0.00; i < 20; i++ { + fmt.Println(jde+i*365, JDE2Date(jde+i*365), JDE2Date(LastSaturnProgradeToRetrograde(jde+i*365))) + } +} diff --git a/basic/star.go b/basic/star.go index 5eda892..eddebd6 100644 --- a/basic/star.go +++ b/basic/star.go @@ -150,7 +150,7 @@ func StarCulminationTime(jde, ra, lon, timezone float64) float64 { for { JD0 := JD1 stDegree := limitStarHA(JD0, ra, lon, timezone) - 360 - stDegreep := (limitStarHA(JD0+0.000005, ra, lon, timezone) - SunHeight(JD0-0.000005, ra, lon, timezone)) / 0.00001 + stDegreep := (limitStarHA(JD0+0.000005, ra, lon, timezone) - limitStarHA(JD0-0.000005, ra, lon, timezone)) / 0.00001 JD1 = JD0 - stDegree/stDegreep if math.Abs(JD1-JD0) <= 0.00001 { break @@ -158,3 +158,15 @@ func StarCulminationTime(jde, ra, lon, timezone float64) float64 { } return JD1 } + +func StarAngularSeparation(ra1, dec1, ra2, dec2 float64) float64 { + //cos(d)=sinδ1 sinδ2 + cosδ1 cosδ2 cos(α1-α2) + d := Sin(dec1)*Sin(dec2) + Cos(dec1)*Cos(dec2)*Cos(ra1-ra2) + if math.Abs(d) >= 0.999999997 { + //d = √(Δα*cosδ)2+(Δδ)2 + tmp1 := ((ra1 - ra2) * Cos((dec1+dec2)/2)) + tmp2 := (dec1 - dec2) + return math.Sqrt(tmp1*tmp1 + tmp2*tmp2) + } + return ArcCos(d) +} diff --git a/basic/star_test.go b/basic/star_test.go index b85311f..687c156 100644 --- a/basic/star_test.go +++ b/basic/star_test.go @@ -20,3 +20,8 @@ func Test_Star(t *testing.T) { fmt.Println("Sirius CulminationTime:", JDE2Date(StarCulminationTime(date, 101.529, 113.568, 8.0))) fmt.Println("Sirius DownTime:", JDE2Date(StarDownTime(date, 101.529, -16.8, 113.568, 22.5, 0, 8.0, true))) } + +func TestZB(t *testing.T) { + jde := GetNowJDE() + fmt.Println(LoBoToRaDec(jde, 156, 0)) +} diff --git a/basic/sun.go b/basic/sun.go index c49a332..13f4ed4 100644 --- a/basic/sun.go +++ b/basic/sun.go @@ -838,18 +838,7 @@ func SunApparentLo(JD float64) float64 { //'太阳视黄经 } func SunApparentRa(JD float64) float64 { // '太阳视赤经 - T := (JD - 2451545) / 36525 - sitas := Sita(JD) + 0.00256*Cos(125.04-1934.136*T) - SunApparentRa := ArcTan(Cos(sitas) * Sin(SunApparentLo(JD)) / Cos(SunApparentLo(JD))) - tmp := SunApparentLo(JD) - if tmp >= 90 && tmp < 180 { - SunApparentRa = 180 + SunApparentRa - } else if tmp >= 180 && tmp < 270 { - SunApparentRa = 180 + SunApparentRa - } else if tmp >= 270 && tmp <= 360 { - SunApparentRa = 360 + SunApparentRa - } - return SunApparentRa + return LoToRa(JD, SunApparentLo(JD), 0) } func SunTrueRa(JD float64) float64 { //'太阳真赤经 @@ -934,35 +923,11 @@ func EarthAway(JD float64) float64 { } func HSunApparentRaDec(JD float64) (float64, float64) { - T := (JD - 2451545) / 36525 - sitas := Sita(JD) + 0.00256*Cos(125.04-1934.136*T) - sitas2 := EclipticObliquity(JD, false) + 0.00256*Cos(125.04-1934.136*T) - tmp := HSunApparentLo(JD) - HSunApparentRa := ArcTan(Cos(sitas) * Sin(tmp) / Cos(tmp)) - HSunApparentDec := ArcSin(Sin(sitas2) * Sin(tmp)) - if tmp >= 90 && tmp < 180 { - HSunApparentRa = 180 + HSunApparentRa - } else if tmp >= 180 && tmp < 270 { - HSunApparentRa = 180 + HSunApparentRa - } else if tmp >= 270 && tmp <= 360 { - HSunApparentRa = 360 + HSunApparentRa - } - return HSunApparentRa, HSunApparentDec + return LoBoToRaDec(JD, HSunApparentLo(JD), HSunTrueBo(JD)) } func HSunApparentRa(JD float64) float64 { // '太阳视赤经 - T := (JD - 2451545) / 36525 - sitas := Sita(JD) + 0.00256*Cos(125.04-1934.136*T) - tmp := HSunApparentLo(JD) - HSunApparentRa := ArcTan(Cos(sitas) * Sin(tmp) / Cos(tmp)) - if tmp >= 90 && tmp < 180 { - HSunApparentRa = 180 + HSunApparentRa - } else if tmp >= 180 && tmp < 270 { - HSunApparentRa = 180 + HSunApparentRa - } else if tmp >= 270 && tmp <= 360 { - HSunApparentRa = 360 + HSunApparentRa - } - return HSunApparentRa + return LoToRa(JD, HSunApparentLo(JD), HSunTrueBo(JD)) } func HSunTrueRa(JD float64) float64 { //'太阳真赤经 @@ -1030,10 +995,10 @@ func GetOneYearMoon(year float64) map[int]float64 { } return moon } -func GetOneYearJQ(year int) map[int]float64 { +func GetOneYearJQ(year int) []float64 { start := 270 var years int - jq := make(map[int]float64) + jq := make([]float64, 26) for i := 1; i < 26; i++ { angle := start + 15*(i-1) if angle > 360 { @@ -1047,6 +1012,7 @@ func GetOneYearJQ(year int) map[int]float64 { jq[i] = GetJQTime(years, angle) + 8.0/24.0 // echo DateCalc(jq[i])."
"; } + jq[0] = jq[1] return jq } diff --git a/basic/uranus.go b/basic/uranus.go index af78f98..8fe23eb 100644 --- a/basic/uranus.go +++ b/basic/uranus.go @@ -63,22 +63,22 @@ func AUranusXYZ(JD float64) (float64, float64, float64) { return x, y, z } -func UranusSeeRa(JD float64) float64 { - lo, bo := UranusSeeLoBo(JD) +func UranusApparentRa(JD float64) float64 { + lo, bo := UranusApparentLoBo(JD) sita := Sita(JD) ra := math.Atan2((Sin(lo)*Cos(sita) - Tan(bo)*Sin(sita)), Cos(lo)) ra = ra * 180 / math.Pi return Limit360(ra) } -func UranusSeeDec(JD float64) float64 { - lo, bo := UranusSeeLoBo(JD) +func UranusApparentDec(JD float64) float64 { + lo, bo := UranusApparentLoBo(JD) sita := Sita(JD) dec := ArcSin(Sin(bo)*Cos(sita) + Cos(bo)*Sin(sita)*Sin(lo)) return dec } -func UranusSeeRaDec(JD float64) (float64, float64) { - lo, bo := UranusSeeLoBo(JD) +func UranusApparentRaDec(JD float64) (float64, float64) { + lo, bo := UranusApparentLoBo(JD) sita := Sita(JD) ra := math.Atan2((Sin(lo)*Cos(sita) - Tan(bo)*Sin(sita)), Cos(lo)) ra = ra * 180 / math.Pi @@ -92,7 +92,7 @@ func EarthUranusAway(JD float64) float64 { return to } -func UranusSeeLo(JD float64) float64 { +func UranusApparentLo(JD float64) float64 { x, y, z := AUranusXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = AUranusXYZ(JD - to) @@ -107,7 +107,7 @@ func UranusSeeLo(JD float64) float64 { return lo } -func UranusSeeBo(JD float64) float64 { +func UranusApparentBo(JD float64) float64 { x, y, z := AUranusXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = AUranusXYZ(JD - to) @@ -121,7 +121,7 @@ func UranusSeeBo(JD float64) float64 { return bo } -func UranusSeeLoBo(JD float64) (float64, float64) { +func UranusApparentLoBo(JD float64) (float64, float64) { x, y, z := AUranusXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = AUranusXYZ(JD - to) @@ -145,3 +145,293 @@ func UranusMag(JD float64) float64 { Mag := -7.19 + 5*math.Log10(AwaySun*AwayEarth) + 0.016*i return FloatRound(Mag, 2) } + +func UranusHeight(jde, lon, lat, timezone float64) float64 { + // 转换为世界时 + utcJde := jde - timezone/24.0 + // 计算视恒星时 + ra, dec := UranusApparentRaDec(TD2UT(utcJde, true)) + st := Limit360(ApparentSiderealTime(utcJde)*15 + lon) + // 计算时角 + H := Limit360(st - ra) + // 高度角、时角与天球座标三角转换公式 + // sin(h)=sin(lat)*sin(dec)+cos(dec)*cos(lat)*cos(H) + sinHeight := Sin(lat)*Sin(dec) + Cos(dec)*Cos(lat)*Cos(H) + return ArcSin(sinHeight) +} + +func UranusAzimuth(jde, lon, lat, timezone float64) float64 { + // 转换为世界时 + utcJde := jde - timezone/24.0 + // 计算视恒星时 + ra, dec := UranusApparentRaDec(TD2UT(utcJde, true)) + st := Limit360(ApparentSiderealTime(utcJde)*15 + lon) + // 计算时角 + H := Limit360(st - ra) + // 三角转换公式 + tanAzimuth := Sin(H) / (Cos(H)*Sin(lat) - Tan(dec)*Cos(lat)) + Azimuth := ArcTan(tanAzimuth) + if Azimuth < 0 { + if H/15 < 12 { + return Azimuth + 360 + } + return Azimuth + 180 + } + if H/15 < 12 { + return Azimuth + 180 + } + return Azimuth +} + +func UranusHourAngle(JD, Lon, TZ float64) float64 { + startime := Limit360(ApparentSiderealTime(JD-TZ/24)*15 + Lon) + timeangle := startime - UranusApparentRa(TD2UT(JD-TZ/24.0, true)) + if timeangle < 0 { + timeangle += 360 + } + return timeangle +} + +func UranusCulminationTime(jde, lon, timezone float64) float64 { + //jde 世界时,非力学时,当地时区 0时,无需转换力学时 + //ra,dec 瞬时天球座标,非J2000等时间天球坐标 + jde = math.Floor(jde) + 0.5 + JD1 := jde + Limit360(360-UranusHourAngle(jde, lon, timezone))/15.0/24.0*0.99726851851851851851 + limitHA := func(jde, lon, timezone float64) float64 { + ha := UranusHourAngle(jde, lon, timezone) + if ha < 180 { + ha += 360 + } + return ha + } + for { + JD0 := JD1 + stDegree := limitHA(JD0, lon, timezone) - 360 + stDegreep := (limitHA(JD0+0.000005, lon, timezone) - limitHA(JD0-0.000005, lon, timezone)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return JD1 +} + +func UranusRiseTime(JD, Lon, Lat, TZ, ZS, HEI float64) float64 { + return uranusRiseDown(JD, Lon, Lat, TZ, ZS, HEI, true) +} + +func UranusDownTime(JD, Lon, Lat, TZ, ZS, HEI float64) float64 { + return uranusRiseDown(JD, Lon, Lat, TZ, ZS, HEI, false) +} + +func uranusRiseDown(JD, Lon, Lat, TZ, ZS, HEI float64, isRise bool) float64 { + var An float64 + JD = math.Floor(JD) + 0.5 + ntz := math.Round(Lon / 15) + if ZS != 0 { + An = -0.8333 + } + An = An - HeightDegreeByLat(HEI, Lat) + tztime := UranusCulminationTime(JD, Lon, ntz) + if UranusHeight(tztime, Lon, Lat, ntz) < An { + return -2 //极夜 + } + if UranusHeight(tztime-0.5, Lon, Lat, ntz) > An { + return -1 //极昼 + } + dec := HSunApparentDec(TD2UT(tztime-ntz/24, true)) + //(sin(ho)-sin(φ)*sin(δ2))/(cos(φ)*cos(δ2)) + tmp := (Sin(An) - Sin(dec)*Sin(Lat)) / (Cos(dec) * Cos(Lat)) + var rise float64 + if math.Abs(tmp) <= 1 { + rzsc := ArcCos(tmp) / 15 + if isRise { + rise = tztime - rzsc/24 - 25.0/24.0/60.0 + } else { + rise = tztime + rzsc/24 - 25.0/24.0/60.0 + } + } else { + rise = tztime + i := 0 + //TODO:使用二分法计算 + for UranusHeight(rise, Lon, Lat, ntz) > An { + i++ + if isRise { + rise -= 15.0 / 60.0 / 24.0 + } else { + rise += 15.0 / 60.0 / 24.0 + } + if i > 48 { + break + } + } + } + JD1 := rise + for { + JD0 := JD1 + stDegree := UranusHeight(JD0, Lon, Lat, ntz) - An + stDegreep := (UranusHeight(JD0+0.000005, Lon, Lat, ntz) - UranusHeight(JD0-0.000005, Lon, Lat, ntz)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return JD1 - ntz/24 + TZ/24 +} + +// Pos + +const URANUS_S_PERIOD = 1 / ((1 / 365.256363004) - (1 / 30799.095)) + +func uranusConjunction(jde, degree float64, next uint8) float64 { + //0=last 1=next + decSub := func(jde float64, degree float64, filter bool) float64 { + sub := Limit360(Limit360(UranusApparentLo(jde)-HSunApparentLo(jde)) - degree) + if filter { + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + } + return sub + } + dayCost := URANUS_S_PERIOD / 360 + nowSub := decSub(jde, degree, false) + if next == 0 { + jde -= (360 - nowSub) * dayCost + } else { + jde += dayCost * nowSub + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0, degree, true) + stDegreep := (decSub(JD0+0.000005, degree, true) - decSub(JD0-0.000005, degree, true)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return TD2UT(JD1, false) +} + +func LastUranusConjunction(jde float64) float64 { + return uranusConjunction(jde, 0, 0) +} + +func NextUranusConjunction(jde float64) float64 { + return uranusConjunction(jde, 0, 1) +} + +func LastUranusOpposition(jde float64) float64 { + return uranusConjunction(jde, 180, 0) +} + +func NextUranusOpposition(jde float64) float64 { + return uranusConjunction(jde, 180, 1) +} + +func NextUranusEasternQuadrature(jde float64) float64 { + return uranusConjunction(jde, 90, 1) +} + +func LastUranusEasternQuadrature(jde float64) float64 { + return uranusConjunction(jde, 90, 0) +} + +func NextUranusWesternQuadrature(jde float64) float64 { + return uranusConjunction(jde, 270, 1) +} + +func LastUranusWesternQuadrature(jde float64) float64 { + return uranusConjunction(jde, 270, 0) +} + +func uranusRetrograde(jde float64, isLeft bool) float64 { + //0=last 1=next + decSub := func(jde float64, val float64) float64 { + sub := UranusApparentRa(jde+val) - UranusApparentRa(jde-val) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub / (2 * val) + } + jde = NextUranusOpposition(jde) + if isLeft { + jde -= 60 + } else { + jde += 60 + } + for { + nowSub := decSub(jde, 1.0/86400.0) + if math.Abs(nowSub) > 0.55 { + jde += 2 + continue + } + break + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0, 2.0/86400.0) + stDegreep := (decSub(JD0+15.0/86400.0, 2.0/86400.0) - decSub(JD0-15.0/86400.0, 2.0/86400.0)) / (30.0 / 86400.0) + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 30.0/86400.0 { + break + } + } + JD1 = JD1 - 15.0/86400.0 + min := JD1 + minRa := 100.0 + for i := 0.0; i < 60.0; i++ { + tmp := decSub(JD1+i*0.5/86400.0, 0.5/86400.0) + if math.Abs(tmp) < math.Abs(minRa) { + minRa = tmp + min = JD1 + i*0.5/86400.0 + } + } + return TD2UT(min, false) +} + +func NextUranusRetrogradeToPrograde(jde float64) float64 { + date := uranusRetrograde(jde, false) + if date < jde { + op := NextUranusOpposition(jde) + return uranusRetrograde(op+10, false) + } + return date +} + +func LastUranusRetrogradeToPrograde(jde float64) float64 { + jde = LastUranusOpposition(jde) - 10 + date := uranusRetrograde(jde, false) + if date > jde { + op := LastUranusOpposition(jde) + return uranusRetrograde(op-10, false) + } + return date +} + +func NextUranusProgradeToRetrograde(jde float64) float64 { + date := uranusRetrograde(jde, true) + if date < jde { + op := NextUranusOpposition(jde) + return uranusRetrograde(op+10, true) + } + return date +} + +func LastUranusProgradeToRetrograde(jde float64) float64 { + jde = LastUranusOpposition(jde) - 10 + date := uranusRetrograde(jde, true) + if date > jde { + op := LastUranusOpposition(jde) + return uranusRetrograde(op-10, true) + } + return date +} diff --git a/basic/venus.go b/basic/venus.go index 04b26f9..71498bc 100644 --- a/basic/venus.go +++ b/basic/venus.go @@ -63,22 +63,22 @@ func AVenusXYZ(JD float64) (float64, float64, float64) { return x, y, z } -func VenusSeeRa(JD float64) float64 { - lo, bo := VenusSeeLoBo(JD) +func VenusApparentRa(JD float64) float64 { + lo, bo := VenusApparentLoBo(JD) sita := Sita(JD) ra := math.Atan2((Sin(lo)*Cos(sita) - Tan(bo)*Sin(sita)), Cos(lo)) ra = ra * 180 / math.Pi return Limit360(ra) } -func VenusSeeDec(JD float64) float64 { - lo, bo := VenusSeeLoBo(JD) +func VenusApparentDec(JD float64) float64 { + lo, bo := VenusApparentLoBo(JD) sita := Sita(JD) dec := ArcSin(Sin(bo)*Cos(sita) + Cos(bo)*Sin(sita)*Sin(lo)) return dec } -func VenusSeeRaDec(JD float64) (float64, float64) { - lo, bo := VenusSeeLoBo(JD) +func VenusApparentRaDec(JD float64) (float64, float64) { + lo, bo := VenusApparentLoBo(JD) sita := Sita(JD) ra := math.Atan2((Sin(lo)*Cos(sita) - Tan(bo)*Sin(sita)), Cos(lo)) ra = ra * 180 / math.Pi @@ -92,7 +92,7 @@ func EarthVenusAway(JD float64) float64 { return to } -func VenusSeeLo(JD float64) float64 { +func VenusApparentLo(JD float64) float64 { x, y, z := AVenusXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = AVenusXYZ(JD - to) @@ -107,7 +107,7 @@ func VenusSeeLo(JD float64) float64 { return lo } -func VenusSeeBo(JD float64) float64 { +func VenusApparentBo(JD float64) float64 { x, y, z := AVenusXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = AVenusXYZ(JD - to) @@ -121,7 +121,7 @@ func VenusSeeBo(JD float64) float64 { return bo } -func VenusSeeLoBo(JD float64) (float64, float64) { +func VenusApparentLoBo(JD float64) (float64, float64) { x, y, z := AVenusXYZ(JD) to := 0.0057755183 * math.Sqrt(x*x+y*y+z*z) x, y, z = AVenusXYZ(JD - to) @@ -145,3 +145,471 @@ func VenusMag(JD float64) float64 { Mag := -4.40 + 5*math.Log10(AwaySun*AwayEarth) + 0.0009*i + 0.000239*i*i - 0.00000065*i*i*i return FloatRound(Mag, 2) } + +func VenusHeight(jde, lon, lat, timezone float64) float64 { + // 转换为世界时 + utcJde := jde - timezone/24.0 + // 计算视恒星时 + ra, dec := VenusApparentRaDec(TD2UT(utcJde, true)) + st := Limit360(ApparentSiderealTime(utcJde)*15 + lon) + // 计算时角 + H := Limit360(st - ra) + // 高度角、时角与天球座标三角转换公式 + // sin(h)=sin(lat)*sin(dec)+cos(dec)*cos(lat)*cos(H) + sinHeight := Sin(lat)*Sin(dec) + Cos(dec)*Cos(lat)*Cos(H) + return ArcSin(sinHeight) +} + +func VenusAzimuth(jde, lon, lat, timezone float64) float64 { + // 转换为世界时 + utcJde := jde - timezone/24.0 + // 计算视恒星时 + ra, dec := VenusApparentRaDec(TD2UT(utcJde, true)) + st := Limit360(ApparentSiderealTime(utcJde)*15 + lon) + // 计算时角 + H := Limit360(st - ra) + // 三角转换公式 + tanAzimuth := Sin(H) / (Cos(H)*Sin(lat) - Tan(dec)*Cos(lat)) + Azimuth := ArcTan(tanAzimuth) + if Azimuth < 0 { + if H/15 < 12 { + return Azimuth + 360 + } + return Azimuth + 180 + } + if H/15 < 12 { + return Azimuth + 180 + } + return Azimuth +} + +func VenusHourAngle(JD, Lon, TZ float64) float64 { + startime := Limit360(ApparentSiderealTime(JD-TZ/24)*15 + Lon) + timeangle := startime - VenusApparentRa(TD2UT(JD-TZ/24.0, true)) + if timeangle < 0 { + timeangle += 360 + } + return timeangle +} + +func VenusCulminationTime(jde, lon, timezone float64) float64 { + //jde 世界时,非力学时,当地时区 0时,无需转换力学时 + //ra,dec 瞬时天球座标,非J2000等时间天球坐标 + jde = math.Floor(jde) + 0.5 + JD1 := jde + Limit360(360-VenusHourAngle(jde, lon, timezone))/15.0/24.0*0.99726851851851851851 + limitHA := func(jde, lon, timezone float64) float64 { + ha := VenusHourAngle(jde, lon, timezone) + if ha < 180 { + ha += 360 + } + return ha + } + for { + JD0 := JD1 + stDegree := limitHA(JD0, lon, timezone) - 360 + stDegreep := (limitHA(JD0+0.000005, lon, timezone) - limitHA(JD0-0.000005, lon, timezone)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return JD1 +} + +func VenusRiseTime(JD, Lon, Lat, TZ, ZS, HEI float64) float64 { + return venusRiseDown(JD, Lon, Lat, TZ, ZS, HEI, true) +} + +func VenusDownTime(JD, Lon, Lat, TZ, ZS, HEI float64) float64 { + return venusRiseDown(JD, Lon, Lat, TZ, ZS, HEI, false) +} + +func venusRiseDown(JD, Lon, Lat, TZ, ZS, HEI float64, isRise bool) float64 { + var An float64 + JD = math.Floor(JD) + 0.5 + ntz := math.Round(Lon / 15) + if ZS != 0 { + An = -0.8333 + } + An = An - HeightDegreeByLat(HEI, Lat) + tztime := VenusCulminationTime(JD, Lon, ntz) + if VenusHeight(tztime, Lon, Lat, ntz) < An { + return -2 //极夜 + } + if VenusHeight(tztime-0.5, Lon, Lat, ntz) > An { + return -1 //极昼 + } + dec := HSunApparentDec(TD2UT(tztime-ntz/24, true)) + //(sin(ho)-sin(φ)*sin(δ2))/(cos(φ)*cos(δ2)) + tmp := (Sin(An) - Sin(dec)*Sin(Lat)) / (Cos(dec) * Cos(Lat)) + var rise float64 + if math.Abs(tmp) <= 1 { + rzsc := ArcCos(tmp) / 15 + if isRise { + rise = tztime - rzsc/24 - 25.0/24.0/60.0 + } else { + rise = tztime + rzsc/24 - 25.0/24.0/60.0 + } + } else { + rise = tztime + i := 0 + //TODO:使用二分法计算 + for VenusHeight(rise, Lon, Lat, ntz) > An { + i++ + if isRise { + rise -= 15.0 / 60.0 / 24.0 + } else { + rise += 15.0 / 60.0 / 24.0 + } + if i > 48 { + break + } + } + } + JD1 := rise + for { + JD0 := JD1 + stDegree := VenusHeight(JD0, Lon, Lat, ntz) - An + stDegreep := (VenusHeight(JD0+0.000005, Lon, Lat, ntz) - VenusHeight(JD0-0.000005, Lon, Lat, ntz)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return JD1 - ntz/24 + TZ/24 +} + +// Pos + +const VENUS_S_PERIOD = 1 / ((1 / 224.701) - (1 / 365.256363004)) + +func venusConjunction(jde float64, next uint8) float64 { + //0=last 1=next + decSub := func(jde float64) float64 { + sub := Limit360(VenusApparentLo(jde) - HSunApparentLo(jde)) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub + } + nowSub := decSub(jde) + pos := math.Abs(decSub(jde+1/86400.0)) - math.Abs(nowSub) + if pos >= 0 && next == 1 && nowSub > 0 { + jde += VENUS_S_PERIOD/8.0 + 2 + } + if pos >= 0 && next == 1 && nowSub < 0 { + jde += VENUS_S_PERIOD/6.0 + 2 + } + if pos <= 0 && next == 0 && nowSub < 0 { + jde -= VENUS_S_PERIOD/8.0 + 2 + } + if pos <= 0 && next == 0 && nowSub > 0 { + jde -= VENUS_S_PERIOD/6.0 + 2 + } + for { + nowSub := decSub(jde) + pos := math.Abs(decSub(jde+1/86400.0)) - math.Abs(nowSub) + if math.Abs(nowSub) > 24 || (pos > 0 && next == 1) || (pos < 0 && next == 0) { + if next == 1 { + jde += 8 + } else { + jde -= 8 + } + continue + } + break + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0) + stDegreep := (decSub(JD0+0.000005) - decSub(JD0-0.000005)) / 0.00001 + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 0.00001 { + break + } + } + return TD2UT(JD1, false) +} + +func LastVenusConjunction(jde float64) float64 { + return venusConjunction(jde, 0) +} + +func NextVenusConjunction(jde float64) float64 { + return venusConjunction(jde, 1) +} + +func NextVenusInferiorConjunction(jde float64) float64 { + date := NextVenusConjunction(jde) + if EarthVenusAway(date) > EarthAway(date) { + return NextVenusConjunction(date + 2) + } + return date +} + +func NextVenusSuperiorConjunction(jde float64) float64 { + date := NextVenusConjunction(jde) + if EarthVenusAway(date) < EarthAway(date) { + return NextVenusConjunction(date + 2) + } + return date +} + +func LastVenusInferiorConjunction(jde float64) float64 { + date := LastVenusConjunction(jde) + if EarthVenusAway(date) > EarthAway(date) { + return LastVenusConjunction(date - 2) + } + return date +} + +func LastVenusSuperiorConjunction(jde float64) float64 { + date := LastVenusConjunction(jde) + if EarthVenusAway(date) < EarthAway(date) { + return LastVenusConjunction(date - 2) + } + return date +} + +func venusRetrograde(jde float64) float64 { + //0=last 1=next + decSunSub := func(jde float64) float64 { + sub := Limit360(VenusApparentRa(jde) - SunApparentRa(jde)) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub + } + decSub := func(jde float64, val float64) float64 { + sub := VenusApparentRa(jde+val) - VenusApparentRa(jde-val) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub / (2 * val) + } + lastHe := LastVenusConjunction(jde) + nextHe := NextVenusConjunction(jde) + nowSub := decSunSub(jde) + if nowSub > 0 { + jde = lastHe + ((nextHe - lastHe) / 5.0 * 3.5) + } else { + jde = lastHe + 10 + } + for { + nowSub := decSub(jde, 1.0/86400.0) + if math.Abs(nowSub) > 0.5 { + jde += 5 + continue + } + break + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0, 0.5/86400.0) + stDegreep := (decSub(JD0+10.0/86400.0, 0.5/86400.0) - decSub(JD0-10.0/86400.0, 0.5/86400.0)) / (20.0 / 86400.0) + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 20.0/86400.0 { + break + } + } + JD1 = JD1 - 10.0/86400.0 + min := JD1 + minRa := 100.0 + for i := 0.0; i < 40.0; i++ { + tmp := decSub(JD1+i*0.5/86400.0, 0.5/86400.0) + if math.Abs(tmp) < math.Abs(minRa) { + minRa = tmp + min = JD1 + i*0.5/86400.0 + } + } + //fmt.Println((min - lastHe) / (nextHe - lastHe)) + return TD2UT(min, false) +} + +func NextVenusRetrograde(jde float64) float64 { + date := venusRetrograde(jde) + if date < jde { + nextHe := NextVenusConjunction(jde) + return venusRetrograde(nextHe + 2) + } + return date +} + +func LastVenusRetrograde(jde float64) float64 { + lastHe := LastVenusConjunction(jde) + date := venusRetrograde(lastHe + 2) + if date > jde { + lastLastHe := LastVenusConjunction(lastHe - 2) + return venusRetrograde(lastLastHe + 2) + } + return date +} + +func NextVenusProgradeToRetrograde(jde float64) float64 { + date := NextVenusRetrograde(jde) + sub := Limit360(VenusApparentRa(date) - SunApparentRa(date)) + if sub > 180 { + return NextVenusRetrograde(date + VENUS_S_PERIOD/2) + } + return date +} + +func NextVenusRetrogradeToPrograde(jde float64) float64 { + date := NextVenusRetrograde(jde) + sub := Limit360(VenusApparentRa(date) - SunApparentRa(date)) + if sub < 180 { + return NextVenusRetrograde(date + 12) + } + return date +} + +func LastVenusProgradeToRetrograde(jde float64) float64 { + date := LastVenusRetrograde(jde) + sub := Limit360(VenusApparentRa(date) - SunApparentRa(date)) + if sub > 180 { + return LastVenusRetrograde(date - 12) + } + return date +} + +func LastVenusRetrogradeToPrograde(jde float64) float64 { + date := LastVenusRetrograde(jde) + sub := Limit360(VenusApparentRa(date) - SunApparentRa(date)) + if sub < 180 { + return LastVenusRetrograde(date - VENUS_S_PERIOD/2) + } + return date +} + +func VenusSunElongation(jde float64) float64 { + lo1, bo1 := VenusApparentLoBo(jde) + lo2 := SunApparentLo(jde) + bo2 := HSunTrueBo(jde) + return StarAngularSeparation(lo1, bo1, lo2, bo2) +} +func venusGreatestElongation(jde float64) float64 { + decSunSub := func(jde float64) float64 { + sub := Limit360(VenusApparentRa(jde) - SunApparentRa(jde)) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub + } + decSub := func(jde float64, val float64) float64 { + sub := VenusSunElongation(jde+val) - VenusSunElongation(jde-val) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub / (2 * val) + } + lastHe := LastVenusConjunction(jde) + nextHe := NextVenusConjunction(jde) + nowSub := decSunSub(jde) + if nowSub > 0 { + jde = lastHe + ((nextHe - lastHe) / 5.0 * 2.5) + } else { + jde = lastHe + ((nextHe - lastHe) / 5.0) + } + for { + nowSub := decSub(jde, 1.0/86400.0) + if math.Abs(nowSub) > 0.15 { + jde += 5 + continue + } + break + } + JD1 := jde + for { + JD0 := JD1 + stDegree := decSub(JD0, 2.0/86400.0) + stDegreep := (decSub(JD0+15.0/86400.0, 2.0/86400.0) - decSub(JD0-15.0/86400.0, 2.0/86400.0)) / (30.0 / 86400.0) + JD1 = JD0 - stDegree/stDegreep + if math.Abs(JD1-JD0) <= 30.0/86400.0 { + break + } + } + JD1 = JD1 - 15.0/86400.0 + min := JD1 + minRa := 100.0 + for i := 0.0; i < 60.0; i++ { + tmp := decSub(JD1+i*0.5/86400.0, 0.5/86400.0) + if math.Abs(tmp) < math.Abs(minRa) { + minRa = tmp + min = JD1 + i*0.5/86400.0 + } + } + //fmt.Println((min - lastHe) / (nextHe - lastHe)) + return TD2UT(min, false) +} + +func NextVenusGreatestElongation(jde float64) float64 { + date := venusGreatestElongation(jde) + if date < jde { + nextHe := NextVenusConjunction(jde) + return venusGreatestElongation(nextHe + 2) + } + return date +} + +func LastVenusGreatestElongation(jde float64) float64 { + lastHe := LastVenusConjunction(jde) + date := venusGreatestElongation(lastHe + 2) + if date > jde { + lastLastHe := LastVenusConjunction(lastHe - 2) + return venusGreatestElongation(lastLastHe + 2) + } + return date +} + +func NextVenusGreatestElongationEast(jde float64) float64 { + date := NextVenusGreatestElongation(jde) + sub := Limit360(VenusApparentRa(date) - SunApparentRa(date)) + if sub > 180 { + return NextVenusGreatestElongation(date + 1) + } + return date +} + +func NextVenusGreatestElongationWest(jde float64) float64 { + date := NextVenusGreatestElongation(jde) + sub := Limit360(VenusApparentRa(date) - SunApparentRa(date)) + if sub < 180 { + return NextVenusGreatestElongation(date + 1) + } + return date +} + +func LastVenusGreatestElongationEast(jde float64) float64 { + date := LastVenusGreatestElongation(jde) + sub := Limit360(VenusApparentRa(date) - SunApparentRa(date)) + if sub > 180 { + return LastVenusGreatestElongation(date - 1) + } + return date +} + +func LastVenusGreatestElongationWest(jde float64) float64 { + date := LastVenusGreatestElongation(jde) + sub := Limit360(VenusApparentRa(date) - SunApparentRa(date)) + if sub < 180 { + return LastVenusGreatestElongation(date - 1) + } + return date +} diff --git a/basic/venus_test.go b/basic/venus_test.go new file mode 100644 index 0000000..322145c --- /dev/null +++ b/basic/venus_test.go @@ -0,0 +1,37 @@ +package basic + +import ( + "fmt" + "testing" +) + +func TestVenus(t *testing.T) { + jde := 2.4597161573032406e+06 - 720 + /* + fmt.Println(JDE2Date(VenusCulminationTime(jde, 115, 8))) + fmt.Println(JDE2Date(VenusRiseTime(jde, 115, 23, 8, 0, 0))) + fmt.Println(JDE2Date(VenusDownTime(jde, 115, 23, 8, 0, 0))) + fmt.Println("----------------") + */ + //LastVenusConjunction(2.4596600340162036e+06) + //fmt.Println(2.4590359532407406e+06, JDE2Date(2.4590359532407406e+06), JDE2Date(NextVenusRetrograde(2.4590359532407406e+06))) + //fmt.Println(jde) + ///fmt.Println(MarsTrueLoBo(jde)) + //fmt.Println((jde-2451545)/36525, JDE2Date(0.2293425175054224*36525+2451545)) + + decSub := func(jde float64, val float64) float64 { + sub := VenusSunElongation(jde+val) - VenusSunElongation(jde-val) + if sub > 180 { + sub -= 360 + } + if sub < -180 { + sub += 360 + } + return sub / (2 * val) + } + _ = decSub + for i := 0.00; i < 1800.0; i += 50 { + fmt.Println(jde+i, JDE2Date(jde+i), JDE2Date(LastVenusGreatestElongationWest(jde+i))) + //fmt.Println(decSub(jde+i, 1.0/86400.0)) + } +} diff --git a/calendar/chinese.go b/calendar/chinese.go index 07f4429..07c0f94 100644 --- a/calendar/chinese.go +++ b/calendar/chinese.go @@ -34,27 +34,47 @@ const ( ) // Lunar 公历转农历 -// 传入 公历年月日 +// 传入 公历年月日,时区 // 返回 农历月,日,是否闰月以及文字描述 -func Lunar(year, month, day int) (int, int, bool, string) { - return basic.GetLunar(year, month, day, 8.0/24.0) +// 按现行农历GB/T 33661-2017算法计算,推荐使用年限为[1929-3000]年 +// 古代由于定朔定气误差此处计算会与古时不符 +func Lunar(year, month, day int, timezone float64) (int, int, bool, string) { + return basic.GetLunar(year, month, day, timezone) +} + +// Solar 农历转公历 +// 传入 农历年份,月,日,是否闰月,时区 +// 传出 公历时间 +// 农历年份用公历年份代替,但是岁首需要使用农历岁首 +// 例:计算己亥猪年腊月三十日对应的公历(即2020年1月24日) +// 由于农历还未到鼠年,故应当传入Solar(2019,12,30,false) +// 按现行农历GB/T 33661-2017算法计算,推荐使用年限为[1929-3000]年 +// 古代由于定朔定气误差此处计算会与古时不符 +func Solar(year, month, day int, leap bool, timezone float64) time.Time { + jde := basic.GetSolar(year, month, day, leap, timezone/24.0) + zone := time.FixedZone("CST", int(timezone*3600)) + return basic.JDE2DateByZone(jde, zone, true) } -// ChineseLunar 公历转农历 +// SolarToLunar 公历转农历 // 传入 公历年月日 // 返回 农历月,日,是否闰月以及文字描述 // 忽略时区,日期一律按北京时间计算 -func ChineseLunar(date time.Time) (int, int, bool, string) { +// 按现行农历GB/T 33661-2017算法计算,推荐使用年限为[1929-3000]年 +// 古代由于定朔定气误差此处计算会与古时不符 +func SolarToLunar(date time.Time) (int, int, bool, string) { return basic.GetLunar(date.Year(), int(date.Month()), date.Day(), 8.0/24.0) } -// Solar 农历转公历 +// LunarToSolar 农历转公历 // 传入 农历年份,月,日,是否闰月 // 传出 公历时间 // 农历年份用公历年份代替,但是岁首需要使用农历岁首 // 例:计算己亥猪年腊月三十日对应的公历(即2020年1月24日) // 由于农历还未到鼠年,故应当传入Solar(2019,12,30,false) -func Solar(year, month, day int, leap bool) time.Time { +// 按现行农历GB/T 33661-2017算法计算,推荐使用年限为[1929-3000]年 +// 古代由于定朔定气误差此处计算会与古时不符 +func LunarToSolar(year, month, day int, leap bool) time.Time { jde := basic.GetSolar(year, month, day, leap, 8.0/24.0) zone := time.FixedZone("CST", 8*3600) return basic.JDE2DateByZone(jde, zone, true) diff --git a/jupiter/jupiter.go b/jupiter/jupiter.go index d7c75dd..2775320 100644 --- a/jupiter/jupiter.go +++ b/jupiter/jupiter.go @@ -2,69 +2,239 @@ package jupiter import ( "b612.me/astro/basic" + "b612.me/astro/calendar" "b612.me/astro/planet" + "errors" + "time" ) -/* - 木星视黄经 - jde: 世界时UTC -*/ -func SeeLo(jde float64) float64 { - return basic.JupiterSeeLo(basic.TD2UT(jde, true)) +var ( + ERR_JUPITER_NEVER_RISE = errors.New("ERROR:极夜,木星今日永远在地平线下!") + ERR_JUPITER_NEVER_DOWN = errors.New("ERROR:极昼,木星今日永远在地平线上!") +) + +// ApparentLo 视黄经 +func ApparentLo(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.JupiterApparentLo(basic.TD2UT(jde, true)) } -/* - 木星视黄纬 - jde: 世界时UTC -*/ -func SeeBo(jde float64) float64 { - return basic.JupiterSeeBo(basic.TD2UT(jde, true)) +// ApparentBo 视黄纬 +func ApparentBo(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.JupiterApparentBo(basic.TD2UT(jde, true)) } -/* - 木星视赤经 - jde: 世界时UTC -*/ -func SeeRa(jde float64) float64 { - return basic.JupiterSeeRa(basic.TD2UT(jde, true)) +// ApparentRa 视赤经 +func ApparentRa(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.JupiterApparentRa(basic.TD2UT(jde, true)) } -/* - 木星视赤纬 - jde: 世界时UTC -*/ -func SeeDec(jde float64) float64 { - return basic.JupiterSeeDec(basic.TD2UT(jde, true)) +// ApparentDec 视赤纬 +func ApparentDec(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.JupiterApparentDec(basic.TD2UT(jde, true)) } -/* - 木星视赤经赤纬 - jde: 世界时UTC -*/ -func SeeRaDec(jde float64) (float64, float64) { - return basic.JupiterSeeRaDec(basic.TD2UT(jde, true)) +// ApparentRaDec 视赤经赤纬 +func ApparentRaDec(date time.Time) (float64, float64) { + jde := calendar.Date2JDE(date) + return basic.JupiterApparentRaDec(basic.TD2UT(jde, true)) } -/* - 木星视星等 - jde: 世界时UTC -*/ -func SeeMag(jde float64) float64 { +// ApparentMagnitude 视星等 +func ApparentMagnitude(date time.Time) float64 { + jde := calendar.Date2JDE(date) return basic.JupiterMag(basic.TD2UT(jde, true)) } -/* - 与地球距离(天文单位) - jde: 世界时UTC -*/ -func EarthAway(jde float64) float64 { +// EarthDistance 与地球距离(天文单位) +func EarthDistance(date time.Time) float64 { + jde := calendar.Date2JDE(date) return basic.EarthJupiterAway(basic.TD2UT(jde, true)) } -/* - 与太阳距离(天文单位) - jde: 世界时UTC -*/ -func SunAway(jde float64) float64 { - return planet.WherePlanet(1, 2, basic.TD2UT(jde, true)) +// EarthDistance 与太阳距离(天文单位) +func SunDistance(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return planet.WherePlanet(4, 2, basic.TD2UT(jde, true)) +} + +// Zenith 高度角 +func Zenith(date time.Time, lon, lat float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.JupiterHeight(jde, lon, lat, timezone) +} + +// Azimuth 方位角 +func Azimuth(date time.Time, lon, lat float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.JupiterAzimuth(jde, lon, lat, timezone) +} + +// HourAngle 时角 +// 返回给定经纬度、对应date时区date时刻的时角( +func HourAngle(date time.Time, lon float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.JupiterHourAngle(jde, lon, timezone) +} + +// CulminationTime 中天时间 +// 返回给定经纬度、对应date时区date时刻的中天日期 +func CulminationTime(date time.Time, lon float64) time.Time { + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + calcJde := basic.JupiterCulminationTime(jde, lon, timezone) - timezone/24.00 + return basic.JDE2DateByZone(calcJde, date.Location(), false) +} + +// RiseTime 升起时间 +// date,取日期,时区忽略 +// lon,经度,东正西负 +// lat,纬度,北正南负 +// height,高度 +// aero,true时进行大气修正 +func RiseTime(date time.Time, lon, lat, height float64, aero bool) (time.Time, error) { + var err error + var aeroFloat float64 + if aero { + aeroFloat = 1 + } + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + riseJde := basic.JupiterRiseTime(jde, lon, lat, timezone, aeroFloat, height) + if riseJde == -2 { + err = ERR_JUPITER_NEVER_RISE + } + if riseJde == -1 { + err = ERR_JUPITER_NEVER_DOWN + } + return basic.JDE2DateByZone(riseJde, date.Location(), true), err +} + +// DownTime 落下时间 +// date,取日期,时区忽略 +// lon,经度,东正西负 +// lat,纬度,北正南负 +// height,高度 +// aero,true时进行大气修正 +func DownTime(date time.Time, lon, lat, height float64, aero bool) (time.Time, error) { + var err error + var aeroFloat float64 + if aero { + aeroFloat = 1 + } + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + riseJde := basic.JupiterDownTime(jde, lon, lat, timezone, aeroFloat, height) + if riseJde == -2 { + err = ERR_JUPITER_NEVER_RISE + } + if riseJde == -1 { + err = ERR_JUPITER_NEVER_DOWN + } + return basic.JDE2DateByZone(riseJde, date.Location(), true), err +} + +// LastConjunction 上次合日时间 +// 返回上次合日时间 +func LastConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastJupiterConjunction(jde), date.Location(), false) +} + +// NextConjunction 下次合日时间 +// 返回下次合日时间 +func NextConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextJupiterConjunction(jde), date.Location(), false) +} + +// LastOpposition 上次冲日时间 +// 返回上次冲日时间 +func LastOpposition(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastJupiterOpposition(jde), date.Location(), false) +} + +// NextOpposition 下次冲日时间 +// 返回下次冲日时间 +func NextOpposition(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextJupiterOpposition(jde), date.Location(), false) +} + +// LastProgradeToRetrograde 上次留(顺转逆) +// 返回上次顺转逆留的时间 +func LastProgradeToRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastJupiterProgradeToRetrograde(jde), date.Location(), false) +} + +// NextProgradeToRetrograde 下次留(顺转逆) +// 返回下次顺转逆留的时间 +func NextProgradeToRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextJupiterProgradeToRetrograde(jde), date.Location(), false) +} + +// LastRetrogradeToPrograde 上次留(逆转瞬) +// 返回上次逆转瞬留的时间 +func LastRetrogradeToPrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastJupiterRetrogradeToPrograde(jde), date.Location(), false) +} + +// NextRetrogradeToPrograde 上次留(逆转瞬) +//// 返回上次逆转瞬留的时间 +func NextRetrogradeToPrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextJupiterRetrogradeToPrograde(jde), date.Location(), false) +} + +// LastEasternQuadrature 上次东方照时间 +// 返回上次东方照时间 +func LastEasternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastJupiterEasternQuadrature(jde), date.Location(), false) +} + +// NextEasternQuadrature 下次东方照时间 +// 返回下次东方照时间 +func NextEasternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextJupiterEasternQuadrature(jde), date.Location(), false) +} + +// LastWesternQuadrature 上次西方照时间 +// 返回上次西方照时间 +func LastWesternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastJupiterWesternQuadrature(jde), date.Location(), false) +} + +// NextWesternQuadrature 下次西方照时间 +// 返回下次西方照时间 +func NextWesternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextJupiterWesternQuadrature(jde), date.Location(), false) } diff --git a/mars/mars.go b/mars/mars.go index b8af362..c65befb 100644 --- a/mars/mars.go +++ b/mars/mars.go @@ -2,69 +2,239 @@ package mars import ( "b612.me/astro/basic" + "b612.me/astro/calendar" "b612.me/astro/planet" + "errors" + "time" ) -/* - 火星视黄经 - jde: 世界时UTC -*/ -func SeeLo(jde float64) float64 { - return basic.MarsSeeLo(basic.TD2UT(jde, true)) +var ( + ERR_MARS_NEVER_RISE = errors.New("ERROR:极夜,火星今日永远在地平线下!") + ERR_MARS_NEVER_DOWN = errors.New("ERROR:极昼,火星今日永远在地平线上!") +) + +// ApparentLo 视黄经 +func ApparentLo(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.MarsApparentLo(basic.TD2UT(jde, true)) } -/* - 火星视黄纬 - jde: 世界时UTC -*/ -func SeeBo(jde float64) float64 { - return basic.MarsSeeBo(basic.TD2UT(jde, true)) +// ApparentBo 视黄纬 +func ApparentBo(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.MarsApparentBo(basic.TD2UT(jde, true)) } -/* - 火星视赤经 - jde: 世界时UTC -*/ -func SeeRa(jde float64) float64 { - return basic.MarsSeeRa(basic.TD2UT(jde, true)) +// ApparentRa 视赤经 +func ApparentRa(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.MarsApparentRa(basic.TD2UT(jde, true)) } -/* - 火星视赤纬 - jde: 世界时UTC -*/ -func SeeDec(jde float64) float64 { - return basic.MarsSeeDec(basic.TD2UT(jde, true)) +// ApparentDec 视赤纬 +func ApparentDec(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.MarsApparentDec(basic.TD2UT(jde, true)) } -/* - 火星视赤经赤纬 - jde: 世界时UTC -*/ -func SeeRaDec(jde float64) (float64, float64) { - return basic.MarsSeeRaDec(basic.TD2UT(jde, true)) +// ApparentRaDec 视赤经赤纬 +func ApparentRaDec(date time.Time) (float64, float64) { + jde := calendar.Date2JDE(date) + return basic.MarsApparentRaDec(basic.TD2UT(jde, true)) } -/* - 火星视星等 - jde: 世界时UTC -*/ -func SeeMag(jde float64) float64 { +// ApparentMagnitude 视星等 +func ApparentMagnitude(date time.Time) float64 { + jde := calendar.Date2JDE(date) return basic.MarsMag(basic.TD2UT(jde, true)) } -/* - 与地球距离(天文单位) - jde: 世界时UTC -*/ -func EarthAway(jde float64) float64 { +// EarthDistance 与地球距离(天文单位) +func EarthDistance(date time.Time) float64 { + jde := calendar.Date2JDE(date) return basic.EarthMarsAway(basic.TD2UT(jde, true)) } -/* - 与太阳距离(天文单位) - jde: 世界时UTC -*/ -func SunAway(jde float64) float64 { - return planet.WherePlanet(1, 2, basic.TD2UT(jde, true)) +// EarthDistance 与太阳距离(天文单位) +func SunDistance(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return planet.WherePlanet(3, 2, basic.TD2UT(jde, true)) +} + +// Zenith 高度角 +func Zenith(date time.Time, lon, lat float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.MarsHeight(jde, lon, lat, timezone) +} + +// Azimuth 方位角 +func Azimuth(date time.Time, lon, lat float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.MarsAzimuth(jde, lon, lat, timezone) +} + +// HourAngle 时角 +// 返回给定经纬度、对应date时区date时刻的时角( +func HourAngle(date time.Time, lon float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.MarsHourAngle(jde, lon, timezone) +} + +// CulminationTime 中天时间 +// 返回给定经纬度、对应date时区date时刻的中天日期 +func CulminationTime(date time.Time, lon float64) time.Time { + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + calcJde := basic.MarsCulminationTime(jde, lon, timezone) - timezone/24.00 + return basic.JDE2DateByZone(calcJde, date.Location(), false) +} + +// RiseTime 升起时间 +// date,取日期,时区忽略 +// lon,经度,东正西负 +// lat,纬度,北正南负 +// height,高度 +// aero,true时进行大气修正 +func RiseTime(date time.Time, lon, lat, height float64, aero bool) (time.Time, error) { + var err error + var aeroFloat float64 + if aero { + aeroFloat = 1 + } + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + riseJde := basic.MarsRiseTime(jde, lon, lat, timezone, aeroFloat, height) + if riseJde == -2 { + err = ERR_MARS_NEVER_RISE + } + if riseJde == -1 { + err = ERR_MARS_NEVER_DOWN + } + return basic.JDE2DateByZone(riseJde, date.Location(), true), err +} + +// DownTime 落下时间 +// date,取日期,时区忽略 +// lon,经度,东正西负 +// lat,纬度,北正南负 +// height,高度 +// aero,true时进行大气修正 +func DownTime(date time.Time, lon, lat, height float64, aero bool) (time.Time, error) { + var err error + var aeroFloat float64 + if aero { + aeroFloat = 1 + } + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + riseJde := basic.MarsDownTime(jde, lon, lat, timezone, aeroFloat, height) + if riseJde == -2 { + err = ERR_MARS_NEVER_RISE + } + if riseJde == -1 { + err = ERR_MARS_NEVER_DOWN + } + return basic.JDE2DateByZone(riseJde, date.Location(), true), err +} + +// LastConjunction 上次合日时间 +// 返回上次合日时间 +func LastConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastMarsConjunction(jde), date.Location(), false) +} + +// NextConjunction 下次合日时间 +// 返回下次合日时间 +func NextConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextMarsConjunction(jde), date.Location(), false) +} + +// LastOpposition 上次冲日时间 +// 返回上次冲日时间 +func LastOpposition(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastMarsOpposition(jde), date.Location(), false) +} + +// NextOpposition 下次冲日时间 +// 返回下次冲日时间 +func NextOpposition(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextMarsOpposition(jde), date.Location(), false) +} + +// LastProgradeToRetrograde 上次留(顺转逆) +// 返回上次顺转逆留的时间 +func LastProgradeToRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastMarsProgradeToRetrograde(jde), date.Location(), false) +} + +// NextProgradeToRetrograde 下次留(顺转逆) +// 返回下次顺转逆留的时间 +func NextProgradeToRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextMarsProgradeToRetrograde(jde), date.Location(), false) +} + +// LastRetrogradeToPrograde 上次留(逆转瞬) +// 返回上次逆转瞬留的时间 +func LastRetrogradeToPrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastMarsRetrogradeToPrograde(jde), date.Location(), false) +} + +// NextRetrogradeToPrograde 上次留(逆转瞬) +//// 返回上次逆转瞬留的时间 +func NextRetrogradeToPrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextMarsRetrogradeToPrograde(jde), date.Location(), false) +} + +// LastEasternQuadrature 上次东方照时间 +// 返回上次东方照时间 +func LastEasternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastMarsEasternQuadrature(jde), date.Location(), false) +} + +// NextEasternQuadrature 下次东方照时间 +// 返回下次东方照时间 +func NextEasternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextMarsEasternQuadrature(jde), date.Location(), false) +} + +// LastWesternQuadrature 上次西方照时间 +// 返回上次西方照时间 +func LastWesternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastMarsWesternQuadrature(jde), date.Location(), false) +} + +// NextWesternQuadrature 下次西方照时间 +// 返回下次西方照时间 +func NextWesternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextMarsWesternQuadrature(jde), date.Location(), false) } diff --git a/mercury/mercury.go b/mercury/mercury.go index cb51a7e..f125401 100644 --- a/mercury/mercury.go +++ b/mercury/mercury.go @@ -2,69 +2,281 @@ package mercury import ( "b612.me/astro/basic" + "b612.me/astro/calendar" "b612.me/astro/planet" + "errors" + "time" ) -/* - 水星视黄经 - jde: 世界时UTC -*/ -func SeeLo(jde float64) float64 { - return basic.MercurySeeLo(basic.TD2UT(jde, true)) +var ( + ERR_MERCURY_NEVER_RISE = errors.New("ERROR:极夜,水星今日永远在地平线下!") + ERR_MERCURY_NEVER_DOWN = errors.New("ERROR:极昼,水星今日永远在地平线上!") +) + +// ApparentLo 视黄经 +func ApparentLo(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.MercuryApparentLo(basic.TD2UT(jde, true)) } -/* - 水星视黄纬 - jde: 世界时UTC -*/ -func SeeBo(jde float64) float64 { - return basic.MercurySeeBo(basic.TD2UT(jde, true)) +// ApparentBo 视黄纬 +func ApparentBo(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.MercuryApparentBo(basic.TD2UT(jde, true)) } -/* - 水星视赤经 - jde: 世界时UTC -*/ -func SeeRa(jde float64) float64 { - return basic.MercurySeeRa(basic.TD2UT(jde, true)) +// ApparentRa 视赤经 +func ApparentRa(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.MercuryApparentRa(basic.TD2UT(jde, true)) } -/* - 水星视赤纬 - jde: 世界时UTC -*/ -func SeeDec(jde float64) float64 { - return basic.MercurySeeDec(basic.TD2UT(jde, true)) +// ApparentDec 视赤纬 +func ApparentDec(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.MercuryApparentDec(basic.TD2UT(jde, true)) } -/* - 水星视赤经赤纬 - jde: 世界时UTC -*/ -func SeeRaDec(jde float64) (float64, float64) { - return basic.MercurySeeRaDec(basic.TD2UT(jde, true)) +// ApparentRaDec 视赤经赤纬 +func ApparentRaDec(date time.Time) (float64, float64) { + jde := calendar.Date2JDE(date) + return basic.MercuryApparentRaDec(basic.TD2UT(jde, true)) } -/* - 水星视星等 - jde: 世界时UTC -*/ -func SeeMag(jde float64) float64 { +// ApparentMagnitude 视星等 +func ApparentMagnitude(date time.Time) float64 { + jde := calendar.Date2JDE(date) return basic.MercuryMag(basic.TD2UT(jde, true)) } -/* - 与地球距离(天文单位) - jde: 世界时UTC -*/ -func EarthAway(jde float64) float64 { +// EarthDistance 与地球距离(天文单位) +func EarthDistance(date time.Time) float64 { + jde := calendar.Date2JDE(date) return basic.EarthMercuryAway(basic.TD2UT(jde, true)) } -/* - 与太阳距离(天文单位) - jde: 世界时UTC -*/ -func SunAway(jde float64) float64 { +// EarthDistance 与太阳距离(天文单位) +func SunDistance(date time.Time) float64 { + jde := calendar.Date2JDE(date) return planet.WherePlanet(1, 2, basic.TD2UT(jde, true)) } + +// Zenith 高度角 +func Zenith(date time.Time, lon, lat float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.MercuryHeight(jde, lon, lat, timezone) +} + +// Azimuth 方位角 +func Azimuth(date time.Time, lon, lat float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.MercuryAzimuth(jde, lon, lat, timezone) +} + +// HourAngle 时角 +// 返回给定经纬度、对应date时区date时刻的时角( +func HourAngle(date time.Time, lon float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.MercuryHourAngle(jde, lon, timezone) +} + +// CulminationTime 中天时间 +// 返回给定经纬度、对应date时区date时刻的中天日期 +func CulminationTime(date time.Time, lon float64) time.Time { + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + calcJde := basic.MercuryCulminationTime(jde, lon, timezone) - timezone/24.00 + return basic.JDE2DateByZone(calcJde, date.Location(), false) +} + +// RiseTime 升起时间 +// date,取日期,时区忽略 +// lon,经度,东正西负 +// lat,纬度,北正南负 +// height,高度 +// aero,true时进行大气修正 +func RiseTime(date time.Time, lon, lat, height float64, aero bool) (time.Time, error) { + var err error + var aeroFloat float64 + if aero { + aeroFloat = 1 + } + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + riseJde := basic.MercuryRiseTime(jde, lon, lat, timezone, aeroFloat, height) + if riseJde == -2 { + err = ERR_MERCURY_NEVER_RISE + } + if riseJde == -1 { + err = ERR_MERCURY_NEVER_DOWN + } + return basic.JDE2DateByZone(riseJde, date.Location(), true), err +} + +// DownTime 落下时间 +// date,取日期,时区忽略 +// lon,经度,东正西负 +// lat,纬度,北正南负 +// height,高度 +// aero,true时进行大气修正 +func DownTime(date time.Time, lon, lat, height float64, aero bool) (time.Time, error) { + var err error + var aeroFloat float64 + if aero { + aeroFloat = 1 + } + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + riseJde := basic.MercuryDownTime(jde, lon, lat, timezone, aeroFloat, height) + if riseJde == -2 { + err = ERR_MERCURY_NEVER_RISE + } + if riseJde == -1 { + err = ERR_MERCURY_NEVER_DOWN + } + return basic.JDE2DateByZone(riseJde, date.Location(), true), err +} + +// LastConjunction 上次合日时间 +// 返回上次合日时间,不区分上合下合 +func LastConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastMercuryConjunction(jde), date.Location(), false) +} + +// NextConjunction 下次合日时间 +// 返回下次合日时间,不区分上合下合 +func NextConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextMercuryConjunction(jde), date.Location(), false) +} + +// LastInferiorConjunction 上次下合时间 +// 返回上次下合日时间 +func LastInferiorConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastMercuryInferiorConjunction(jde), date.Location(), false) +} + +// NextInferiorConjunction 下次下合时间 +// 返回下次合日时间 +func NextInferiorConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextMercuryInferiorConjunction(jde), date.Location(), false) +} + +// LastSuperiorConjunction 上次上合时间 +// 返回上次下合时间 +func LastSuperiorConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastMercurySuperiorConjunction(jde), date.Location(), false) +} + +// NextSuperiorConjunction 下次上合时间 +// 返回下次上合时间 +func NextSuperiorConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextMercurySuperiorConjunction(jde), date.Location(), false) +} + +// LastRetrograde 上次留的时间 +// 返回上次留时间,不区分顺逆 +func LastRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastMercuryRetrograde(jde), date.Location(), false) +} + +// NextRetrograde 下次留时间 +// 返回下次留的时间,不区分顺逆 +func NextRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextMercuryRetrograde(jde), date.Location(), false) +} + +// LastProgradeToRetrograde 上次留(顺转逆) +// 返回上次顺转逆留的时间 +func LastProgradeToRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastMercuryProgradeToRetrograde(jde), date.Location(), false) +} + +// NextProgradeToRetrograde 下次留(顺转逆) +// 返回下次顺转逆留的时间 +func NextProgradeToRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextMercuryProgradeToRetrograde(jde), date.Location(), false) +} + +// LastRetrogradeToPrograde 上次留(逆转瞬) +// 返回上次逆转瞬留的时间 +func LastRetrogradeToPrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastMercuryRetrogradeToPrograde(jde), date.Location(), false) +} + +// NextRetrogradeToPrograde 上次留(逆转瞬) +//// 返回上次逆转瞬留的时间 +func NextRetrogradeToPrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextMercuryRetrogradeToPrograde(jde), date.Location(), false) +} + +// LastGreatestElongation 上次大距时间 +// 返回上次大距时间,不区分东西大距 +func LastGreatestElongation(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastMercuryGreatestElongation(jde), date.Location(), false) +} + +// NextGreatestElongation 下次大距时间 +// 返回下次大距时间,不区分东西大距 +func NextGreatestElongation(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextMercuryGreatestElongation(jde), date.Location(), false) +} + +// LastGreatestElongationEast 上次东大距时间 +// 返回上次东大距时间 +func LastGreatestElongationEast(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastMercuryGreatestElongationEast(jde), date.Location(), false) +} + +// NextGreatestElongationEast 下次东大距时间 +// 返回下次东大距时间 +func NextGreatestElongationEast(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextMercuryGreatestElongationEast(jde), date.Location(), false) +} + +// LastGreatestElongationWest 上次西大距时间 +// 返回上次西大距时间 +func LastGreatestElongationWest(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastMercuryGreatestElongationWest(jde), date.Location(), false) +} + +// NextGreatestElongationWest 下次西大距时间 +// 返回下次西大距时间 +func NextGreatestElongationWest(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextMercuryGreatestElongationWest(jde), date.Location(), false) +} diff --git a/mercury/mercury_test.go b/mercury/mercury_test.go new file mode 100644 index 0000000..44bdbfb --- /dev/null +++ b/mercury/mercury_test.go @@ -0,0 +1,14 @@ +package mercury + +import ( + "fmt" + "testing" + "time" +) + +func TestMercury(t *testing.T) { + date := time.Now().Add(time.Hour * -24) + fmt.Println(CulminationTime(date, 115)) + fmt.Println(RiseTime(date, 115, 23, 0, false)) + fmt.Println(DownTime(date, 115, 23, 0, false)) +} diff --git a/moon/moon.go b/moon/moon.go index 1ba3ef5..3f9de49 100644 --- a/moon/moon.go +++ b/moon/moon.go @@ -127,7 +127,7 @@ func Zenith(date time.Time, lon, lat float64) float64 { func CulminationTime(date time.Time, lon, lat float64) float64 { jde := basic.Date2JDE(date) _, loc := date.Zone() - return basic.GetMoonTZTime(jde, lon, lat, float64(loc)/3600.0) + return basic.MoonCulminationTime(jde, lon, lat, float64(loc)/3600.0) } // RiseTime 月亮升起时间 diff --git a/neptune/neptune.go b/neptune/neptune.go index da2dca6..3acab57 100644 --- a/neptune/neptune.go +++ b/neptune/neptune.go @@ -2,69 +2,239 @@ package neptune import ( "b612.me/astro/basic" + "b612.me/astro/calendar" "b612.me/astro/planet" + "errors" + "time" ) -/* - 海王星视黄经 - jde: 世界时UTC -*/ -func SeeLo(jde float64) float64 { - return basic.NeptuneSeeLo(basic.TD2UT(jde, true)) +var ( + ERR_NEPTUNE_NEVER_RISE = errors.New("ERROR:极夜,海王星今日永远在地平线下!") + ERR_NEPTUNE_NEVER_DOWN = errors.New("ERROR:极昼,海王星今日永远在地平线上!") +) + +// ApparentLo 视黄经 +func ApparentLo(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.NeptuneApparentLo(basic.TD2UT(jde, true)) } -/* - 海王星视黄纬 - jde: 世界时UTC -*/ -func SeeBo(jde float64) float64 { - return basic.NeptuneSeeBo(basic.TD2UT(jde, true)) +// ApparentBo 视黄纬 +func ApparentBo(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.NeptuneApparentBo(basic.TD2UT(jde, true)) } -/* - 海王星视赤经 - jde: 世界时UTC -*/ -func SeeRa(jde float64) float64 { - return basic.NeptuneSeeRa(basic.TD2UT(jde, true)) +// ApparentRa 视赤经 +func ApparentRa(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.NeptuneApparentRa(basic.TD2UT(jde, true)) } -/* - 海王星视赤纬 - jde: 世界时UTC -*/ -func SeeDec(jde float64) float64 { - return basic.NeptuneSeeDec(basic.TD2UT(jde, true)) +// ApparentDec 视赤纬 +func ApparentDec(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.NeptuneApparentDec(basic.TD2UT(jde, true)) } -/* - 海王星视赤经赤纬 - jde: 世界时UTC -*/ -func SeeRaDec(jde float64) (float64, float64) { - return basic.NeptuneSeeRaDec(basic.TD2UT(jde, true)) +// ApparentRaDec 视赤经赤纬 +func ApparentRaDec(date time.Time) (float64, float64) { + jde := calendar.Date2JDE(date) + return basic.NeptuneApparentRaDec(basic.TD2UT(jde, true)) } -/* - 海王星视星等 - jde: 世界时UTC -*/ -func SeeMag(jde float64) float64 { +// ApparentMagnitude 视星等 +func ApparentMagnitude(date time.Time) float64 { + jde := calendar.Date2JDE(date) return basic.NeptuneMag(basic.TD2UT(jde, true)) } -/* - 与地球距离(天文单位) - jde: 世界时UTC -*/ -func EarthAway(jde float64) float64 { +// EarthDistance 与地球距离(天文单位) +func EarthDistance(date time.Time) float64 { + jde := calendar.Date2JDE(date) return basic.EarthNeptuneAway(basic.TD2UT(jde, true)) } -/* - 与太阳距离(天文单位) - jde: 世界时UTC -*/ -func SunAway(jde float64) float64 { - return planet.WherePlanet(1, 2, basic.TD2UT(jde, true)) +// EarthDistance 与太阳距离(天文单位) +func SunDistance(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return planet.WherePlanet(7, 2, basic.TD2UT(jde, true)) +} + +// Zenith 高度角 +func Zenith(date time.Time, lon, lat float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.NeptuneHeight(jde, lon, lat, timezone) +} + +// Azimuth 方位角 +func Azimuth(date time.Time, lon, lat float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.NeptuneAzimuth(jde, lon, lat, timezone) +} + +// HourAngle 时角 +// 返回给定经纬度、对应date时区date时刻的时角( +func HourAngle(date time.Time, lon float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.NeptuneHourAngle(jde, lon, timezone) +} + +// CulminationTime 中天时间 +// 返回给定经纬度、对应date时区date时刻的中天日期 +func CulminationTime(date time.Time, lon float64) time.Time { + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + calcJde := basic.NeptuneCulminationTime(jde, lon, timezone) - timezone/24.00 + return basic.JDE2DateByZone(calcJde, date.Location(), false) +} + +// RiseTime 升起时间 +// date,取日期,时区忽略 +// lon,经度,东正西负 +// lat,纬度,北正南负 +// height,高度 +// aero,true时进行大气修正 +func RiseTime(date time.Time, lon, lat, height float64, aero bool) (time.Time, error) { + var err error + var aeroFloat float64 + if aero { + aeroFloat = 1 + } + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + riseJde := basic.NeptuneRiseTime(jde, lon, lat, timezone, aeroFloat, height) + if riseJde == -2 { + err = ERR_NEPTUNE_NEVER_RISE + } + if riseJde == -1 { + err = ERR_NEPTUNE_NEVER_DOWN + } + return basic.JDE2DateByZone(riseJde, date.Location(), true), err +} + +// DownTime 落下时间 +// date,取日期,时区忽略 +// lon,经度,东正西负 +// lat,纬度,北正南负 +// height,高度 +// aero,true时进行大气修正 +func DownTime(date time.Time, lon, lat, height float64, aero bool) (time.Time, error) { + var err error + var aeroFloat float64 + if aero { + aeroFloat = 1 + } + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + riseJde := basic.NeptuneDownTime(jde, lon, lat, timezone, aeroFloat, height) + if riseJde == -2 { + err = ERR_NEPTUNE_NEVER_RISE + } + if riseJde == -1 { + err = ERR_NEPTUNE_NEVER_DOWN + } + return basic.JDE2DateByZone(riseJde, date.Location(), true), err +} + +// LastConjunction 上次合日时间 +// 返回上次合日时间 +func LastConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastNeptuneConjunction(jde), date.Location(), false) +} + +// NextConjunction 下次合日时间 +// 返回下次合日时间 +func NextConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextNeptuneConjunction(jde), date.Location(), false) +} + +// LastOpposition 上次冲日时间 +// 返回上次冲日时间 +func LastOpposition(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastNeptuneOpposition(jde), date.Location(), false) +} + +// NextOpposition 下次冲日时间 +// 返回下次冲日时间 +func NextOpposition(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextNeptuneOpposition(jde), date.Location(), false) +} + +// LastProgradeToRetrograde 上次留(顺转逆) +// 返回上次顺转逆留的时间 +func LastProgradeToRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastNeptuneProgradeToRetrograde(jde), date.Location(), false) +} + +// NextProgradeToRetrograde 下次留(顺转逆) +// 返回下次顺转逆留的时间 +func NextProgradeToRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextNeptuneProgradeToRetrograde(jde), date.Location(), false) +} + +// LastRetrogradeToPrograde 上次留(逆转瞬) +// 返回上次逆转瞬留的时间 +func LastRetrogradeToPrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastNeptuneRetrogradeToPrograde(jde), date.Location(), false) +} + +// NextRetrogradeToPrograde 上次留(逆转瞬) +//// 返回上次逆转瞬留的时间 +func NextRetrogradeToPrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextNeptuneRetrogradeToPrograde(jde), date.Location(), false) +} + +// LastEasternQuadrature 上次东方照时间 +// 返回上次东方照时间 +func LastEasternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastNeptuneEasternQuadrature(jde), date.Location(), false) +} + +// NextEasternQuadrature 下次东方照时间 +// 返回下次东方照时间 +func NextEasternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextNeptuneEasternQuadrature(jde), date.Location(), false) +} + +// LastWesternQuadrature 上次西方照时间 +// 返回上次西方照时间 +func LastWesternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastNeptuneWesternQuadrature(jde), date.Location(), false) +} + +// NextWesternQuadrature 下次西方照时间 +// 返回下次西方照时间 +func NextWesternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextNeptuneWesternQuadrature(jde), date.Location(), false) } diff --git a/neptune/neptune_test.go b/neptune/neptune_test.go new file mode 100644 index 0000000..0039bd6 --- /dev/null +++ b/neptune/neptune_test.go @@ -0,0 +1,14 @@ +package neptune + +import ( + "fmt" + "testing" + "time" +) + +func TestNeptune(t *testing.T) { + date := time.Now().Add(time.Hour * -24) + fmt.Println(CulminationTime(date, 115)) + fmt.Println(RiseTime(date, 115, 23, 0, false)) + fmt.Println(DownTime(date, 115, 23, 0, false)) +} diff --git a/planet/planet.go b/planet/planet.go index 48e1cbe..d41812f 100644 --- a/planet/planet.go +++ b/planet/planet.go @@ -1,285 +1,282 @@ package planet import ( - "math" . "b612.me/astro/tools" + "math" ) -func WherePlanet(xt, zn int, jd float64) float64 { + +func WherePlanet(xt, zn int, jd float64) float64 { var XL0 [][]float64 - XL0=[][]float64{ + XL0 = [][]float64{ //Dear精度:J2000+-4千年 黄经0.1角秒 黄纬0.1角秒 距离0.1AU/10^6 - []float64{ - 10000000000,//A的倍率 - 20,578,920,1100,1124,1136,1148,1217,1226,1229,1229,1229,1229,1937,2363,2618,2633,2660,2666,//位置索引表 - /*L0*/ 17534704567,0.00000000000,0.00000000000,334165646,4.669256804,6283.075849991,3489428,4.6261024,12566.1517000,349706,2.744118,5753.384885,341757,2.828866,3.523118,313590,3.627670,77713.771468,267622,4.418084,7860.419392,234269,6.135162,3930.209696,132429,0.742464,11506.769770,127317,2.037097,529.690965,119917,1.109629,1577.343542,99025,5.23268,5884.92685,90186,2.04505,26.29832,85722,3.50849,398.14900,77979,1.17883,5223.69392,75314,2.53339,5507.55324,50526,4.58293,18849.22755,49238,4.20507,775.52261,35666,2.91954,0.06731,31709,5.84902,11790.62909,28413,1.89869,796.29801,27104,0.31489,10977.07880,24281,0.34481,5486.77784,20616,4.80647,2544.31442,20539,1.86948,5573.14280,20226,2.45768,6069.77675,15552,0.83306,213.29910,13221,3.41118,2942.46342,12618,1.08303,20.77540,11513,0.64545,0.98032,10285,0.63600,4694.00295,10190,0.97569,15720.83878,10172,4.26680,7.11355,9921,6.2099,2146.1654,9761,0.6810,155.4204,8580,5.9832,161000.6857,8513,1.2987,6275.9623,8471,3.6708,71430.6956,7964,1.8079,17260.1547,7876,3.0370,12036.4607,7465,1.7551,5088.6288,7387,3.5032,3154.6871,7355,4.6793,801.8209,6963,0.8330,9437.7629,6245,3.9776,8827.3903,6115,1.8184,7084.8968,5696,2.7843,6286.5990,5612,4.3869,14143.4952,5558,3.4701,6279.5527,5199,0.1891,12139.5535,5161,1.3328,1748.0164,5115,0.2831,5856.4777,4900,0.4874,1194.4470,4104,5.3682,8429.2413,4094,2.3985,19651.0485,3920,6.1683,10447.3878,3677,6.0413,10213.2855,3660,2.5696,1059.3819,3595,1.7088,2352.8662,3557,1.7760,6812.7668,3329,0.5931,17789.8456,3041,0.4429,83996.8473,3005,2.7398,1349.8674,2535,3.1647,4690.4798,2474,0.2148,3.5904,2366,0.4847,8031.0923,2357,2.0653,3340.6124,2282,5.2220,4705.7323,2189,5.5559,553.5694,2142,1.4256,16730.4637,2109,4.1483,951.7184,2030,0.3713,283.8593,1992,5.2221,12168.0027,1986,5.7747,6309.3742,1912,3.8222,23581.2582,1889,5.3863,149854.4001,1790,2.2149,13367.9726,1748,4.5605,135.0651,1622,5.9884,11769.8537,1508,4.1957,6256.7775,1442,4.1932,242.7286,1435,3.7236,38.0277,1397,4.4014,6681.2249,1362,1.8893,7632.9433,1250,1.1305,5.5229,1205,2.6223,955.5997,1200,1.0035,632.7837,1129,0.1774,4164.3120,1083,0.3273,103.0928,1052,0.9387,11926.2544,1050,5.3591,1592.5960,1033,6.1998,6438.4962,1001,6.0291,5746.2713,980,0.999,11371.705,980,5.244,27511.468,938,2.624,5760.498,923,0.483,522.577,922,4.571,4292.331,905,5.337,6386.169,862,4.165,7058.598,841,3.299,7234.794,836,4.539,25132.303,813,6.112,4732.031,812,6.271,426.598,801,5.821,28.449,787,0.996,5643.179,776,2.957,23013.540,769,3.121,7238.676,758,3.974,11499.656,735,4.386,316.392,731,0.607,11513.883,719,3.998,74.782,706,0.323,263.084,676,5.911,90955.552,663,3.665,17298.182,653,5.791,18073.705,630,4.717,6836.645,615,1.458,233141.314,612,1.075,19804.827,596,3.321,6283.009,596,2.876,6283.143,555,2.452,12352.853,541,5.392,419.485,531,0.382,31441.678,519,4.065,6208.294,513,2.361,10973.556,494,5.737,9917.697,450,3.272,11015.106,449,3.653,206.186,447,2.064,7079.374,435,4.423,5216.580,421,1.906,245.832,413,0.921,3738.761,402,0.840,20.355,387,1.826,11856.219,379,2.344,3.881,374,2.954,3128.389,370,5.031,536.805,365,1.018,16200.773,365,1.083,88860.057,352,5.978,3894.182,352,2.056,244287.600,351,3.713,6290.189,340,1.106,14712.317,339,0.978,8635.942,339,3.202,5120.601,333,0.837,6496.375,325,3.479,6133.513,316,5.089,21228.392,316,1.328,10873.986,309,3.646,10.637,303,1.802,35371.887,296,3.397,9225.539,288,6.026,154717.610,281,2.585,14314.168,262,3.856,266.607,262,2.579,22483.849,257,1.561,23543.231,255,3.949,1990.745,251,3.744,10575.407,240,1.161,10984.192,238,0.106,7.046,236,4.272,6040.347,234,3.577,10969.965,211,3.714,65147.620,210,0.754,13521.751,207,4.228,5650.292,202,0.814,170.673,201,4.629,6037.244,200,0.381,6172.870,199,3.933,6206.810,199,5.197,6262.300,197,1.046,18209.330,195,1.070,5230.807,195,4.869,36.028,194,4.313,6244.943,192,1.229,709.933,192,5.595,6282.096,192,0.602,6284.056,189,3.744,23.878,188,1.904,15.252,188,0.867,22003.915,182,3.681,15110.466,181,0.491,1.484,179,3.222,39302.097,179,1.259,12559.038, - /*L1*/ 62833196674749,0.000000000000,0.000000000000,20605886,2.67823456,6283.07584999,430343,2.635127,12566.151700,42526,1.59047,3.52312,11926,5.79557,26.29832,10898,2.96618,1577.34354,9348,2.5921,18849.2275,7212,1.1385,529.6910,6777,1.8747,398.1490,6733,4.4092,5507.5532,5903,2.8880,5223.6939,5598,2.1747,155.4204,4541,0.3980,796.2980,3637,0.4662,775.5226,2896,2.6471,7.1135,2084,5.3414,0.9803,1910,1.8463,5486.7778,1851,4.9686,213.2991,1729,2.9912,6275.9623,1623,0.0322,2544.3144,1583,1.4305,2146.1654,1462,1.2053,10977.0788,1246,2.8343,1748.0164,1188,3.2580,5088.6288,1181,5.2738,1194.4470,1151,2.0750,4694.0030,1064,0.7661,553.5694,997,1.303,6286.599,972,4.239,1349.867,945,2.700,242.729,858,5.645,951.718,758,5.301,2352.866,639,2.650,9437.763,610,4.666,4690.480,583,1.766,1059.382,531,0.909,3154.687,522,5.661,71430.696,520,1.854,801.821,504,1.425,6438.496,433,0.241,6812.767,426,0.774,10447.388,413,5.240,7084.897,374,2.001,8031.092,356,2.429,14143.495,350,4.800,6279.553,337,0.888,12036.461,337,3.862,1592.596,325,3.400,7632.943,322,0.616,8429.241,318,3.188,4705.732,297,6.070,4292.331,295,1.431,5746.271,290,2.325,20.355,275,0.935,5760.498,270,4.804,7234.794,253,6.223,6836.645,228,5.003,17789.846,225,5.672,11499.656,215,5.202,11513.883,208,3.955,10213.286,208,2.268,522.577,206,2.224,5856.478,206,2.550,25132.303,203,0.910,6256.778,189,0.532,3340.612,188,4.735,83996.847,179,1.474,4164.312,178,3.025,5.523,177,3.026,5753.385,159,4.637,3.286,157,6.124,5216.580,155,3.077,6681.225,154,4.200,13367.973,143,1.191,3894.182,138,3.093,135.065,136,4.245,426.598,134,5.765,6040.347,128,3.085,5643.179,127,2.092,6290.189,125,3.077,11926.254,125,3.445,536.805,114,3.244,12168.003,112,2.318,16730.464,111,3.901,11506.770,111,5.320,23.878,105,3.750,7860.419,103,2.447,1990.745,96,0.82,3.88,96,4.08,6127.66,91,5.42,206.19,91,0.42,7079.37,88,5.17,11790.63,81,0.34,9917.70,80,3.89,10973.56,78,2.40,1589.07,78,2.58,11371.70,77,3.98,955.60,77,3.36,36.03,76,1.30,103.09,75,5.18,10969.97,75,4.96,6496.37,73,5.21,38.03,72,2.65,6309.37,70,5.61,3738.76,69,2.60,3496.03,69,0.39,15.25,69,2.78,20.78,65,1.13,7058.60,64,4.28,28.45,61,5.63,10984.19,60,0.73,419.48,60,5.28,10575.41,58,5.55,17298.18,58,3.19,4732.03, - /*L2*/ 5291887,0.0000000,0.0000000,871984,1.072097,6283.075850,30913,0.86729,12566.15170,2734,0.0530,3.5231,1633,5.1883,26.2983,1575,3.6846,155.4204,954,0.757,18849.228,894,2.057,77713.771,695,0.827,775.523,506,4.663,1577.344,406,1.031,7.114,381,3.441,5573.143,346,5.141,796.298,317,6.053,5507.553,302,1.192,242.729,289,6.117,529.691,271,0.306,398.149,254,2.280,553.569,237,4.381,5223.694,208,3.754,0.980,168,0.902,951.718,153,5.759,1349.867,145,4.364,1748.016,134,3.721,1194.447,125,2.948,6438.496,122,2.973,2146.165,110,1.271,161000.686,104,0.604,3154.687,100,5.986,6286.599,92,4.80,5088.63,89,5.23,7084.90,83,3.31,213.30,76,3.42,5486.78,71,6.19,4690.48,68,3.43,4694.00,65,1.60,2544.31,64,1.98,801.82,61,2.48,10977.08,50,1.44,6836.65,49,2.34,1592.60,46,1.31,4292.33,46,3.81,149854.40,43,0.04,7234.79,40,4.94,7632.94,39,1.57,71430.70,38,3.17,6309.37,35,0.99,6040.35,35,0.67,1059.38,31,3.18,2352.87,31,3.55,8031.09,30,1.92,10447.39,30,2.52,6127.66,28,4.42,9437.76,28,2.71,3894.18,27,0.67,25132.30,26,5.27,6812.77,25,0.55,6279.55,23,1.38,4705.73,22,0.64,6256.78,20,6.07,640.88, - /*L3*/ 28923,5.84384,6283.07585,3496,0.0000,0.0000,1682,5.4877,12566.1517,296,5.196,155.420,129,4.722,3.523,71,5.30,18849.23,64,5.97,242.73,40,3.79,553.57, - /*L4*/ 11408,3.14159,0.00000,772,4.134,6283.076,77,3.84,12566.15,42,0.42,155.42, - /*L5*/ 88,3.14,0.00,17,2.77,6283.08,5,2.01,155.42,3,2.21,12566.15, - /*B0*/ 27962,3.19870,84334.66158,10164,5.42249,5507.55324,8045,3.8801,5223.6939,4381,3.7044,2352.8662,3193,4.0003,1577.3435,2272,3.9847,1047.7473,1814,4.9837,6283.0758,1639,3.5646,5856.4777,1444,3.7028,9437.7629,1430,3.4112,10213.2855,1125,4.8282,14143.4952,1090,2.0857,6812.7668,1037,4.0566,71092.8814,971,3.473,4694.003,915,1.142,6620.890,878,4.440,5753.385,837,4.993,7084.897,770,5.554,167621.576,719,3.602,529.691,692,4.326,6275.962,558,4.410,7860.419,529,2.484,4705.732,521,6.250,18073.705, - /*B1*/ 903,3.897,5507.553,618,1.730,5223.694,380,5.244,2352.866, - /*B2*/ 166,1.627,84334.662, - /*R0*/ 10001398880,0.00000000000,0.00000000000,167069963,3.098463508,6283.075849991,1395602,3.0552461,12566.1517000,308372,5.198467,77713.771468,162846,1.173877,5753.384885,157557,2.846852,7860.419392,92480,5.45292,11506.76977,54244,4.56409,3930.20970,47211,3.66100,5884.92685,34598,0.96369,5507.55324,32878,5.89984,5223.69392,30678,0.29867,5573.14280,24319,4.27350,11790.62909,21183,5.84715,1577.34354,18575,5.02194,10977.07880,17484,3.01194,18849.22755,10984,5.05511,5486.77784,9832,0.8868,6069.7768,8650,5.6896,15720.8388,8583,1.2708,161000.6857,6490,0.2725,17260.1547,6292,0.9218,529.6910,5706,2.0137,83996.8473,5574,5.2416,71430.6956,4938,3.2450,2544.3144,4696,2.5781,775.5226,4466,5.5372,9437.7629,4252,6.0111,6275.9623,3897,5.3607,4694.0030,3825,2.3926,8827.3903,3749,0.8295,19651.0485,3696,4.9011,12139.5535,3566,1.6747,12036.4607,3454,1.8427,2942.4634,3319,0.2437,7084.8968,3192,0.1837,5088.6288,3185,1.7778,398.1490,2846,1.2134,6286.5990,2779,1.8993,6279.5527,2628,4.5890,10447.3878,2460,3.7866,8429.2413,2393,4.9960,5856.4777,2359,0.2687,796.2980,2329,2.8078,14143.4952,2210,1.9500,3154.6871,2035,4.6527,2146.1654,1951,5.3823,2352.8662,1883,0.6731,149854.4001,1833,2.2535,23581.2582,1796,0.1987,6812.7668,1731,6.1520,16730.4637,1717,4.4332,10213.2855,1619,5.2316,17789.8456,1381,5.1896,8031.0923,1364,3.6852,4705.7323,1314,0.6529,13367.9726,1041,4.3329,11769.8537,1017,1.5939,4690.4798,998,4.201,6309.374,966,3.676,27511.468,874,6.064,1748.016,779,3.674,12168.003,771,0.312,7632.943,756,2.626,6256.778,746,5.648,11926.254,693,2.924,6681.225,680,1.423,23013.540,674,0.563,3340.612,663,5.661,11371.705,659,3.136,801.821,648,2.650,19804.827,615,3.029,233141.314,612,5.134,1194.447,563,4.341,90955.552,552,2.091,17298.182,534,5.100,31441.678,531,2.407,11499.656,523,4.624,6438.496,513,5.324,11513.883,477,0.256,11856.219,461,1.722,7234.794,458,3.766,6386.169,458,4.466,5746.271,423,1.055,5760.498,422,1.557,7238.676,415,2.599,7058.598,401,3.030,1059.382,397,1.201,1349.867,379,4.907,4164.312,360,5.707,5643.179,352,3.626,244287.600,348,0.761,10973.556,342,3.001,4292.331,336,4.546,4732.031,334,3.138,6836.645,324,4.164,9917.697,316,1.691,11015.106,307,0.238,35371.887,298,1.306,6283.143,298,1.750,6283.009,293,5.738,16200.773,286,5.928,14712.317,281,3.515,21228.392,280,5.663,8635.942,277,0.513,26.298,268,4.207,18073.705,266,0.900,12352.853,260,2.962,25132.303,255,2.477,6208.294,242,2.800,709.933,231,1.054,22483.849,229,1.070,14314.168,216,1.314,154717.610,215,6.038,10873.986,200,0.561,7079.374,198,2.614,951.718,197,4.369,167283.762,186,2.861,5216.580,183,1.660,39302.097,183,5.912,3738.761,175,2.145,6290.189,173,2.168,10575.407,171,3.702,1592.596,171,1.343,3128.389,164,5.550,6496.375,164,5.856,10984.192,161,1.998,10969.965,161,1.909,6133.513,157,4.955,25158.602,154,6.216,23543.231,153,5.357,13521.751,150,5.770,18209.330,150,5.439,155.420,139,1.778,9225.539,139,1.626,5120.601,128,2.460,13916.019,123,0.717,143571.324,122,2.654,88860.057,121,4.414,3894.182,121,1.192,3.523,120,4.030,553.569,119,1.513,17654.781,117,3.117,14945.316,113,2.698,6040.347,110,3.085,43232.307,109,0.998,955.600,108,2.939,17256.632,107,5.285,65147.620,103,0.139,11712.955,103,5.850,213.299,102,3.046,6037.244,101,2.842,8662.240,100,3.626,6262.300,98,2.36,6206.81,98,5.11,6172.87,98,2.00,15110.47,97,2.67,5650.29,97,2.75,6244.94,96,4.02,6282.10,96,5.31,6284.06,92,0.10,29088.81,85,3.26,20426.57,84,2.60,28766.92,81,3.58,10177.26,80,5.81,5230.81,78,2.53,16496.36,77,4.06,6127.66,73,0.04,5481.25,72,5.96,12559.04,72,5.92,4136.91,71,5.49,22003.91,70,3.41,7.11,69,0.62,11403.68,69,3.90,1589.07,69,1.96,12416.59,69,4.51,426.60,67,1.61,11087.29,66,4.50,47162.52,66,5.08,283.86,66,4.32,16858.48,65,1.04,6062.66,64,1.59,18319.54,63,5.70,45892.73,63,4.60,66567.49,63,3.82,13517.87,62,2.62,11190.38,61,1.54,33019.02,60,5.58,10344.30,60,5.38,316428.23,60,5.78,632.78,59,6.12,9623.69,57,0.16,17267.27,57,3.86,6076.89,57,1.98,7668.64,56,4.78,20199.09,55,4.56,18875.53,55,3.51,17253.04,54,3.07,226858.24,54,4.83,18422.63,53,5.02,12132.44,52,3.63,5333.90,52,0.97,155427.54,51,3.36,20597.24,50,0.99,11609.86,50,2.21,1990.75,48,1.62,12146.67,48,1.17,12569.67,47,4.62,5436.99,47,1.81,12562.63,47,0.59,21954.16,47,0.76,7342.46,46,0.27,4590.91,46,3.77,156137.48,45,5.66,10454.50,44,5.84,3496.03,43,0.24,17996.03,41,5.93,51092.73,41,4.21,12592.45,40,5.14,1551.05,40,5.28,15671.08,39,3.69,18052.93,39,4.94,24356.78,38,2.72,11933.37,38,5.23,7477.52,38,4.99,9779.11,37,3.70,9388.01,37,4.44,4535.06,36,2.16,28237.23,36,2.54,242.73,36,0.22,5429.88,35,6.15,19800.95,35,2.92,36949.23,34,5.63,2379.16,34,5.73,16460.33,34,5.11,5849.36,33,6.19,6268.85, - /*R1*/ 10301861,1.10748970,6283.07584999,172124,1.064423,12566.151700,70222,3.14159,0.00000,3235,1.0217,18849.2275,3080,2.8435,5507.5532,2497,1.3191,5223.6939,1849,1.4243,1577.3435,1008,5.9138,10977.0788,865,1.420,6275.962,863,0.271,5486.778,507,1.686,5088.629,499,6.014,6286.599,467,5.987,529.691,440,0.518,4694.003,410,1.084,9437.763,387,4.750,2544.314,375,5.071,796.298,352,0.023,83996.847,344,0.949,71430.696,341,5.412,775.523,322,6.156,2146.165,286,5.484,10447.388,284,3.420,2352.866,255,6.132,6438.496,252,0.243,398.149,243,3.092,4690.480,225,3.689,7084.897,220,4.952,6812.767,219,0.420,8031.092,209,1.282,1748.016,193,5.314,8429.241,185,1.820,7632.943,175,3.229,6279.553,173,1.537,4705.732,158,4.097,11499.656,158,5.539,3154.687,150,3.633,11513.883,148,3.222,7234.794,147,3.653,1194.447,144,0.817,14143.495,135,6.151,5746.271,134,4.644,6836.645,128,2.693,1349.867,123,5.650,5760.498,118,2.577,13367.973,113,3.357,17789.846,110,4.497,4292.331,108,5.828,12036.461,102,5.621,6256.778,99,1.14,1059.38,98,0.66,5856.48,93,2.32,10213.29,92,0.77,16730.46,88,1.50,11926.25,86,1.42,5753.38,85,0.66,155.42,81,1.64,6681.22,80,4.11,951.72,66,4.55,5216.58,65,0.98,25132.30,64,4.19,6040.35,64,0.52,6290.19,63,1.51,5643.18,59,6.18,4164.31,57,2.30,10973.56,55,2.32,11506.77,55,2.20,1592.60,55,5.27,3340.61,54,5.54,553.57,53,5.04,9917.70,53,0.92,11371.70,52,3.98,17298.18,52,3.60,10969.97,49,5.91,3894.18,49,2.51,6127.66,48,1.67,12168.00,46,0.31,801.82,42,3.70,10575.41,42,4.05,10984.19,40,2.17,7860.42,40,4.17,26.30,38,5.82,7058.60,37,3.39,6496.37,36,1.08,6309.37,36,5.34,7079.37,34,3.62,11790.63,32,0.32,16200.77,31,4.24,3738.76,29,4.55,11856.22,29,1.26,8635.94,27,3.45,5884.93,26,5.08,10177.26,26,5.38,21228.39,24,2.26,11712.96,24,1.05,242.73,24,5.59,6069.78,23,3.63,6284.06,23,1.64,4732.03,22,3.46,213.30,21,1.05,3496.03,21,3.92,13916.02,21,4.01,5230.81,20,5.16,12352.85,20,0.69,1990.75,19,2.73,6062.66,19,5.01,11015.11,18,6.04,6283.01,18,2.85,7238.68,18,5.60,6283.14,18,5.16,17253.04,18,2.54,14314.17,17,1.58,7.11,17,0.98,3930.21,17,4.75,17267.27,16,2.19,6076.89,16,2.19,18073.70,16,6.12,3.52,16,4.61,9623.69,16,3.40,16496.36,15,0.19,9779.11,15,5.30,13517.87,15,4.26,3128.39,15,0.81,709.93,14,0.50,25158.60,14,4.38,4136.91,13,0.98,65147.62,13,3.31,154717.61,13,2.11,1589.07,13,1.92,22483.85,12,6.03,9225.54,12,1.53,12559.04,12,5.82,6282.10,12,5.61,5642.20,12,2.38,167283.76,12,0.39,12132.44,12,3.98,4686.89,12,5.81,12569.67,12,0.56,5849.36,11,0.45,6172.87,11,5.80,16858.48,11,6.22,12146.67,11,2.27,5429.88, - /*R2*/ 435939,5.784551,6283.075850,12363,5.57935,12566.15170,1234,3.1416,0.0000,879,3.628,77713.771,569,1.870,5573.143,330,5.470,18849.228,147,4.480,5507.553,110,2.842,161000.686,101,2.815,5223.694,85,3.11,1577.34,65,5.47,775.52,61,1.38,6438.50,50,4.42,6286.60,47,3.66,7084.90,46,5.39,149854.40,42,0.90,10977.08,40,3.20,5088.63,35,1.81,5486.78,32,5.35,3154.69,30,3.52,796.30,29,4.62,4690.48,28,1.84,4694.00,27,3.14,71430.70,27,6.17,6836.65,26,1.42,2146.17,25,2.81,1748.02,24,2.18,155.42,23,4.76,7234.79,21,3.38,7632.94,21,0.22,4705.73,20,4.22,1349.87,20,2.01,1194.45,20,4.58,529.69,19,1.59,6309.37,18,5.70,6040.35,18,6.03,4292.33,17,2.90,9437.76,17,2.00,8031.09,17,5.78,83996.85,16,0.05,2544.31,15,0.95,6127.66,14,0.36,10447.39,14,1.48,2352.87,13,0.77,553.57,13,5.48,951.72,13,5.27,6279.55,13,3.76,6812.77,11,5.41,6256.78,10,0.68,1592.60,10,4.95,398.15,10,1.15,3894.18,10,5.20,244287.60,10,1.94,11856.22,9,5.39,25132.30,8,6.18,1059.38,8,0.69,8429.24,8,5.85,242.73,7,5.26,14143.50,7,0.52,801.82,6,2.24,8635.94,6,4.00,13367.97,6,2.77,90955.55,6,5.17,7058.60,5,1.46,233141.31,5,4.13,7860.42,5,3.91,26.30,5,3.89,12036.46,5,5.58,6290.19,5,5.54,1990.75,5,0.83,11506.77,5,6.22,6681.22,4,5.26,10575.41,4,1.91,7477.52,4,0.43,10213.29,4,1.09,709.93,4,5.09,11015.11,4,4.22,88860.06,4,3.57,7079.37,4,1.98,6284.06,4,3.93,10973.56,4,6.18,9917.70,4,0.36,10177.26,4,2.75,3738.76,4,3.33,5643.18,4,5.36,25158.60, - /*R3*/ 14459,4.27319,6283.07585,673,3.917,12566.152,77,0.00,0.00,25,3.73,18849.23,4,2.80,6286.60, - /*R4*/ 386,2.564,6283.076,31,2.27,12566.15,5,3.44,5573.14,2,2.05,18849.23,1,2.06,77713.77,1,4.41,161000.69,1,3.82,149854.40,1,4.08,6127.66,1,5.26,6438.50, - /*R5*/ 9,1.22,6283.08,1,0.66,12566.15}, - + []float64{ + 10000000000, //A的倍率 + 20, 578, 920, 1100, 1124, 1136, 1148, 1217, 1226, 1229, 1229, 1229, 1229, 1937, 2363, 2618, 2633, 2660, 2666, //位置索引表 + /*L0*/ 17534704567, 0.00000000000, 0.00000000000, 334165646, 4.669256804, 6283.075849991, 3489428, 4.6261024, 12566.1517000, 349706, 2.744118, 5753.384885, 341757, 2.828866, 3.523118, 313590, 3.627670, 77713.771468, 267622, 4.418084, 7860.419392, 234269, 6.135162, 3930.209696, 132429, 0.742464, 11506.769770, 127317, 2.037097, 529.690965, 119917, 1.109629, 1577.343542, 99025, 5.23268, 5884.92685, 90186, 2.04505, 26.29832, 85722, 3.50849, 398.14900, 77979, 1.17883, 5223.69392, 75314, 2.53339, 5507.55324, 50526, 4.58293, 18849.22755, 49238, 4.20507, 775.52261, 35666, 2.91954, 0.06731, 31709, 5.84902, 11790.62909, 28413, 1.89869, 796.29801, 27104, 0.31489, 10977.07880, 24281, 0.34481, 5486.77784, 20616, 4.80647, 2544.31442, 20539, 1.86948, 5573.14280, 20226, 2.45768, 6069.77675, 15552, 0.83306, 213.29910, 13221, 3.41118, 2942.46342, 12618, 1.08303, 20.77540, 11513, 0.64545, 0.98032, 10285, 0.63600, 4694.00295, 10190, 0.97569, 15720.83878, 10172, 4.26680, 7.11355, 9921, 6.2099, 2146.1654, 9761, 0.6810, 155.4204, 8580, 5.9832, 161000.6857, 8513, 1.2987, 6275.9623, 8471, 3.6708, 71430.6956, 7964, 1.8079, 17260.1547, 7876, 3.0370, 12036.4607, 7465, 1.7551, 5088.6288, 7387, 3.5032, 3154.6871, 7355, 4.6793, 801.8209, 6963, 0.8330, 9437.7629, 6245, 3.9776, 8827.3903, 6115, 1.8184, 7084.8968, 5696, 2.7843, 6286.5990, 5612, 4.3869, 14143.4952, 5558, 3.4701, 6279.5527, 5199, 0.1891, 12139.5535, 5161, 1.3328, 1748.0164, 5115, 0.2831, 5856.4777, 4900, 0.4874, 1194.4470, 4104, 5.3682, 8429.2413, 4094, 2.3985, 19651.0485, 3920, 6.1683, 10447.3878, 3677, 6.0413, 10213.2855, 3660, 2.5696, 1059.3819, 3595, 1.7088, 2352.8662, 3557, 1.7760, 6812.7668, 3329, 0.5931, 17789.8456, 3041, 0.4429, 83996.8473, 3005, 2.7398, 1349.8674, 2535, 3.1647, 4690.4798, 2474, 0.2148, 3.5904, 2366, 0.4847, 8031.0923, 2357, 2.0653, 3340.6124, 2282, 5.2220, 4705.7323, 2189, 5.5559, 553.5694, 2142, 1.4256, 16730.4637, 2109, 4.1483, 951.7184, 2030, 0.3713, 283.8593, 1992, 5.2221, 12168.0027, 1986, 5.7747, 6309.3742, 1912, 3.8222, 23581.2582, 1889, 5.3863, 149854.4001, 1790, 2.2149, 13367.9726, 1748, 4.5605, 135.0651, 1622, 5.9884, 11769.8537, 1508, 4.1957, 6256.7775, 1442, 4.1932, 242.7286, 1435, 3.7236, 38.0277, 1397, 4.4014, 6681.2249, 1362, 1.8893, 7632.9433, 1250, 1.1305, 5.5229, 1205, 2.6223, 955.5997, 1200, 1.0035, 632.7837, 1129, 0.1774, 4164.3120, 1083, 0.3273, 103.0928, 1052, 0.9387, 11926.2544, 1050, 5.3591, 1592.5960, 1033, 6.1998, 6438.4962, 1001, 6.0291, 5746.2713, 980, 0.999, 11371.705, 980, 5.244, 27511.468, 938, 2.624, 5760.498, 923, 0.483, 522.577, 922, 4.571, 4292.331, 905, 5.337, 6386.169, 862, 4.165, 7058.598, 841, 3.299, 7234.794, 836, 4.539, 25132.303, 813, 6.112, 4732.031, 812, 6.271, 426.598, 801, 5.821, 28.449, 787, 0.996, 5643.179, 776, 2.957, 23013.540, 769, 3.121, 7238.676, 758, 3.974, 11499.656, 735, 4.386, 316.392, 731, 0.607, 11513.883, 719, 3.998, 74.782, 706, 0.323, 263.084, 676, 5.911, 90955.552, 663, 3.665, 17298.182, 653, 5.791, 18073.705, 630, 4.717, 6836.645, 615, 1.458, 233141.314, 612, 1.075, 19804.827, 596, 3.321, 6283.009, 596, 2.876, 6283.143, 555, 2.452, 12352.853, 541, 5.392, 419.485, 531, 0.382, 31441.678, 519, 4.065, 6208.294, 513, 2.361, 10973.556, 494, 5.737, 9917.697, 450, 3.272, 11015.106, 449, 3.653, 206.186, 447, 2.064, 7079.374, 435, 4.423, 5216.580, 421, 1.906, 245.832, 413, 0.921, 3738.761, 402, 0.840, 20.355, 387, 1.826, 11856.219, 379, 2.344, 3.881, 374, 2.954, 3128.389, 370, 5.031, 536.805, 365, 1.018, 16200.773, 365, 1.083, 88860.057, 352, 5.978, 3894.182, 352, 2.056, 244287.600, 351, 3.713, 6290.189, 340, 1.106, 14712.317, 339, 0.978, 8635.942, 339, 3.202, 5120.601, 333, 0.837, 6496.375, 325, 3.479, 6133.513, 316, 5.089, 21228.392, 316, 1.328, 10873.986, 309, 3.646, 10.637, 303, 1.802, 35371.887, 296, 3.397, 9225.539, 288, 6.026, 154717.610, 281, 2.585, 14314.168, 262, 3.856, 266.607, 262, 2.579, 22483.849, 257, 1.561, 23543.231, 255, 3.949, 1990.745, 251, 3.744, 10575.407, 240, 1.161, 10984.192, 238, 0.106, 7.046, 236, 4.272, 6040.347, 234, 3.577, 10969.965, 211, 3.714, 65147.620, 210, 0.754, 13521.751, 207, 4.228, 5650.292, 202, 0.814, 170.673, 201, 4.629, 6037.244, 200, 0.381, 6172.870, 199, 3.933, 6206.810, 199, 5.197, 6262.300, 197, 1.046, 18209.330, 195, 1.070, 5230.807, 195, 4.869, 36.028, 194, 4.313, 6244.943, 192, 1.229, 709.933, 192, 5.595, 6282.096, 192, 0.602, 6284.056, 189, 3.744, 23.878, 188, 1.904, 15.252, 188, 0.867, 22003.915, 182, 3.681, 15110.466, 181, 0.491, 1.484, 179, 3.222, 39302.097, 179, 1.259, 12559.038, + /*L1*/ 62833196674749, 0.000000000000, 0.000000000000, 20605886, 2.67823456, 6283.07584999, 430343, 2.635127, 12566.151700, 42526, 1.59047, 3.52312, 11926, 5.79557, 26.29832, 10898, 2.96618, 1577.34354, 9348, 2.5921, 18849.2275, 7212, 1.1385, 529.6910, 6777, 1.8747, 398.1490, 6733, 4.4092, 5507.5532, 5903, 2.8880, 5223.6939, 5598, 2.1747, 155.4204, 4541, 0.3980, 796.2980, 3637, 0.4662, 775.5226, 2896, 2.6471, 7.1135, 2084, 5.3414, 0.9803, 1910, 1.8463, 5486.7778, 1851, 4.9686, 213.2991, 1729, 2.9912, 6275.9623, 1623, 0.0322, 2544.3144, 1583, 1.4305, 2146.1654, 1462, 1.2053, 10977.0788, 1246, 2.8343, 1748.0164, 1188, 3.2580, 5088.6288, 1181, 5.2738, 1194.4470, 1151, 2.0750, 4694.0030, 1064, 0.7661, 553.5694, 997, 1.303, 6286.599, 972, 4.239, 1349.867, 945, 2.700, 242.729, 858, 5.645, 951.718, 758, 5.301, 2352.866, 639, 2.650, 9437.763, 610, 4.666, 4690.480, 583, 1.766, 1059.382, 531, 0.909, 3154.687, 522, 5.661, 71430.696, 520, 1.854, 801.821, 504, 1.425, 6438.496, 433, 0.241, 6812.767, 426, 0.774, 10447.388, 413, 5.240, 7084.897, 374, 2.001, 8031.092, 356, 2.429, 14143.495, 350, 4.800, 6279.553, 337, 0.888, 12036.461, 337, 3.862, 1592.596, 325, 3.400, 7632.943, 322, 0.616, 8429.241, 318, 3.188, 4705.732, 297, 6.070, 4292.331, 295, 1.431, 5746.271, 290, 2.325, 20.355, 275, 0.935, 5760.498, 270, 4.804, 7234.794, 253, 6.223, 6836.645, 228, 5.003, 17789.846, 225, 5.672, 11499.656, 215, 5.202, 11513.883, 208, 3.955, 10213.286, 208, 2.268, 522.577, 206, 2.224, 5856.478, 206, 2.550, 25132.303, 203, 0.910, 6256.778, 189, 0.532, 3340.612, 188, 4.735, 83996.847, 179, 1.474, 4164.312, 178, 3.025, 5.523, 177, 3.026, 5753.385, 159, 4.637, 3.286, 157, 6.124, 5216.580, 155, 3.077, 6681.225, 154, 4.200, 13367.973, 143, 1.191, 3894.182, 138, 3.093, 135.065, 136, 4.245, 426.598, 134, 5.765, 6040.347, 128, 3.085, 5643.179, 127, 2.092, 6290.189, 125, 3.077, 11926.254, 125, 3.445, 536.805, 114, 3.244, 12168.003, 112, 2.318, 16730.464, 111, 3.901, 11506.770, 111, 5.320, 23.878, 105, 3.750, 7860.419, 103, 2.447, 1990.745, 96, 0.82, 3.88, 96, 4.08, 6127.66, 91, 5.42, 206.19, 91, 0.42, 7079.37, 88, 5.17, 11790.63, 81, 0.34, 9917.70, 80, 3.89, 10973.56, 78, 2.40, 1589.07, 78, 2.58, 11371.70, 77, 3.98, 955.60, 77, 3.36, 36.03, 76, 1.30, 103.09, 75, 5.18, 10969.97, 75, 4.96, 6496.37, 73, 5.21, 38.03, 72, 2.65, 6309.37, 70, 5.61, 3738.76, 69, 2.60, 3496.03, 69, 0.39, 15.25, 69, 2.78, 20.78, 65, 1.13, 7058.60, 64, 4.28, 28.45, 61, 5.63, 10984.19, 60, 0.73, 419.48, 60, 5.28, 10575.41, 58, 5.55, 17298.18, 58, 3.19, 4732.03, + /*L2*/ 5291887, 0.0000000, 0.0000000, 871984, 1.072097, 6283.075850, 30913, 0.86729, 12566.15170, 2734, 0.0530, 3.5231, 1633, 5.1883, 26.2983, 1575, 3.6846, 155.4204, 954, 0.757, 18849.228, 894, 2.057, 77713.771, 695, 0.827, 775.523, 506, 4.663, 1577.344, 406, 1.031, 7.114, 381, 3.441, 5573.143, 346, 5.141, 796.298, 317, 6.053, 5507.553, 302, 1.192, 242.729, 289, 6.117, 529.691, 271, 0.306, 398.149, 254, 2.280, 553.569, 237, 4.381, 5223.694, 208, 3.754, 0.980, 168, 0.902, 951.718, 153, 5.759, 1349.867, 145, 4.364, 1748.016, 134, 3.721, 1194.447, 125, 2.948, 6438.496, 122, 2.973, 2146.165, 110, 1.271, 161000.686, 104, 0.604, 3154.687, 100, 5.986, 6286.599, 92, 4.80, 5088.63, 89, 5.23, 7084.90, 83, 3.31, 213.30, 76, 3.42, 5486.78, 71, 6.19, 4690.48, 68, 3.43, 4694.00, 65, 1.60, 2544.31, 64, 1.98, 801.82, 61, 2.48, 10977.08, 50, 1.44, 6836.65, 49, 2.34, 1592.60, 46, 1.31, 4292.33, 46, 3.81, 149854.40, 43, 0.04, 7234.79, 40, 4.94, 7632.94, 39, 1.57, 71430.70, 38, 3.17, 6309.37, 35, 0.99, 6040.35, 35, 0.67, 1059.38, 31, 3.18, 2352.87, 31, 3.55, 8031.09, 30, 1.92, 10447.39, 30, 2.52, 6127.66, 28, 4.42, 9437.76, 28, 2.71, 3894.18, 27, 0.67, 25132.30, 26, 5.27, 6812.77, 25, 0.55, 6279.55, 23, 1.38, 4705.73, 22, 0.64, 6256.78, 20, 6.07, 640.88, + /*L3*/ 28923, 5.84384, 6283.07585, 3496, 0.0000, 0.0000, 1682, 5.4877, 12566.1517, 296, 5.196, 155.420, 129, 4.722, 3.523, 71, 5.30, 18849.23, 64, 5.97, 242.73, 40, 3.79, 553.57, + /*L4*/ 11408, 3.14159, 0.00000, 772, 4.134, 6283.076, 77, 3.84, 12566.15, 42, 0.42, 155.42, + /*L5*/ 88, 3.14, 0.00, 17, 2.77, 6283.08, 5, 2.01, 155.42, 3, 2.21, 12566.15, + /*B0*/ 27962, 3.19870, 84334.66158, 10164, 5.42249, 5507.55324, 8045, 3.8801, 5223.6939, 4381, 3.7044, 2352.8662, 3193, 4.0003, 1577.3435, 2272, 3.9847, 1047.7473, 1814, 4.9837, 6283.0758, 1639, 3.5646, 5856.4777, 1444, 3.7028, 9437.7629, 1430, 3.4112, 10213.2855, 1125, 4.8282, 14143.4952, 1090, 2.0857, 6812.7668, 1037, 4.0566, 71092.8814, 971, 3.473, 4694.003, 915, 1.142, 6620.890, 878, 4.440, 5753.385, 837, 4.993, 7084.897, 770, 5.554, 167621.576, 719, 3.602, 529.691, 692, 4.326, 6275.962, 558, 4.410, 7860.419, 529, 2.484, 4705.732, 521, 6.250, 18073.705, + /*B1*/ 903, 3.897, 5507.553, 618, 1.730, 5223.694, 380, 5.244, 2352.866, + /*B2*/ 166, 1.627, 84334.662, + /*R0*/ 10001398880, 0.00000000000, 0.00000000000, 167069963, 3.098463508, 6283.075849991, 1395602, 3.0552461, 12566.1517000, 308372, 5.198467, 77713.771468, 162846, 1.173877, 5753.384885, 157557, 2.846852, 7860.419392, 92480, 5.45292, 11506.76977, 54244, 4.56409, 3930.20970, 47211, 3.66100, 5884.92685, 34598, 0.96369, 5507.55324, 32878, 5.89984, 5223.69392, 30678, 0.29867, 5573.14280, 24319, 4.27350, 11790.62909, 21183, 5.84715, 1577.34354, 18575, 5.02194, 10977.07880, 17484, 3.01194, 18849.22755, 10984, 5.05511, 5486.77784, 9832, 0.8868, 6069.7768, 8650, 5.6896, 15720.8388, 8583, 1.2708, 161000.6857, 6490, 0.2725, 17260.1547, 6292, 0.9218, 529.6910, 5706, 2.0137, 83996.8473, 5574, 5.2416, 71430.6956, 4938, 3.2450, 2544.3144, 4696, 2.5781, 775.5226, 4466, 5.5372, 9437.7629, 4252, 6.0111, 6275.9623, 3897, 5.3607, 4694.0030, 3825, 2.3926, 8827.3903, 3749, 0.8295, 19651.0485, 3696, 4.9011, 12139.5535, 3566, 1.6747, 12036.4607, 3454, 1.8427, 2942.4634, 3319, 0.2437, 7084.8968, 3192, 0.1837, 5088.6288, 3185, 1.7778, 398.1490, 2846, 1.2134, 6286.5990, 2779, 1.8993, 6279.5527, 2628, 4.5890, 10447.3878, 2460, 3.7866, 8429.2413, 2393, 4.9960, 5856.4777, 2359, 0.2687, 796.2980, 2329, 2.8078, 14143.4952, 2210, 1.9500, 3154.6871, 2035, 4.6527, 2146.1654, 1951, 5.3823, 2352.8662, 1883, 0.6731, 149854.4001, 1833, 2.2535, 23581.2582, 1796, 0.1987, 6812.7668, 1731, 6.1520, 16730.4637, 1717, 4.4332, 10213.2855, 1619, 5.2316, 17789.8456, 1381, 5.1896, 8031.0923, 1364, 3.6852, 4705.7323, 1314, 0.6529, 13367.9726, 1041, 4.3329, 11769.8537, 1017, 1.5939, 4690.4798, 998, 4.201, 6309.374, 966, 3.676, 27511.468, 874, 6.064, 1748.016, 779, 3.674, 12168.003, 771, 0.312, 7632.943, 756, 2.626, 6256.778, 746, 5.648, 11926.254, 693, 2.924, 6681.225, 680, 1.423, 23013.540, 674, 0.563, 3340.612, 663, 5.661, 11371.705, 659, 3.136, 801.821, 648, 2.650, 19804.827, 615, 3.029, 233141.314, 612, 5.134, 1194.447, 563, 4.341, 90955.552, 552, 2.091, 17298.182, 534, 5.100, 31441.678, 531, 2.407, 11499.656, 523, 4.624, 6438.496, 513, 5.324, 11513.883, 477, 0.256, 11856.219, 461, 1.722, 7234.794, 458, 3.766, 6386.169, 458, 4.466, 5746.271, 423, 1.055, 5760.498, 422, 1.557, 7238.676, 415, 2.599, 7058.598, 401, 3.030, 1059.382, 397, 1.201, 1349.867, 379, 4.907, 4164.312, 360, 5.707, 5643.179, 352, 3.626, 244287.600, 348, 0.761, 10973.556, 342, 3.001, 4292.331, 336, 4.546, 4732.031, 334, 3.138, 6836.645, 324, 4.164, 9917.697, 316, 1.691, 11015.106, 307, 0.238, 35371.887, 298, 1.306, 6283.143, 298, 1.750, 6283.009, 293, 5.738, 16200.773, 286, 5.928, 14712.317, 281, 3.515, 21228.392, 280, 5.663, 8635.942, 277, 0.513, 26.298, 268, 4.207, 18073.705, 266, 0.900, 12352.853, 260, 2.962, 25132.303, 255, 2.477, 6208.294, 242, 2.800, 709.933, 231, 1.054, 22483.849, 229, 1.070, 14314.168, 216, 1.314, 154717.610, 215, 6.038, 10873.986, 200, 0.561, 7079.374, 198, 2.614, 951.718, 197, 4.369, 167283.762, 186, 2.861, 5216.580, 183, 1.660, 39302.097, 183, 5.912, 3738.761, 175, 2.145, 6290.189, 173, 2.168, 10575.407, 171, 3.702, 1592.596, 171, 1.343, 3128.389, 164, 5.550, 6496.375, 164, 5.856, 10984.192, 161, 1.998, 10969.965, 161, 1.909, 6133.513, 157, 4.955, 25158.602, 154, 6.216, 23543.231, 153, 5.357, 13521.751, 150, 5.770, 18209.330, 150, 5.439, 155.420, 139, 1.778, 9225.539, 139, 1.626, 5120.601, 128, 2.460, 13916.019, 123, 0.717, 143571.324, 122, 2.654, 88860.057, 121, 4.414, 3894.182, 121, 1.192, 3.523, 120, 4.030, 553.569, 119, 1.513, 17654.781, 117, 3.117, 14945.316, 113, 2.698, 6040.347, 110, 3.085, 43232.307, 109, 0.998, 955.600, 108, 2.939, 17256.632, 107, 5.285, 65147.620, 103, 0.139, 11712.955, 103, 5.850, 213.299, 102, 3.046, 6037.244, 101, 2.842, 8662.240, 100, 3.626, 6262.300, 98, 2.36, 6206.81, 98, 5.11, 6172.87, 98, 2.00, 15110.47, 97, 2.67, 5650.29, 97, 2.75, 6244.94, 96, 4.02, 6282.10, 96, 5.31, 6284.06, 92, 0.10, 29088.81, 85, 3.26, 20426.57, 84, 2.60, 28766.92, 81, 3.58, 10177.26, 80, 5.81, 5230.81, 78, 2.53, 16496.36, 77, 4.06, 6127.66, 73, 0.04, 5481.25, 72, 5.96, 12559.04, 72, 5.92, 4136.91, 71, 5.49, 22003.91, 70, 3.41, 7.11, 69, 0.62, 11403.68, 69, 3.90, 1589.07, 69, 1.96, 12416.59, 69, 4.51, 426.60, 67, 1.61, 11087.29, 66, 4.50, 47162.52, 66, 5.08, 283.86, 66, 4.32, 16858.48, 65, 1.04, 6062.66, 64, 1.59, 18319.54, 63, 5.70, 45892.73, 63, 4.60, 66567.49, 63, 3.82, 13517.87, 62, 2.62, 11190.38, 61, 1.54, 33019.02, 60, 5.58, 10344.30, 60, 5.38, 316428.23, 60, 5.78, 632.78, 59, 6.12, 9623.69, 57, 0.16, 17267.27, 57, 3.86, 6076.89, 57, 1.98, 7668.64, 56, 4.78, 20199.09, 55, 4.56, 18875.53, 55, 3.51, 17253.04, 54, 3.07, 226858.24, 54, 4.83, 18422.63, 53, 5.02, 12132.44, 52, 3.63, 5333.90, 52, 0.97, 155427.54, 51, 3.36, 20597.24, 50, 0.99, 11609.86, 50, 2.21, 1990.75, 48, 1.62, 12146.67, 48, 1.17, 12569.67, 47, 4.62, 5436.99, 47, 1.81, 12562.63, 47, 0.59, 21954.16, 47, 0.76, 7342.46, 46, 0.27, 4590.91, 46, 3.77, 156137.48, 45, 5.66, 10454.50, 44, 5.84, 3496.03, 43, 0.24, 17996.03, 41, 5.93, 51092.73, 41, 4.21, 12592.45, 40, 5.14, 1551.05, 40, 5.28, 15671.08, 39, 3.69, 18052.93, 39, 4.94, 24356.78, 38, 2.72, 11933.37, 38, 5.23, 7477.52, 38, 4.99, 9779.11, 37, 3.70, 9388.01, 37, 4.44, 4535.06, 36, 2.16, 28237.23, 36, 2.54, 242.73, 36, 0.22, 5429.88, 35, 6.15, 19800.95, 35, 2.92, 36949.23, 34, 5.63, 2379.16, 34, 5.73, 16460.33, 34, 5.11, 5849.36, 33, 6.19, 6268.85, + /*R1*/ 10301861, 1.10748970, 6283.07584999, 172124, 1.064423, 12566.151700, 70222, 3.14159, 0.00000, 3235, 1.0217, 18849.2275, 3080, 2.8435, 5507.5532, 2497, 1.3191, 5223.6939, 1849, 1.4243, 1577.3435, 1008, 5.9138, 10977.0788, 865, 1.420, 6275.962, 863, 0.271, 5486.778, 507, 1.686, 5088.629, 499, 6.014, 6286.599, 467, 5.987, 529.691, 440, 0.518, 4694.003, 410, 1.084, 9437.763, 387, 4.750, 2544.314, 375, 5.071, 796.298, 352, 0.023, 83996.847, 344, 0.949, 71430.696, 341, 5.412, 775.523, 322, 6.156, 2146.165, 286, 5.484, 10447.388, 284, 3.420, 2352.866, 255, 6.132, 6438.496, 252, 0.243, 398.149, 243, 3.092, 4690.480, 225, 3.689, 7084.897, 220, 4.952, 6812.767, 219, 0.420, 8031.092, 209, 1.282, 1748.016, 193, 5.314, 8429.241, 185, 1.820, 7632.943, 175, 3.229, 6279.553, 173, 1.537, 4705.732, 158, 4.097, 11499.656, 158, 5.539, 3154.687, 150, 3.633, 11513.883, 148, 3.222, 7234.794, 147, 3.653, 1194.447, 144, 0.817, 14143.495, 135, 6.151, 5746.271, 134, 4.644, 6836.645, 128, 2.693, 1349.867, 123, 5.650, 5760.498, 118, 2.577, 13367.973, 113, 3.357, 17789.846, 110, 4.497, 4292.331, 108, 5.828, 12036.461, 102, 5.621, 6256.778, 99, 1.14, 1059.38, 98, 0.66, 5856.48, 93, 2.32, 10213.29, 92, 0.77, 16730.46, 88, 1.50, 11926.25, 86, 1.42, 5753.38, 85, 0.66, 155.42, 81, 1.64, 6681.22, 80, 4.11, 951.72, 66, 4.55, 5216.58, 65, 0.98, 25132.30, 64, 4.19, 6040.35, 64, 0.52, 6290.19, 63, 1.51, 5643.18, 59, 6.18, 4164.31, 57, 2.30, 10973.56, 55, 2.32, 11506.77, 55, 2.20, 1592.60, 55, 5.27, 3340.61, 54, 5.54, 553.57, 53, 5.04, 9917.70, 53, 0.92, 11371.70, 52, 3.98, 17298.18, 52, 3.60, 10969.97, 49, 5.91, 3894.18, 49, 2.51, 6127.66, 48, 1.67, 12168.00, 46, 0.31, 801.82, 42, 3.70, 10575.41, 42, 4.05, 10984.19, 40, 2.17, 7860.42, 40, 4.17, 26.30, 38, 5.82, 7058.60, 37, 3.39, 6496.37, 36, 1.08, 6309.37, 36, 5.34, 7079.37, 34, 3.62, 11790.63, 32, 0.32, 16200.77, 31, 4.24, 3738.76, 29, 4.55, 11856.22, 29, 1.26, 8635.94, 27, 3.45, 5884.93, 26, 5.08, 10177.26, 26, 5.38, 21228.39, 24, 2.26, 11712.96, 24, 1.05, 242.73, 24, 5.59, 6069.78, 23, 3.63, 6284.06, 23, 1.64, 4732.03, 22, 3.46, 213.30, 21, 1.05, 3496.03, 21, 3.92, 13916.02, 21, 4.01, 5230.81, 20, 5.16, 12352.85, 20, 0.69, 1990.75, 19, 2.73, 6062.66, 19, 5.01, 11015.11, 18, 6.04, 6283.01, 18, 2.85, 7238.68, 18, 5.60, 6283.14, 18, 5.16, 17253.04, 18, 2.54, 14314.17, 17, 1.58, 7.11, 17, 0.98, 3930.21, 17, 4.75, 17267.27, 16, 2.19, 6076.89, 16, 2.19, 18073.70, 16, 6.12, 3.52, 16, 4.61, 9623.69, 16, 3.40, 16496.36, 15, 0.19, 9779.11, 15, 5.30, 13517.87, 15, 4.26, 3128.39, 15, 0.81, 709.93, 14, 0.50, 25158.60, 14, 4.38, 4136.91, 13, 0.98, 65147.62, 13, 3.31, 154717.61, 13, 2.11, 1589.07, 13, 1.92, 22483.85, 12, 6.03, 9225.54, 12, 1.53, 12559.04, 12, 5.82, 6282.10, 12, 5.61, 5642.20, 12, 2.38, 167283.76, 12, 0.39, 12132.44, 12, 3.98, 4686.89, 12, 5.81, 12569.67, 12, 0.56, 5849.36, 11, 0.45, 6172.87, 11, 5.80, 16858.48, 11, 6.22, 12146.67, 11, 2.27, 5429.88, + /*R2*/ 435939, 5.784551, 6283.075850, 12363, 5.57935, 12566.15170, 1234, 3.1416, 0.0000, 879, 3.628, 77713.771, 569, 1.870, 5573.143, 330, 5.470, 18849.228, 147, 4.480, 5507.553, 110, 2.842, 161000.686, 101, 2.815, 5223.694, 85, 3.11, 1577.34, 65, 5.47, 775.52, 61, 1.38, 6438.50, 50, 4.42, 6286.60, 47, 3.66, 7084.90, 46, 5.39, 149854.40, 42, 0.90, 10977.08, 40, 3.20, 5088.63, 35, 1.81, 5486.78, 32, 5.35, 3154.69, 30, 3.52, 796.30, 29, 4.62, 4690.48, 28, 1.84, 4694.00, 27, 3.14, 71430.70, 27, 6.17, 6836.65, 26, 1.42, 2146.17, 25, 2.81, 1748.02, 24, 2.18, 155.42, 23, 4.76, 7234.79, 21, 3.38, 7632.94, 21, 0.22, 4705.73, 20, 4.22, 1349.87, 20, 2.01, 1194.45, 20, 4.58, 529.69, 19, 1.59, 6309.37, 18, 5.70, 6040.35, 18, 6.03, 4292.33, 17, 2.90, 9437.76, 17, 2.00, 8031.09, 17, 5.78, 83996.85, 16, 0.05, 2544.31, 15, 0.95, 6127.66, 14, 0.36, 10447.39, 14, 1.48, 2352.87, 13, 0.77, 553.57, 13, 5.48, 951.72, 13, 5.27, 6279.55, 13, 3.76, 6812.77, 11, 5.41, 6256.78, 10, 0.68, 1592.60, 10, 4.95, 398.15, 10, 1.15, 3894.18, 10, 5.20, 244287.60, 10, 1.94, 11856.22, 9, 5.39, 25132.30, 8, 6.18, 1059.38, 8, 0.69, 8429.24, 8, 5.85, 242.73, 7, 5.26, 14143.50, 7, 0.52, 801.82, 6, 2.24, 8635.94, 6, 4.00, 13367.97, 6, 2.77, 90955.55, 6, 5.17, 7058.60, 5, 1.46, 233141.31, 5, 4.13, 7860.42, 5, 3.91, 26.30, 5, 3.89, 12036.46, 5, 5.58, 6290.19, 5, 5.54, 1990.75, 5, 0.83, 11506.77, 5, 6.22, 6681.22, 4, 5.26, 10575.41, 4, 1.91, 7477.52, 4, 0.43, 10213.29, 4, 1.09, 709.93, 4, 5.09, 11015.11, 4, 4.22, 88860.06, 4, 3.57, 7079.37, 4, 1.98, 6284.06, 4, 3.93, 10973.56, 4, 6.18, 9917.70, 4, 0.36, 10177.26, 4, 2.75, 3738.76, 4, 3.33, 5643.18, 4, 5.36, 25158.60, + /*R3*/ 14459, 4.27319, 6283.07585, 673, 3.917, 12566.152, 77, 0.00, 0.00, 25, 3.73, 18849.23, 4, 2.80, 6286.60, + /*R4*/ 386, 2.564, 6283.076, 31, 2.27, 12566.15, 5, 3.44, 5573.14, 2, 2.05, 18849.23, 1, 2.06, 77713.77, 1, 4.41, 161000.69, 1, 3.82, 149854.40, 1, 4.08, 6127.66, 1, 5.26, 6438.50, + /*R5*/ 9, 1.22, 6283.08, 1, 0.66, 12566.15}, + //Dmer精度:J2000+-4千年 黄经0.2角秒 黄纬0.2角秒 距离0.2AU/10^6 []float64{ - 1000000000,//A的倍率 - 20,443,710,761,791,818,824,1043,1106,1142,1169,1190,1196,1550,1742,1781,1808,1823,1823,//位置索引表 - /*L0*/ 4402507101,0.0000000000,0.0000000000,409894150,1.483020342,26087.903141574,50462942,4.47785490,52175.80628315,8553468,1.1652032,78263.7094247,1655904,4.1196916,104351.6125663,345619,0.779308,130439.515708,75835,3.71348,156527.41885,35597,1.51203,1109.37855,18035,4.10333,5661.33205,17260,0.35832,182615.32199,15899,2.99510,25028.52121,13647,4.59918,27197.28169,10173,0.88031,31749.23519,7142,1.5414,24978.5246,6438,5.3027,21535.9496,4511,6.0499,51116.4244,4042,3.2823,208703.2251,3524,5.2416,20426.5711,3452,2.7921,15874.6176,3433,5.7653,955.5997,3392,5.8633,25558.2122,3253,1.3367,53285.1848,2729,2.4945,529.6910,2643,3.9171,57837.1383,2596,0.9873,4551.9535,2388,0.1134,1059.3819,2348,0.2667,11322.6641,2166,0.6599,13521.7514,2090,2.0918,47623.8528,1834,2.6288,27043.5029,1816,2.4341,25661.3050,1760,4.5364,51066.4277,1726,2.4520,24498.8302,1423,3.3600,37410.5672,1379,0.2910,10213.2855,1252,3.7208,39609.6546,1182,2.7815,77204.3275,1064,4.2057,19804.8273,969,6.204,234791.128,900,5.852,41962.521,883,5.413,26617.594,868,2.642,51646.115,867,1.960,46514.474,850,4.331,79373.088,697,3.572,25132.303,692,4.194,19.670,685,0.634,83925.041,648,0.048,33326.579,635,3.147,7238.676,595,2.747,16983.996,565,5.119,73711.756,554,4.053,30639.857,544,3.143,27147.285,515,5.478,50586.733,496,3.990,6770.711,480,5.493,51749.208,476,5.497,3.881,447,1.224,77154.331,419,5.193,6283.076,418,5.642,53131.406,380,2.431,12566.152,360,1.424,2218.757,356,0.814,32858.614,354,3.370,36301.189,340,0.475,65697.558,340,2.786,14765.239,308,5.770,103292.231,306,5.840,43071.899,295,0.698,213.299,285,0.650,426.598,275,0.980,45892.730,271,0.085,63498.470,268,1.061,3442.575,263,0.648,1589.073,262,5.242,22645.328,243,4.400,7.114,237,2.842,260879.031,229,2.585,68050.424,224,1.025,105460.991,223,5.653,77734.018,223,2.179,52705.497,222,3.224,25448.006,220,4.934,72602.377,186,4.527,28306.660,178,3.612,110012.945,176,4.717,25874.604,172,0.284,51220.207,172,3.261,153.779,149,1.835,99799.659,144,0.966,26107.573,144,1.910,23969.139,142,5.142,26068.233,142,6.124,53235.188,140,2.302,76674.637,134,4.518,26080.790,134,0.766,56727.760,124,2.223,77837.111,120,6.205,18849.228,116,2.385,79219.309,115,4.178,103242.234,112,2.048,32370.979,111,3.783,26301.202,100,2.046,48733.231,98,2.27,26091.78,97,3.84,26084.02,97,2.99,59414.48,97,5.78,25938.34,94,5.44,38654.05,93,4.03,467.96,90,6.23,25021.41,90,3.48,91785.46,90,0.11,62389.09,89,2.85,25035.63,83,5.34,19317.19,82,5.78,40853.14,81,1.12,26095.02,80,2.46,129380.13,76,0.18,12432.04,74,4.71,6.63,70,3.99,71980.63,70,1.63,23869.15,66,3.66,26514.50,61,3.67,27676.98,60,0.00,51535.91,59,3.99,131548.89,59,4.12,29530.48,59,5.57,94138.33,59,5.76,286966.93,59,6.13,26011.64,59,2.14,20760.43,58,2.35,103821.92,58,4.45,19406.68,57,3.02,89586.37,57,5.18,78793.40,57,1.61,98690.28,52,3.29,38519.95,51,3.78,58946.52,46,0.29,136100.85,45,1.50,51962.51,45,4.89,50057.04,44,3.25,77308.11, - /*L1*/ 26088147062227,0.000000000000,0.000000000000,11260078,6.21703971,26087.90314157,3034714,3.0556547,52175.8062831,805385,6.104547,78263.709425,212450,2.835319,104351.612566,55921,5.82676,130439.51571,14722,2.51845,156527.41885,3883,5.4804,182615.3220,3522,3.0524,1109.3786,1027,2.1488,208703.2251,935,6.118,27197.282,906,0.000,24978.525,519,5.621,5661.332,444,4.573,25028.521,281,3.042,51066.428,273,5.092,234791.128,220,0.865,955.600,204,3.715,20426.571,202,0.519,21535.950,175,5.727,4551.953,167,1.351,529.691,154,5.743,19.670,153,1.792,11322.664,140,3.594,24498.830,128,2.696,53285.185,126,3.895,3.881,126,4.705,1059.382,86,6.06,77154.33,80,3.93,27043.50,80,4.18,26617.59,79,0.50,46514.47,77,2.48,57837.14,73,1.75,260879.03,72,2.98,2218.76,68,2.77,7.11,66,5.53,6770.71,64,2.14,25132.30,59,2.20,13521.75,58,4.28,16984.00,50,3.94,25661.30,50,2.48,30639.86,49,4.85,37410.57,46,0.82,25558.21,46,1.56,27147.29,45,5.79,3442.57,44,4.94,213.30,43,5.09,10213.29,42,5.54,83925.04,37,1.40,77204.33,36,2.34,32858.61,35,3.59,26068.23,34,0.50,22645.33,33,5.23,25448.01,32,1.26,14765.24,31,6.21,26080.79,31,6.07,28306.66,30,4.45,7238.68,30,0.14,50586.73,29,1.64,25021.41,29,0.67,26091.78,28,2.51,26107.57,28,3.54,72602.38,27,5.64,1589.07,27,0.88,52705.50,26,2.78,103242.23,25,5.80,26095.02,25,4.35,41962.52,24,1.16,25035.63,23,5.44,26084.02,23,1.85,36301.19,21,5.16,51220.21,21,1.07,43071.90,20,2.96,23969.14,20,4.44,103292.23,20,0.84,12566.15,20,4.68,286966.93,18,1.81,26301.20,18,5.18,426.60,17,2.29,110012.94,17,4.63,53235.19,17,1.26,33326.58,16,5.53,56727.76,16,0.08,23869.15,16,4.66,79373.09,16,3.76,73711.76,14,1.14,68050.42,14,1.45,51646.12,13,3.80,19317.19,13,1.73,12432.04, - /*L2*/ 530498,0.000000,0.000000,169037,4.690723,26087.903142,73967,1.34736,52175.80628,30183,4.45644,78263.70942,11074,1.26227,104351.61257,3782,4.3200,130439.5157,1230,1.0687,156527.4188,387,4.080,182615.322,149,4.633,1109.379,119,0.792,208703.225,52,4.72,24978.52,36,3.77,234791.13,26,1.44,27197.28,20,1.50,51066.43,11,0.46,260879.03,10,1.80,955.60,8,4.54,77154.33, - /*L3*/ 1881,0.0347,52175.8063,1422,3.1251,26087.9031,969,3.004,78263.709,437,6.019,104351.613,354,0.000,0.000,180,2.775,130439.516,70,5.82,156527.42,26,2.57,182615.32,9,5.59,208703.23,3,2.32,234791.13, - /*L4*/ 1141,3.1416,0.0000,32,2.03,26087.90,19,1.42,78263.71,17,4.50,52175.81,12,4.50,104351.61,6,1.27,130439.52,3,4.31,156527.42,1,1.06,182615.32,1,4.09,208703.23, - /*L5*/ 9,3.14,0.00,1,3.38,52175.81, - /*B0*/ 117375290,1.983574988,26087.903141574,23880770,5.03738960,52175.80628315,12228395,3.14159265,0.00000000,5432518,1.7964436,78263.7094247,1297788,4.8323250,104351.6125663,318669,1.580885,130439.515708,79633,4.60972,156527.41885,20142,1.35324,182615.32199,5140,4.3784,208703.2251,2086,2.0202,24978.5246,2077,4.9177,27197.2817,1320,1.1191,234791.1283,1214,1.8127,53285.1848,1005,5.6568,20426.5711,992,0.094,51116.424,946,1.242,31749.235,916,2.282,25028.521,843,5.085,51066.428,788,4.407,57837.138,777,0.526,1059.382,499,3.498,5661.332,465,3.237,77204.327,448,4.878,79373.088,408,2.466,46514.474,374,4.458,4551.953,359,1.091,1109.379,341,4.142,260879.031,320,1.185,83925.041,318,2.415,47623.853,310,3.503,21535.950,287,1.848,77154.331,258,2.776,27043.503,252,3.591,27147.285,202,3.068,51646.115,201,4.066,25132.303,186,5.584,73711.756,170,6.137,41962.521,170,0.028,103292.231,158,3.796,529.691,156,6.077,53131.406,150,1.647,105460.991,142,0.331,10213.286,140,5.528,72602.377,130,3.480,37410.567,129,4.817,30639.857,124,4.051,39609.655,123,3.166,14765.239,113,0.113,13521.751,112,0.557,63498.470,110,5.797,51749.208,110,4.232,110012.945,107,1.537,25661.305,105,5.830,50586.733,102,2.879,12566.152,99,0.95,65697.56,98,1.66,24498.83,94,1.82,15874.62,92,6.16,77734.02,91,4.89,103242.23,90,1.04,426.60,89,0.40,53235.19,88,0.88,286966.93,88,5.81,11322.66,87,3.04,68050.42,85,1.05,1589.07,83,5.27,25558.21,82,0.84,51220.21,76,3.44,36301.19,73,2.37,99799.66,71,5.74,26617.59,66,2.67,52705.50,58,6.25,33326.58,57,2.87,79219.31, - /*B1*/ 4291514,3.5016978,26087.9031416,1462337,3.1415927,0.0000000,226753,0.015154,52175.806283,108950,0.485402,78263.709425,63535,3.42944,104351.61257,24957,0.16051,130439.51571,8596,3.1845,156527.4188,2775,6.2102,182615.3220,862,2.952,208703.225,277,0.291,27197.282,261,5.977,234791.128,128,3.377,53285.185,127,0.538,24978.525,78,2.72,260879.03,75,3.58,51066.43,62,2.92,31749.24,55,1.97,51116.42,35,0.11,79373.09,34,0.35,77154.33,29,5.95,57837.14,27,0.99,25028.52, - /*B2*/ 118309,4.790656,26087.903142,19135,0.00000,0.00000,10448,1.21217,52175.80628,2662,4.4342,78263.7094,1703,1.6226,104351.6126,963,4.800,130439.516,447,1.608,156527.419,183,4.669,182615.322,69,1.43,208703.23,25,4.47,234791.13,17,1.83,27197.28,9,1.23,260879.03, - /*B3*/ 2354,0.3539,26087.9031,1605,0.0000,0.0000,189,4.363,52175.806,64,2.51,78263.71,46,6.14,104351.61,31,3.12,130439.52,17,6.27,156527.42,9,3.08,182615.32,4,6.15,208703.23, - /*B4*/ 43,1.75,26087.90,10,3.14,0.00,4,4.03,52175.81,3,0.21,78263.71,1,3.75,104351.61,1,1.18,130439.52,1,4.55,156527.42, - /*B5*/ 1,3.95,26087.90,1,3.14,0.00, - /*R0*/ 395282717,0.000000000,0.000000000,78341318,6.19233723,26087.90314157,7955256,2.9598969,52175.8062831,1212818,6.0106415,78263.7094247,219220,2.778201,104351.612566,43541,5.82895,130439.51571,9182,2.5965,156527.4188,2900,1.4244,25028.5212,2600,3.0282,27197.2817,2019,5.6473,182615.3220,2015,5.5923,31749.2352,1420,6.2526,24978.5246,1001,3.7344,21535.9496,776,3.670,20426.571,755,4.474,51116.424,668,2.525,5661.332,633,4.299,25558.212,630,4.766,1059.382,483,6.068,53285.185,457,2.415,208703.225,442,1.220,15874.618,408,2.359,57837.138,372,0.517,47623.853,352,1.059,27043.503,339,0.864,25661.305,309,0.884,24498.830,301,1.795,37410.567,284,3.021,51066.428,261,2.150,39609.655,213,5.369,13521.751,194,4.984,10213.286,187,4.965,11322.664,171,1.241,77204.327,169,3.888,26617.594,163,2.633,19804.827,151,0.445,46514.474,150,4.282,41962.521,140,4.771,33326.579,139,1.626,27147.285,139,2.000,25132.303,134,1.077,51646.115,128,6.064,1109.379,128,2.076,529.691,121,2.850,79373.088,119,2.365,4551.953,106,5.466,234791.128,95,0.84,12566.15,94,5.41,83925.04,91,1.21,14765.24,89,3.88,50586.73,85,3.57,73711.76,77,3.92,51749.21,75,2.45,30639.86,75,5.53,32858.61,72,1.17,16984.00,71,5.33,426.60,69,5.31,1589.07,69,1.82,36301.19,66,4.28,43071.90,65,6.07,77154.33,59,4.07,53131.41,54,5.20,65697.56,52,3.57,6283.08,44,5.69,45892.73,41,1.65,25448.01,41,3.68,22645.33,41,4.29,103292.23,36,2.96,28306.66,34,0.65,52705.50,34,3.49,72602.38,33,3.14,25874.60,33,1.03,68050.42,31,4.13,77734.02,30,5.91,105460.99,28,4.63,18849.23,28,5.05,51220.21,28,5.68,26107.57,27,4.68,53235.19,27,4.75,63498.47,27,3.57,26068.23,26,2.95,26080.79,25,0.35,23969.14,25,2.23,260879.03,23,0.50,32370.98,23,2.18,110012.94,21,0.85,76674.64,21,2.19,26301.20,20,0.34,99799.66,20,0.47,48733.23,20,3.77,19317.19,20,1.37,7238.68,19,2.37,6770.71,19,0.69,26091.78,19,3.93,38654.05,19,2.27,26084.02,18,4.21,25938.34,18,0.92,79219.31,18,5.51,56727.76,17,0.68,77837.11,17,4.29,40853.14,17,2.15,26514.50,17,4.98,9103.91,16,4.66,25021.41,16,1.28,25035.63,16,5.85,26095.02,16,2.84,103242.23,15,1.55,955.60,15,2.16,27676.98,14,0.06,23869.15,14,4.85,62389.09,12,1.97,91785.46,12,1.73,38519.95,11,4.56,26011.64,10,2.78,213.30,10,1.06,129380.13,10,2.44,71980.63,10,4.71,51535.91,10,2.54,29530.48, - /*R1*/ 2173477,4.6561716,26087.9031416,441418,1.423855,52175.806283,100945,4.474663,78263.709425,24328,1.24226,104351.61257,16244,0.00000,0.00000,6040,4.2930,130439.5157,1529,1.0606,156527.4188,392,4.111,182615.322,180,4.712,24978.525,178,4.544,27197.282,102,0.879,208703.225,81,3.01,25028.52,44,2.14,20426.57,44,1.48,51066.43,35,3.21,1059.38,31,5.24,21535.95,27,3.93,234791.13,25,2.03,24498.83,20,1.24,53285.18,20,4.05,5661.33,15,2.62,26617.59,15,2.36,27043.50,14,1.38,1109.38,13,5.19,46514.47,13,0.56,25132.30,12,0.21,11322.66,12,4.53,77154.33,11,0.86,57837.14,11,6.24,27147.29,10,3.28,37410.57,9,2.37,25661.30,9,5.55,25558.21,8,5.96,14765.24,7,0.78,32858.61,7,4.07,1589.07,7,2.71,16984.00,7,0.93,30639.86,7,0.70,260879.03,7,2.02,26068.23,6,0.86,4551.95,6,3.66,25448.01,6,4.50,28306.66,6,4.65,26080.79,6,3.50,10213.29,6,0.63,13521.75,5,5.38,26091.78,5,0.94,26107.57,5,5.22,22645.33,5,0.06,25021.41,5,3.89,83925.04,5,4.84,50586.73,5,5.55,12566.15,5,4.24,26095.02,5,6.01,77204.33,5,0.73,529.69,4,3.87,26084.02,4,5.87,25035.63,4,5.79,43071.90,4,0.26,36301.19,4,2.78,41962.52,4,5.60,52705.50,4,3.82,426.60,4,1.96,72602.38,4,6.00,33326.58, - /*R2*/ 31179,3.08232,26087.90314,12454,6.15183,52175.80628,4248,2.9258,78263.7094,1361,5.9798,104351.6126,422,2.749,130439.516,218,3.142,0.000,128,5.801,156527.419,38,2.57,182615.32,11,5.62,208703.23,10,3.15,24978.52,5,6.14,27197.28,3,2.39,234791.13,3,6.21,51066.43, - /*R3*/ 327,1.680,26087.903,242,4.634,52175.806,121,1.390,78263.709,51,4.44,104351.61,20,1.21,130439.52,15,3.14,0.00,7,4.26,156527.42,3,1.03,182615.32,1,4.08,208703.23, - /*R4*/ 4,0.37,26087.90,4,3.19,52175.81,3,6.17,78263.71,1,2.92,104351.61,1,5.96,130439.52}, - + 1000000000, //A的倍率 + 20, 443, 710, 761, 791, 818, 824, 1043, 1106, 1142, 1169, 1190, 1196, 1550, 1742, 1781, 1808, 1823, 1823, //位置索引表 + /*L0*/ 4402507101, 0.0000000000, 0.0000000000, 409894150, 1.483020342, 26087.903141574, 50462942, 4.47785490, 52175.80628315, 8553468, 1.1652032, 78263.7094247, 1655904, 4.1196916, 104351.6125663, 345619, 0.779308, 130439.515708, 75835, 3.71348, 156527.41885, 35597, 1.51203, 1109.37855, 18035, 4.10333, 5661.33205, 17260, 0.35832, 182615.32199, 15899, 2.99510, 25028.52121, 13647, 4.59918, 27197.28169, 10173, 0.88031, 31749.23519, 7142, 1.5414, 24978.5246, 6438, 5.3027, 21535.9496, 4511, 6.0499, 51116.4244, 4042, 3.2823, 208703.2251, 3524, 5.2416, 20426.5711, 3452, 2.7921, 15874.6176, 3433, 5.7653, 955.5997, 3392, 5.8633, 25558.2122, 3253, 1.3367, 53285.1848, 2729, 2.4945, 529.6910, 2643, 3.9171, 57837.1383, 2596, 0.9873, 4551.9535, 2388, 0.1134, 1059.3819, 2348, 0.2667, 11322.6641, 2166, 0.6599, 13521.7514, 2090, 2.0918, 47623.8528, 1834, 2.6288, 27043.5029, 1816, 2.4341, 25661.3050, 1760, 4.5364, 51066.4277, 1726, 2.4520, 24498.8302, 1423, 3.3600, 37410.5672, 1379, 0.2910, 10213.2855, 1252, 3.7208, 39609.6546, 1182, 2.7815, 77204.3275, 1064, 4.2057, 19804.8273, 969, 6.204, 234791.128, 900, 5.852, 41962.521, 883, 5.413, 26617.594, 868, 2.642, 51646.115, 867, 1.960, 46514.474, 850, 4.331, 79373.088, 697, 3.572, 25132.303, 692, 4.194, 19.670, 685, 0.634, 83925.041, 648, 0.048, 33326.579, 635, 3.147, 7238.676, 595, 2.747, 16983.996, 565, 5.119, 73711.756, 554, 4.053, 30639.857, 544, 3.143, 27147.285, 515, 5.478, 50586.733, 496, 3.990, 6770.711, 480, 5.493, 51749.208, 476, 5.497, 3.881, 447, 1.224, 77154.331, 419, 5.193, 6283.076, 418, 5.642, 53131.406, 380, 2.431, 12566.152, 360, 1.424, 2218.757, 356, 0.814, 32858.614, 354, 3.370, 36301.189, 340, 0.475, 65697.558, 340, 2.786, 14765.239, 308, 5.770, 103292.231, 306, 5.840, 43071.899, 295, 0.698, 213.299, 285, 0.650, 426.598, 275, 0.980, 45892.730, 271, 0.085, 63498.470, 268, 1.061, 3442.575, 263, 0.648, 1589.073, 262, 5.242, 22645.328, 243, 4.400, 7.114, 237, 2.842, 260879.031, 229, 2.585, 68050.424, 224, 1.025, 105460.991, 223, 5.653, 77734.018, 223, 2.179, 52705.497, 222, 3.224, 25448.006, 220, 4.934, 72602.377, 186, 4.527, 28306.660, 178, 3.612, 110012.945, 176, 4.717, 25874.604, 172, 0.284, 51220.207, 172, 3.261, 153.779, 149, 1.835, 99799.659, 144, 0.966, 26107.573, 144, 1.910, 23969.139, 142, 5.142, 26068.233, 142, 6.124, 53235.188, 140, 2.302, 76674.637, 134, 4.518, 26080.790, 134, 0.766, 56727.760, 124, 2.223, 77837.111, 120, 6.205, 18849.228, 116, 2.385, 79219.309, 115, 4.178, 103242.234, 112, 2.048, 32370.979, 111, 3.783, 26301.202, 100, 2.046, 48733.231, 98, 2.27, 26091.78, 97, 3.84, 26084.02, 97, 2.99, 59414.48, 97, 5.78, 25938.34, 94, 5.44, 38654.05, 93, 4.03, 467.96, 90, 6.23, 25021.41, 90, 3.48, 91785.46, 90, 0.11, 62389.09, 89, 2.85, 25035.63, 83, 5.34, 19317.19, 82, 5.78, 40853.14, 81, 1.12, 26095.02, 80, 2.46, 129380.13, 76, 0.18, 12432.04, 74, 4.71, 6.63, 70, 3.99, 71980.63, 70, 1.63, 23869.15, 66, 3.66, 26514.50, 61, 3.67, 27676.98, 60, 0.00, 51535.91, 59, 3.99, 131548.89, 59, 4.12, 29530.48, 59, 5.57, 94138.33, 59, 5.76, 286966.93, 59, 6.13, 26011.64, 59, 2.14, 20760.43, 58, 2.35, 103821.92, 58, 4.45, 19406.68, 57, 3.02, 89586.37, 57, 5.18, 78793.40, 57, 1.61, 98690.28, 52, 3.29, 38519.95, 51, 3.78, 58946.52, 46, 0.29, 136100.85, 45, 1.50, 51962.51, 45, 4.89, 50057.04, 44, 3.25, 77308.11, + /*L1*/ 26088147062227, 0.000000000000, 0.000000000000, 11260078, 6.21703971, 26087.90314157, 3034714, 3.0556547, 52175.8062831, 805385, 6.104547, 78263.709425, 212450, 2.835319, 104351.612566, 55921, 5.82676, 130439.51571, 14722, 2.51845, 156527.41885, 3883, 5.4804, 182615.3220, 3522, 3.0524, 1109.3786, 1027, 2.1488, 208703.2251, 935, 6.118, 27197.282, 906, 0.000, 24978.525, 519, 5.621, 5661.332, 444, 4.573, 25028.521, 281, 3.042, 51066.428, 273, 5.092, 234791.128, 220, 0.865, 955.600, 204, 3.715, 20426.571, 202, 0.519, 21535.950, 175, 5.727, 4551.953, 167, 1.351, 529.691, 154, 5.743, 19.670, 153, 1.792, 11322.664, 140, 3.594, 24498.830, 128, 2.696, 53285.185, 126, 3.895, 3.881, 126, 4.705, 1059.382, 86, 6.06, 77154.33, 80, 3.93, 27043.50, 80, 4.18, 26617.59, 79, 0.50, 46514.47, 77, 2.48, 57837.14, 73, 1.75, 260879.03, 72, 2.98, 2218.76, 68, 2.77, 7.11, 66, 5.53, 6770.71, 64, 2.14, 25132.30, 59, 2.20, 13521.75, 58, 4.28, 16984.00, 50, 3.94, 25661.30, 50, 2.48, 30639.86, 49, 4.85, 37410.57, 46, 0.82, 25558.21, 46, 1.56, 27147.29, 45, 5.79, 3442.57, 44, 4.94, 213.30, 43, 5.09, 10213.29, 42, 5.54, 83925.04, 37, 1.40, 77204.33, 36, 2.34, 32858.61, 35, 3.59, 26068.23, 34, 0.50, 22645.33, 33, 5.23, 25448.01, 32, 1.26, 14765.24, 31, 6.21, 26080.79, 31, 6.07, 28306.66, 30, 4.45, 7238.68, 30, 0.14, 50586.73, 29, 1.64, 25021.41, 29, 0.67, 26091.78, 28, 2.51, 26107.57, 28, 3.54, 72602.38, 27, 5.64, 1589.07, 27, 0.88, 52705.50, 26, 2.78, 103242.23, 25, 5.80, 26095.02, 25, 4.35, 41962.52, 24, 1.16, 25035.63, 23, 5.44, 26084.02, 23, 1.85, 36301.19, 21, 5.16, 51220.21, 21, 1.07, 43071.90, 20, 2.96, 23969.14, 20, 4.44, 103292.23, 20, 0.84, 12566.15, 20, 4.68, 286966.93, 18, 1.81, 26301.20, 18, 5.18, 426.60, 17, 2.29, 110012.94, 17, 4.63, 53235.19, 17, 1.26, 33326.58, 16, 5.53, 56727.76, 16, 0.08, 23869.15, 16, 4.66, 79373.09, 16, 3.76, 73711.76, 14, 1.14, 68050.42, 14, 1.45, 51646.12, 13, 3.80, 19317.19, 13, 1.73, 12432.04, + /*L2*/ 530498, 0.000000, 0.000000, 169037, 4.690723, 26087.903142, 73967, 1.34736, 52175.80628, 30183, 4.45644, 78263.70942, 11074, 1.26227, 104351.61257, 3782, 4.3200, 130439.5157, 1230, 1.0687, 156527.4188, 387, 4.080, 182615.322, 149, 4.633, 1109.379, 119, 0.792, 208703.225, 52, 4.72, 24978.52, 36, 3.77, 234791.13, 26, 1.44, 27197.28, 20, 1.50, 51066.43, 11, 0.46, 260879.03, 10, 1.80, 955.60, 8, 4.54, 77154.33, + /*L3*/ 1881, 0.0347, 52175.8063, 1422, 3.1251, 26087.9031, 969, 3.004, 78263.709, 437, 6.019, 104351.613, 354, 0.000, 0.000, 180, 2.775, 130439.516, 70, 5.82, 156527.42, 26, 2.57, 182615.32, 9, 5.59, 208703.23, 3, 2.32, 234791.13, + /*L4*/ 1141, 3.1416, 0.0000, 32, 2.03, 26087.90, 19, 1.42, 78263.71, 17, 4.50, 52175.81, 12, 4.50, 104351.61, 6, 1.27, 130439.52, 3, 4.31, 156527.42, 1, 1.06, 182615.32, 1, 4.09, 208703.23, + /*L5*/ 9, 3.14, 0.00, 1, 3.38, 52175.81, + /*B0*/ 117375290, 1.983574988, 26087.903141574, 23880770, 5.03738960, 52175.80628315, 12228395, 3.14159265, 0.00000000, 5432518, 1.7964436, 78263.7094247, 1297788, 4.8323250, 104351.6125663, 318669, 1.580885, 130439.515708, 79633, 4.60972, 156527.41885, 20142, 1.35324, 182615.32199, 5140, 4.3784, 208703.2251, 2086, 2.0202, 24978.5246, 2077, 4.9177, 27197.2817, 1320, 1.1191, 234791.1283, 1214, 1.8127, 53285.1848, 1005, 5.6568, 20426.5711, 992, 0.094, 51116.424, 946, 1.242, 31749.235, 916, 2.282, 25028.521, 843, 5.085, 51066.428, 788, 4.407, 57837.138, 777, 0.526, 1059.382, 499, 3.498, 5661.332, 465, 3.237, 77204.327, 448, 4.878, 79373.088, 408, 2.466, 46514.474, 374, 4.458, 4551.953, 359, 1.091, 1109.379, 341, 4.142, 260879.031, 320, 1.185, 83925.041, 318, 2.415, 47623.853, 310, 3.503, 21535.950, 287, 1.848, 77154.331, 258, 2.776, 27043.503, 252, 3.591, 27147.285, 202, 3.068, 51646.115, 201, 4.066, 25132.303, 186, 5.584, 73711.756, 170, 6.137, 41962.521, 170, 0.028, 103292.231, 158, 3.796, 529.691, 156, 6.077, 53131.406, 150, 1.647, 105460.991, 142, 0.331, 10213.286, 140, 5.528, 72602.377, 130, 3.480, 37410.567, 129, 4.817, 30639.857, 124, 4.051, 39609.655, 123, 3.166, 14765.239, 113, 0.113, 13521.751, 112, 0.557, 63498.470, 110, 5.797, 51749.208, 110, 4.232, 110012.945, 107, 1.537, 25661.305, 105, 5.830, 50586.733, 102, 2.879, 12566.152, 99, 0.95, 65697.56, 98, 1.66, 24498.83, 94, 1.82, 15874.62, 92, 6.16, 77734.02, 91, 4.89, 103242.23, 90, 1.04, 426.60, 89, 0.40, 53235.19, 88, 0.88, 286966.93, 88, 5.81, 11322.66, 87, 3.04, 68050.42, 85, 1.05, 1589.07, 83, 5.27, 25558.21, 82, 0.84, 51220.21, 76, 3.44, 36301.19, 73, 2.37, 99799.66, 71, 5.74, 26617.59, 66, 2.67, 52705.50, 58, 6.25, 33326.58, 57, 2.87, 79219.31, + /*B1*/ 4291514, 3.5016978, 26087.9031416, 1462337, 3.1415927, 0.0000000, 226753, 0.015154, 52175.806283, 108950, 0.485402, 78263.709425, 63535, 3.42944, 104351.61257, 24957, 0.16051, 130439.51571, 8596, 3.1845, 156527.4188, 2775, 6.2102, 182615.3220, 862, 2.952, 208703.225, 277, 0.291, 27197.282, 261, 5.977, 234791.128, 128, 3.377, 53285.185, 127, 0.538, 24978.525, 78, 2.72, 260879.03, 75, 3.58, 51066.43, 62, 2.92, 31749.24, 55, 1.97, 51116.42, 35, 0.11, 79373.09, 34, 0.35, 77154.33, 29, 5.95, 57837.14, 27, 0.99, 25028.52, + /*B2*/ 118309, 4.790656, 26087.903142, 19135, 0.00000, 0.00000, 10448, 1.21217, 52175.80628, 2662, 4.4342, 78263.7094, 1703, 1.6226, 104351.6126, 963, 4.800, 130439.516, 447, 1.608, 156527.419, 183, 4.669, 182615.322, 69, 1.43, 208703.23, 25, 4.47, 234791.13, 17, 1.83, 27197.28, 9, 1.23, 260879.03, + /*B3*/ 2354, 0.3539, 26087.9031, 1605, 0.0000, 0.0000, 189, 4.363, 52175.806, 64, 2.51, 78263.71, 46, 6.14, 104351.61, 31, 3.12, 130439.52, 17, 6.27, 156527.42, 9, 3.08, 182615.32, 4, 6.15, 208703.23, + /*B4*/ 43, 1.75, 26087.90, 10, 3.14, 0.00, 4, 4.03, 52175.81, 3, 0.21, 78263.71, 1, 3.75, 104351.61, 1, 1.18, 130439.52, 1, 4.55, 156527.42, + /*B5*/ 1, 3.95, 26087.90, 1, 3.14, 0.00, + /*R0*/ 395282717, 0.000000000, 0.000000000, 78341318, 6.19233723, 26087.90314157, 7955256, 2.9598969, 52175.8062831, 1212818, 6.0106415, 78263.7094247, 219220, 2.778201, 104351.612566, 43541, 5.82895, 130439.51571, 9182, 2.5965, 156527.4188, 2900, 1.4244, 25028.5212, 2600, 3.0282, 27197.2817, 2019, 5.6473, 182615.3220, 2015, 5.5923, 31749.2352, 1420, 6.2526, 24978.5246, 1001, 3.7344, 21535.9496, 776, 3.670, 20426.571, 755, 4.474, 51116.424, 668, 2.525, 5661.332, 633, 4.299, 25558.212, 630, 4.766, 1059.382, 483, 6.068, 53285.185, 457, 2.415, 208703.225, 442, 1.220, 15874.618, 408, 2.359, 57837.138, 372, 0.517, 47623.853, 352, 1.059, 27043.503, 339, 0.864, 25661.305, 309, 0.884, 24498.830, 301, 1.795, 37410.567, 284, 3.021, 51066.428, 261, 2.150, 39609.655, 213, 5.369, 13521.751, 194, 4.984, 10213.286, 187, 4.965, 11322.664, 171, 1.241, 77204.327, 169, 3.888, 26617.594, 163, 2.633, 19804.827, 151, 0.445, 46514.474, 150, 4.282, 41962.521, 140, 4.771, 33326.579, 139, 1.626, 27147.285, 139, 2.000, 25132.303, 134, 1.077, 51646.115, 128, 6.064, 1109.379, 128, 2.076, 529.691, 121, 2.850, 79373.088, 119, 2.365, 4551.953, 106, 5.466, 234791.128, 95, 0.84, 12566.15, 94, 5.41, 83925.04, 91, 1.21, 14765.24, 89, 3.88, 50586.73, 85, 3.57, 73711.76, 77, 3.92, 51749.21, 75, 2.45, 30639.86, 75, 5.53, 32858.61, 72, 1.17, 16984.00, 71, 5.33, 426.60, 69, 5.31, 1589.07, 69, 1.82, 36301.19, 66, 4.28, 43071.90, 65, 6.07, 77154.33, 59, 4.07, 53131.41, 54, 5.20, 65697.56, 52, 3.57, 6283.08, 44, 5.69, 45892.73, 41, 1.65, 25448.01, 41, 3.68, 22645.33, 41, 4.29, 103292.23, 36, 2.96, 28306.66, 34, 0.65, 52705.50, 34, 3.49, 72602.38, 33, 3.14, 25874.60, 33, 1.03, 68050.42, 31, 4.13, 77734.02, 30, 5.91, 105460.99, 28, 4.63, 18849.23, 28, 5.05, 51220.21, 28, 5.68, 26107.57, 27, 4.68, 53235.19, 27, 4.75, 63498.47, 27, 3.57, 26068.23, 26, 2.95, 26080.79, 25, 0.35, 23969.14, 25, 2.23, 260879.03, 23, 0.50, 32370.98, 23, 2.18, 110012.94, 21, 0.85, 76674.64, 21, 2.19, 26301.20, 20, 0.34, 99799.66, 20, 0.47, 48733.23, 20, 3.77, 19317.19, 20, 1.37, 7238.68, 19, 2.37, 6770.71, 19, 0.69, 26091.78, 19, 3.93, 38654.05, 19, 2.27, 26084.02, 18, 4.21, 25938.34, 18, 0.92, 79219.31, 18, 5.51, 56727.76, 17, 0.68, 77837.11, 17, 4.29, 40853.14, 17, 2.15, 26514.50, 17, 4.98, 9103.91, 16, 4.66, 25021.41, 16, 1.28, 25035.63, 16, 5.85, 26095.02, 16, 2.84, 103242.23, 15, 1.55, 955.60, 15, 2.16, 27676.98, 14, 0.06, 23869.15, 14, 4.85, 62389.09, 12, 1.97, 91785.46, 12, 1.73, 38519.95, 11, 4.56, 26011.64, 10, 2.78, 213.30, 10, 1.06, 129380.13, 10, 2.44, 71980.63, 10, 4.71, 51535.91, 10, 2.54, 29530.48, + /*R1*/ 2173477, 4.6561716, 26087.9031416, 441418, 1.423855, 52175.806283, 100945, 4.474663, 78263.709425, 24328, 1.24226, 104351.61257, 16244, 0.00000, 0.00000, 6040, 4.2930, 130439.5157, 1529, 1.0606, 156527.4188, 392, 4.111, 182615.322, 180, 4.712, 24978.525, 178, 4.544, 27197.282, 102, 0.879, 208703.225, 81, 3.01, 25028.52, 44, 2.14, 20426.57, 44, 1.48, 51066.43, 35, 3.21, 1059.38, 31, 5.24, 21535.95, 27, 3.93, 234791.13, 25, 2.03, 24498.83, 20, 1.24, 53285.18, 20, 4.05, 5661.33, 15, 2.62, 26617.59, 15, 2.36, 27043.50, 14, 1.38, 1109.38, 13, 5.19, 46514.47, 13, 0.56, 25132.30, 12, 0.21, 11322.66, 12, 4.53, 77154.33, 11, 0.86, 57837.14, 11, 6.24, 27147.29, 10, 3.28, 37410.57, 9, 2.37, 25661.30, 9, 5.55, 25558.21, 8, 5.96, 14765.24, 7, 0.78, 32858.61, 7, 4.07, 1589.07, 7, 2.71, 16984.00, 7, 0.93, 30639.86, 7, 0.70, 260879.03, 7, 2.02, 26068.23, 6, 0.86, 4551.95, 6, 3.66, 25448.01, 6, 4.50, 28306.66, 6, 4.65, 26080.79, 6, 3.50, 10213.29, 6, 0.63, 13521.75, 5, 5.38, 26091.78, 5, 0.94, 26107.57, 5, 5.22, 22645.33, 5, 0.06, 25021.41, 5, 3.89, 83925.04, 5, 4.84, 50586.73, 5, 5.55, 12566.15, 5, 4.24, 26095.02, 5, 6.01, 77204.33, 5, 0.73, 529.69, 4, 3.87, 26084.02, 4, 5.87, 25035.63, 4, 5.79, 43071.90, 4, 0.26, 36301.19, 4, 2.78, 41962.52, 4, 5.60, 52705.50, 4, 3.82, 426.60, 4, 1.96, 72602.38, 4, 6.00, 33326.58, + /*R2*/ 31179, 3.08232, 26087.90314, 12454, 6.15183, 52175.80628, 4248, 2.9258, 78263.7094, 1361, 5.9798, 104351.6126, 422, 2.749, 130439.516, 218, 3.142, 0.000, 128, 5.801, 156527.419, 38, 2.57, 182615.32, 11, 5.62, 208703.23, 10, 3.15, 24978.52, 5, 6.14, 27197.28, 3, 2.39, 234791.13, 3, 6.21, 51066.43, + /*R3*/ 327, 1.680, 26087.903, 242, 4.634, 52175.806, 121, 1.390, 78263.709, 51, 4.44, 104351.61, 20, 1.21, 130439.52, 15, 3.14, 0.00, 7, 4.26, 156527.42, 3, 1.03, 182615.32, 1, 4.08, 208703.23, + /*R4*/ 4, 0.37, 26087.90, 4, 3.19, 52175.81, 3, 6.17, 78263.71, 1, 2.92, 104351.61, 1, 5.96, 130439.52}, + //Dven精度:J2000+-4千年 黄经0.2角秒 黄纬0.2角秒 距离0.2AU/10^6 []float64{ - 1000000000,//A的倍率 - 20,257,374,425,437,449,458,566,629,641,653,665,668,929,1040,1082,1091,1094,1094,//位置索引表 - /*L0*/ 3176146668,0.0000000000,0.0000000000,13539684,5.59313320,10213.28554621,898916,5.306500,20426.571092,54772,4.41631,7860.41939,34557,2.69964,11790.62909,23721,2.99378,3930.20970,16641,4.25019,1577.34354,14383,4.15745,9683.59458,13171,5.18668,26.29832,12005,6.15357,30639.85664,7693,0.8163,9437.7629,7614,1.9501,529.6910,7077,1.0647,775.5226,5848,3.9984,191.4483,4999,4.1234,15720.8388,4295,3.5864,19367.1892,3270,5.6774,5507.5532,3262,4.5906,10404.7338,2319,3.1625,9153.9036,1797,4.6534,1109.3786,1555,5.5704,19651.0485,1283,4.2260,20.7754,1279,0.9621,5661.3320,1055,1.5372,801.8209,991,0.833,213.299,988,5.394,13367.973,880,3.889,9999.986,857,0.356,3154.687,821,3.216,18837.498,716,0.111,11015.106,702,0.675,23581.258,561,4.240,7.114,508,0.245,11322.664,461,5.316,18073.705,446,6.063,40853.142,426,1.800,7084.897,426,5.329,2352.866,412,0.362,382.897,357,2.704,10206.172,339,2.023,6283.076,333,2.100,27511.468,302,4.942,13745.346,299,4.022,10239.584,293,3.514,283.859,291,3.592,22003.915,285,2.224,1059.382,263,0.541,17298.182,244,2.702,8624.213,243,4.278,5.523,237,4.829,6872.673,205,0.585,38.028,203,3.795,14143.495,191,6.120,29050.784,190,4.138,4551.953,183,3.047,19999.973,171,3.522,31441.678,159,1.501,8635.942,137,4.413,3532.061,118,1.913,21228.392,116,5.810,19896.880,110,2.584,9786.687,110,2.846,18307.807,106,0.854,10596.182,101,2.343,10742.977,99,1.09,7064.12,94,4.95,35371.89,92,5.52,12566.15,89,1.97,10186.99,82,1.92,15.25,70,1.00,632.78,68,4.40,8662.24,67,1.55,14945.32,64,2.18,10988.81,63,0.36,103.09,60,5.05,245.83,60,2.97,4732.03,58,1.93,3340.61,56,0.49,522.58,55,3.37,25158.60, - /*L1*/ 10213529430529,0.000000000000,0.000000000000,957077,2.464244,10213.285546,144450,0.516246,20426.571092,2134,1.7955,30639.8566,1739,2.6554,26.2983,1517,6.1064,1577.3435,822,5.702,191.448,697,2.681,9437.763,524,3.600,775.523,383,1.034,529.691,296,1.251,5507.553,251,6.107,10404.734,178,6.194,1109.379,165,2.643,7.114,142,5.451,9153.904,126,1.245,40853.142,126,1.881,382.897,116,4.976,213.299,89,0.95,13367.97,74,4.39,10206.17,67,5.06,801.82,66,2.28,2352.87,63,4.08,3154.69,49,3.45,11015.11,43,0.08,6283.08,41,4.12,18837.50,37,2.48,5661.33,36,1.48,1059.38,35,6.20,5.52,34,1.77,11322.66,30,2.24,18073.70,30,0.39,15.25,30,5.35,7084.90,28,1.46,10239.58,26,0.35,22003.91,24,2.36,10596.18,23,2.37,17298.18,22,2.08,8635.94,21,4.47,8624.21, - /*L2*/ 541271,0.000000,0.000000,38915,0.34514,10213.28555,13379,2.02011,20426.57109,238,2.046,26.298,193,3.535,30639.857,100,3.971,775.523,70,1.52,1577.34,60,1.00,191.45,32,4.36,9437.76,21,2.66,40853.14,19,3.39,382.90,15,6.05,529.69,13,2.95,5507.55,12,3.73,3154.69,10,3.53,11015.11,10,1.41,10404.73,10,5.11,801.82, - /*L3*/ 1357,4.8039,10213.2855,778,3.669,20426.571,260,0.000,0.000,12,5.32,30639.86, - /*L4*/ 1140,3.1416,0.0000,32,5.21,20426.57,17,2.51,10213.29,1,0.71,30639.86, - /*L5*/ 9,3.14,0.00,1,1.91,10213.29,1,0.55,20426.57, - /*B0*/ 59236385,0.26702776,10213.28554621,401080,1.147372,20426.571092,328149,3.141593,0.000000,10114,1.08946,30639.85664,1495,6.2539,18073.7049,1378,0.8602,1577.3435,1300,3.6715,9437.7629,1195,3.7047,2352.8662,1080,4.5390,22003.9146,920,1.540,9153.904,530,2.281,5507.553,456,0.723,10239.584,435,6.140,11790.629,417,5.991,19896.880,396,3.868,8635.942,392,3.950,529.691,389,2.934,10186.987,333,4.832,14143.495,237,2.906,10988.808,235,2.008,13367.973,218,2.697,19651.048,207,0.987,775.523,186,1.805,40853.142,178,5.963,25934.124,170,4.137,10021.837,154,3.296,11015.106,149,5.611,10404.734,131,5.707,9683.595,129,5.427,29580.475,120,3.576,10742.977,118,1.191,8624.213,115,5.128,6283.076,98,0.15,20618.02,95,2.75,191.45,86,0.43,9786.69,81,1.31,15720.84, - /*B1*/ 5133476,1.8036431,10213.2855462,43801,3.38616,20426.57109,1992,0.0000,0.0000,1966,2.5300,30639.8566,140,2.271,9437.763,130,1.507,18073.705,119,5.605,1577.344,103,5.242,2352.866,93,6.08,22003.91,80,0.29,9153.90,75,5.08,10186.99,74,1.50,11790.63,47,3.88,10239.58,47,0.75,5507.55,44,3.59,40853.14,40,1.28,10404.73,38,4.33,19651.05,36,1.26,19896.88,35,5.51,529.69,34,4.89,10988.81,29,0.09,14143.50, - /*B2*/ 223777,3.385091,10213.285546,2817,0.0000,0.0000,1732,5.2556,20426.5711,269,3.870,30639.857, - /*B3*/ 6467,4.9917,10213.2855,200,3.142,0.000,55,0.77,20426.57,25,5.44,30639.86, - /*B4*/ 141,0.315,10213.286,2,3.14,0.00,2,2.35,20426.57,2,0.74,30639.86, - /*B5*/ 2,2.05,10213.29, - /*R0*/ 723348209,0.000000000,0.000000000,4898242,4.0215183,10213.2855462,16581,4.90207,20426.57109,16321,2.84549,7860.41939,13780,1.12847,11790.62909,4984,2.5868,9683.5946,3740,1.4231,3930.2097,2636,5.5294,9437.7629,2375,2.5514,15720.8388,2220,2.0135,19367.1892,1259,2.7277,1577.3435,1195,3.0198,10404.7338,853,3.986,19651.048,762,1.596,9153.904,743,4.120,5507.553,425,3.819,13367.973,419,1.643,18837.498,394,5.390,23581.258,313,2.318,9999.986,290,5.677,5661.332,276,5.724,775.523,273,4.822,11015.106,198,0.532,27511.468,197,4.962,11322.664,162,0.565,529.691,136,3.755,18073.705,132,3.372,13745.346,131,5.244,17298.182,129,1.134,10206.172,118,5.090,3154.687,117,0.234,7084.897,114,4.568,29050.784,108,2.450,10239.584,107,1.955,31441.678,104,1.202,15874.618,96,1.47,19999.97,93,1.62,2352.87,91,3.07,1109.38,84,5.78,30639.86,82,1.95,22003.91,76,1.14,8624.21,65,2.17,14143.50,64,0.84,6283.08,62,3.26,6872.67,61,0.35,21228.39,60,3.38,35371.89,59,0.01,8635.94,56,3.95,12566.15,55,1.27,18307.81,45,4.73,19896.88,45,2.48,191.45,43,2.60,4551.95,40,0.00,801.82,39,5.57,10596.18,39,1.01,9786.69,35,4.80,39302.10,33,0.71,10742.98,32,0.40,10186.99,32,1.81,25158.60,31,6.26,14945.32,30,4.21,28521.09,27,5.80,7064.12,25,0.69,10988.81,24,3.78,21535.95,22,2.83,8662.24,21,6.22,43232.31,20,5.42,16496.36,20,2.21,19786.67,19,2.86,3532.06,19,2.63,29580.47,19,1.50,10021.84,18,3.23,29088.81,18,0.42,4705.73,17,3.68,26.30,15,0.00,17277.41,15,2.48,31749.24,14,5.86,9676.48,14,5.18,10316.38,13,2.49,9690.71,13,1.36,47162.52,13,5.25,19360.08,12,1.88,19374.30,12,5.56,6770.71,12,1.42,4732.03,12,1.43,18875.53,11,5.92,13936.79,11,4.64,33019.02, - /*R1*/ 345510,0.891987,10213.285546,2342,1.7722,20426.5711,2340,3.1416,0.0000,239,1.113,9437.763,106,4.592,1577.344,91,4.54,10404.73,66,5.98,5507.55,47,3.88,9153.90,38,5.66,13367.97,27,2.82,10206.17,22,2.05,775.52,21,2.55,18837.50,18,1.88,11015.11,18,2.65,30639.86,13,0.21,11322.66,12,0.79,17298.18,11,4.95,6283.08,10,6.17,10239.58,9,4.60,1109.38,9,0.81,10596.18,9,2.48,3154.69,9,0.67,18073.70,8,5.59,12566.15,8,0.44,8635.94,8,5.49,529.69,8,3.75,7084.90,8,0.90,5661.33,7,2.87,8624.21,7,5.07,22003.91,6,4.10,191.45,6,3.14,10186.99,6,2.25,21228.39,6,2.17,18307.81,5,5.87,2352.87,5,5.33,14143.50,5,4.34,9786.69,5,5.56,10742.98, - /*R2*/ 14066,5.06366,10213.28555,155,5.473,20426.571,131,0.000,0.000,11,2.79,9437.76,5,6.28,1577.34,4,1.95,11015.11,4,2.33,775.52,4,6.12,10404.73,3,1.39,5507.55,2,5.63,10239.58,2,6.17,30639.86,2,1.11,13367.97,2,3.64,7084.90,2,2.22,3154.69, - /*R3*/ 496,3.223,10213.286,8,3.21,20426.57,1,3.14,0.00, - /*R4*/ 6,0.92,10213.29}, - + 1000000000, //A的倍率 + 20, 257, 374, 425, 437, 449, 458, 566, 629, 641, 653, 665, 668, 929, 1040, 1082, 1091, 1094, 1094, //位置索引表 + /*L0*/ 3176146668, 0.0000000000, 0.0000000000, 13539684, 5.59313320, 10213.28554621, 898916, 5.306500, 20426.571092, 54772, 4.41631, 7860.41939, 34557, 2.69964, 11790.62909, 23721, 2.99378, 3930.20970, 16641, 4.25019, 1577.34354, 14383, 4.15745, 9683.59458, 13171, 5.18668, 26.29832, 12005, 6.15357, 30639.85664, 7693, 0.8163, 9437.7629, 7614, 1.9501, 529.6910, 7077, 1.0647, 775.5226, 5848, 3.9984, 191.4483, 4999, 4.1234, 15720.8388, 4295, 3.5864, 19367.1892, 3270, 5.6774, 5507.5532, 3262, 4.5906, 10404.7338, 2319, 3.1625, 9153.9036, 1797, 4.6534, 1109.3786, 1555, 5.5704, 19651.0485, 1283, 4.2260, 20.7754, 1279, 0.9621, 5661.3320, 1055, 1.5372, 801.8209, 991, 0.833, 213.299, 988, 5.394, 13367.973, 880, 3.889, 9999.986, 857, 0.356, 3154.687, 821, 3.216, 18837.498, 716, 0.111, 11015.106, 702, 0.675, 23581.258, 561, 4.240, 7.114, 508, 0.245, 11322.664, 461, 5.316, 18073.705, 446, 6.063, 40853.142, 426, 1.800, 7084.897, 426, 5.329, 2352.866, 412, 0.362, 382.897, 357, 2.704, 10206.172, 339, 2.023, 6283.076, 333, 2.100, 27511.468, 302, 4.942, 13745.346, 299, 4.022, 10239.584, 293, 3.514, 283.859, 291, 3.592, 22003.915, 285, 2.224, 1059.382, 263, 0.541, 17298.182, 244, 2.702, 8624.213, 243, 4.278, 5.523, 237, 4.829, 6872.673, 205, 0.585, 38.028, 203, 3.795, 14143.495, 191, 6.120, 29050.784, 190, 4.138, 4551.953, 183, 3.047, 19999.973, 171, 3.522, 31441.678, 159, 1.501, 8635.942, 137, 4.413, 3532.061, 118, 1.913, 21228.392, 116, 5.810, 19896.880, 110, 2.584, 9786.687, 110, 2.846, 18307.807, 106, 0.854, 10596.182, 101, 2.343, 10742.977, 99, 1.09, 7064.12, 94, 4.95, 35371.89, 92, 5.52, 12566.15, 89, 1.97, 10186.99, 82, 1.92, 15.25, 70, 1.00, 632.78, 68, 4.40, 8662.24, 67, 1.55, 14945.32, 64, 2.18, 10988.81, 63, 0.36, 103.09, 60, 5.05, 245.83, 60, 2.97, 4732.03, 58, 1.93, 3340.61, 56, 0.49, 522.58, 55, 3.37, 25158.60, + /*L1*/ 10213529430529, 0.000000000000, 0.000000000000, 957077, 2.464244, 10213.285546, 144450, 0.516246, 20426.571092, 2134, 1.7955, 30639.8566, 1739, 2.6554, 26.2983, 1517, 6.1064, 1577.3435, 822, 5.702, 191.448, 697, 2.681, 9437.763, 524, 3.600, 775.523, 383, 1.034, 529.691, 296, 1.251, 5507.553, 251, 6.107, 10404.734, 178, 6.194, 1109.379, 165, 2.643, 7.114, 142, 5.451, 9153.904, 126, 1.245, 40853.142, 126, 1.881, 382.897, 116, 4.976, 213.299, 89, 0.95, 13367.97, 74, 4.39, 10206.17, 67, 5.06, 801.82, 66, 2.28, 2352.87, 63, 4.08, 3154.69, 49, 3.45, 11015.11, 43, 0.08, 6283.08, 41, 4.12, 18837.50, 37, 2.48, 5661.33, 36, 1.48, 1059.38, 35, 6.20, 5.52, 34, 1.77, 11322.66, 30, 2.24, 18073.70, 30, 0.39, 15.25, 30, 5.35, 7084.90, 28, 1.46, 10239.58, 26, 0.35, 22003.91, 24, 2.36, 10596.18, 23, 2.37, 17298.18, 22, 2.08, 8635.94, 21, 4.47, 8624.21, + /*L2*/ 541271, 0.000000, 0.000000, 38915, 0.34514, 10213.28555, 13379, 2.02011, 20426.57109, 238, 2.046, 26.298, 193, 3.535, 30639.857, 100, 3.971, 775.523, 70, 1.52, 1577.34, 60, 1.00, 191.45, 32, 4.36, 9437.76, 21, 2.66, 40853.14, 19, 3.39, 382.90, 15, 6.05, 529.69, 13, 2.95, 5507.55, 12, 3.73, 3154.69, 10, 3.53, 11015.11, 10, 1.41, 10404.73, 10, 5.11, 801.82, + /*L3*/ 1357, 4.8039, 10213.2855, 778, 3.669, 20426.571, 260, 0.000, 0.000, 12, 5.32, 30639.86, + /*L4*/ 1140, 3.1416, 0.0000, 32, 5.21, 20426.57, 17, 2.51, 10213.29, 1, 0.71, 30639.86, + /*L5*/ 9, 3.14, 0.00, 1, 1.91, 10213.29, 1, 0.55, 20426.57, + /*B0*/ 59236385, 0.26702776, 10213.28554621, 401080, 1.147372, 20426.571092, 328149, 3.141593, 0.000000, 10114, 1.08946, 30639.85664, 1495, 6.2539, 18073.7049, 1378, 0.8602, 1577.3435, 1300, 3.6715, 9437.7629, 1195, 3.7047, 2352.8662, 1080, 4.5390, 22003.9146, 920, 1.540, 9153.904, 530, 2.281, 5507.553, 456, 0.723, 10239.584, 435, 6.140, 11790.629, 417, 5.991, 19896.880, 396, 3.868, 8635.942, 392, 3.950, 529.691, 389, 2.934, 10186.987, 333, 4.832, 14143.495, 237, 2.906, 10988.808, 235, 2.008, 13367.973, 218, 2.697, 19651.048, 207, 0.987, 775.523, 186, 1.805, 40853.142, 178, 5.963, 25934.124, 170, 4.137, 10021.837, 154, 3.296, 11015.106, 149, 5.611, 10404.734, 131, 5.707, 9683.595, 129, 5.427, 29580.475, 120, 3.576, 10742.977, 118, 1.191, 8624.213, 115, 5.128, 6283.076, 98, 0.15, 20618.02, 95, 2.75, 191.45, 86, 0.43, 9786.69, 81, 1.31, 15720.84, + /*B1*/ 5133476, 1.8036431, 10213.2855462, 43801, 3.38616, 20426.57109, 1992, 0.0000, 0.0000, 1966, 2.5300, 30639.8566, 140, 2.271, 9437.763, 130, 1.507, 18073.705, 119, 5.605, 1577.344, 103, 5.242, 2352.866, 93, 6.08, 22003.91, 80, 0.29, 9153.90, 75, 5.08, 10186.99, 74, 1.50, 11790.63, 47, 3.88, 10239.58, 47, 0.75, 5507.55, 44, 3.59, 40853.14, 40, 1.28, 10404.73, 38, 4.33, 19651.05, 36, 1.26, 19896.88, 35, 5.51, 529.69, 34, 4.89, 10988.81, 29, 0.09, 14143.50, + /*B2*/ 223777, 3.385091, 10213.285546, 2817, 0.0000, 0.0000, 1732, 5.2556, 20426.5711, 269, 3.870, 30639.857, + /*B3*/ 6467, 4.9917, 10213.2855, 200, 3.142, 0.000, 55, 0.77, 20426.57, 25, 5.44, 30639.86, + /*B4*/ 141, 0.315, 10213.286, 2, 3.14, 0.00, 2, 2.35, 20426.57, 2, 0.74, 30639.86, + /*B5*/ 2, 2.05, 10213.29, + /*R0*/ 723348209, 0.000000000, 0.000000000, 4898242, 4.0215183, 10213.2855462, 16581, 4.90207, 20426.57109, 16321, 2.84549, 7860.41939, 13780, 1.12847, 11790.62909, 4984, 2.5868, 9683.5946, 3740, 1.4231, 3930.2097, 2636, 5.5294, 9437.7629, 2375, 2.5514, 15720.8388, 2220, 2.0135, 19367.1892, 1259, 2.7277, 1577.3435, 1195, 3.0198, 10404.7338, 853, 3.986, 19651.048, 762, 1.596, 9153.904, 743, 4.120, 5507.553, 425, 3.819, 13367.973, 419, 1.643, 18837.498, 394, 5.390, 23581.258, 313, 2.318, 9999.986, 290, 5.677, 5661.332, 276, 5.724, 775.523, 273, 4.822, 11015.106, 198, 0.532, 27511.468, 197, 4.962, 11322.664, 162, 0.565, 529.691, 136, 3.755, 18073.705, 132, 3.372, 13745.346, 131, 5.244, 17298.182, 129, 1.134, 10206.172, 118, 5.090, 3154.687, 117, 0.234, 7084.897, 114, 4.568, 29050.784, 108, 2.450, 10239.584, 107, 1.955, 31441.678, 104, 1.202, 15874.618, 96, 1.47, 19999.97, 93, 1.62, 2352.87, 91, 3.07, 1109.38, 84, 5.78, 30639.86, 82, 1.95, 22003.91, 76, 1.14, 8624.21, 65, 2.17, 14143.50, 64, 0.84, 6283.08, 62, 3.26, 6872.67, 61, 0.35, 21228.39, 60, 3.38, 35371.89, 59, 0.01, 8635.94, 56, 3.95, 12566.15, 55, 1.27, 18307.81, 45, 4.73, 19896.88, 45, 2.48, 191.45, 43, 2.60, 4551.95, 40, 0.00, 801.82, 39, 5.57, 10596.18, 39, 1.01, 9786.69, 35, 4.80, 39302.10, 33, 0.71, 10742.98, 32, 0.40, 10186.99, 32, 1.81, 25158.60, 31, 6.26, 14945.32, 30, 4.21, 28521.09, 27, 5.80, 7064.12, 25, 0.69, 10988.81, 24, 3.78, 21535.95, 22, 2.83, 8662.24, 21, 6.22, 43232.31, 20, 5.42, 16496.36, 20, 2.21, 19786.67, 19, 2.86, 3532.06, 19, 2.63, 29580.47, 19, 1.50, 10021.84, 18, 3.23, 29088.81, 18, 0.42, 4705.73, 17, 3.68, 26.30, 15, 0.00, 17277.41, 15, 2.48, 31749.24, 14, 5.86, 9676.48, 14, 5.18, 10316.38, 13, 2.49, 9690.71, 13, 1.36, 47162.52, 13, 5.25, 19360.08, 12, 1.88, 19374.30, 12, 5.56, 6770.71, 12, 1.42, 4732.03, 12, 1.43, 18875.53, 11, 5.92, 13936.79, 11, 4.64, 33019.02, + /*R1*/ 345510, 0.891987, 10213.285546, 2342, 1.7722, 20426.5711, 2340, 3.1416, 0.0000, 239, 1.113, 9437.763, 106, 4.592, 1577.344, 91, 4.54, 10404.73, 66, 5.98, 5507.55, 47, 3.88, 9153.90, 38, 5.66, 13367.97, 27, 2.82, 10206.17, 22, 2.05, 775.52, 21, 2.55, 18837.50, 18, 1.88, 11015.11, 18, 2.65, 30639.86, 13, 0.21, 11322.66, 12, 0.79, 17298.18, 11, 4.95, 6283.08, 10, 6.17, 10239.58, 9, 4.60, 1109.38, 9, 0.81, 10596.18, 9, 2.48, 3154.69, 9, 0.67, 18073.70, 8, 5.59, 12566.15, 8, 0.44, 8635.94, 8, 5.49, 529.69, 8, 3.75, 7084.90, 8, 0.90, 5661.33, 7, 2.87, 8624.21, 7, 5.07, 22003.91, 6, 4.10, 191.45, 6, 3.14, 10186.99, 6, 2.25, 21228.39, 6, 2.17, 18307.81, 5, 5.87, 2352.87, 5, 5.33, 14143.50, 5, 4.34, 9786.69, 5, 5.56, 10742.98, + /*R2*/ 14066, 5.06366, 10213.28555, 155, 5.473, 20426.571, 131, 0.000, 0.000, 11, 2.79, 9437.76, 5, 6.28, 1577.34, 4, 1.95, 11015.11, 4, 2.33, 775.52, 4, 6.12, 10404.73, 3, 1.39, 5507.55, 2, 5.63, 10239.58, 2, 6.17, 30639.86, 2, 1.11, 13367.97, 2, 3.64, 7084.90, 2, 2.22, 3154.69, + /*R3*/ 496, 3.223, 10213.286, 8, 3.21, 20426.57, 1, 3.14, 0.00, + /*R4*/ 6, 0.92, 10213.29}, + //Dmar精度:J2000+-4千年 黄经0.5角秒 黄纬0.5角秒 距离1AU/10^6 []float64{ - 1000000000,//A的倍率 - 20,596,1028,1289,1385,1427,1454,1586,1670,1694,1709,1718,1724,2360,2873,3155,3239,3275,3287,//位置索引表 - /*L0*/ 6203477116,0.0000000000,0.0000000000,186563681,5.050371003,3340.612426700,11082168,5.40099837,6681.22485340,917984,5.754787,10021.837280,277450,5.970495,3.523118,123159,0.849561,2810.921462,106102,2.939585,2281.230497,89268,4.15698,0.01725,87157,6.11005,13362.44971,77749,3.33969,5621.84292,67976,0.36462,398.14900,41611,0.22815,2942.46342,35751,1.66187,2544.31442,30753,0.85697,191.44827,29375,6.07894,0.06731,26281,0.64806,3337.08931,25798,0.02997,3344.13555,23894,5.03896,796.29801,17988,0.65634,529.69097,15464,2.91580,1751.53953,15281,1.14979,6151.53389,12862,3.06796,2146.16542,12644,3.62275,5092.15196,10249,3.69334,8962.45535,8916,0.1829,16703.0621,8588,2.4009,2914.0142,8327,4.4950,3340.6297,8327,2.4642,3340.5952,7487,3.8225,155.4204,7239,0.6750,3738.7614,7129,3.6634,1059.3819,6552,0.4886,3127.3133,6356,2.9218,8432.7644,5527,4.4748,1748.0164,5505,3.8100,0.9803,4722,3.6255,1194.4470,4260,0.5537,6283.0758,4151,0.4966,213.2991,3121,0.9985,6677.7017,3066,0.3805,6684.7480,3024,4.4862,3532.0607,2994,2.7832,6254.6267,2932,4.2213,20.7754,2836,5.7689,3149.1642,2811,5.8816,1349.8674,2740,0.1337,3340.6797,2740,0.5422,3340.5451,2389,5.3716,4136.9104,2361,5.7550,3333.4989,2312,1.2824,3870.3034,2212,3.5047,382.8965,2042,2.8213,1221.8486,1931,3.3572,3.5904,1886,1.4910,9492.1463,1792,1.0056,951.7184,1741,2.4136,553.5694,1721,0.4394,5486.7778,1600,3.9485,4562.4610,1443,1.4187,135.0651,1399,3.3259,2700.7151,1382,4.3015,7.1135,1310,4.0449,12303.0678,1281,2.2081,1592.5960,1281,1.8067,5088.6288,1169,3.1281,7903.0734,1135,3.7007,1589.0729,1104,1.0520,242.7286,1045,0.7854,8827.3903,1001,3.2434,11773.3768,989,4.846,6681.242,989,2.815,6681.208,956,0.540,20043.675,869,2.202,11243.686,868,1.021,7079.374,842,3.990,4399.994,837,3.203,4690.480,750,0.766,6467.926,735,2.184,8429.241,721,5.847,5884.927,714,2.803,3185.192,690,3.764,6041.328,684,2.738,2288.344,667,0.736,3723.509,653,2.681,28.449,634,0.913,3553.912,633,4.528,426.598,617,6.168,2274.117,566,5.063,15.252,564,1.687,6872.673,559,3.463,263.084,555,4.606,4292.331,523,0.899,9623.688,517,2.813,3339.632,513,4.148,3341.593,485,3.957,4535.059,459,0.287,5614.729,458,0.788,1990.745,442,3.195,5628.956,419,3.583,8031.092,412,6.020,3894.182,407,3.138,9595.239,395,5.632,3097.884,388,1.352,10018.314,384,5.829,3191.049,382,2.348,162.467,381,0.734,10025.360,378,4.155,2803.808,371,0.685,2818.035,367,2.637,692.158,340,2.595,11769.854,336,6.120,6489.777,331,1.140,5.523,326,0.484,6681.292,326,0.893,6681.158,312,3.982,20.355,290,2.427,3319.837,287,5.721,7477.523,276,1.597,7210.916,275,6.084,6674.111,273,4.556,3361.388,264,1.345,3496.033,256,0.250,522.577,255,3.432,3443.705,254,0.521,10.637,246,4.003,11371.705,244,0.970,632.784,238,1.841,12832.759,231,4.750,3347.726,228,3.526,1648.447,227,4.985,7632.943,227,3.954,4989.059,226,5.241,3205.547,225,5.649,2388.894,223,0.721,266.607,215,6.154,3264.346,213,4.282,4032.770,212,3.118,2957.716,210,4.279,5099.266,202,3.671,1758.653,201,1.082,7064.121,198,2.377,10713.995,193,3.239,7.046,184,4.225,2787.043,181,3.258,3337.022,180,4.254,2487.416,177,3.697,3344.203,176,4.092,74.782,168,5.486,3.881,168,4.397,15643.680,166,2.528,14584.298,161,2.369,3265.831,161,3.794,2118.764,160,1.768,3475.678,160,1.547,14054.607,158,0.569,103.093,158,3.132,59.374,146,3.452,7373.382,145,4.380,316.392,142,0.598,23.878,140,1.442,10404.734,139,5.408,10973.556,137,3.591,15113.989,137,2.541,4933.208,135,4.042,4929.685,134,5.169,10213.286,133,6.178,1744.426,128,0.105,7234.794,127,1.799,13745.346,123,2.521,2906.901,123,3.169,10021.820,123,5.199,10021.855,122,1.731,36.028,122,4.423,14712.317,119,5.480,2921.128,119,4.766,5828.028,118,5.727,0.420,109,0.604,5085.038,108,1.372,10419.986,107,4.339,7740.607,106,5.477,419.485,106,3.450,639.897,106,0.896,23384.287,106,1.091,12168.003,100,1.383,3583.341,99,2.69,36.61,98,5.84,14314.17,98,3.60,206.19,97,6.28,9225.54,96,4.89,3230.41,96,4.33,131.54,91,1.10,9808.54,88,3.97,170.67, - /*L1*/ 3340856274743,0.000000000000,0.000000000000,14582271,3.60426054,3340.61242670,1649013,3.9263125,6681.2248534,199633,4.265941,10021.837280,34524,4.73210,3.52312,24855,4.61278,13362.44971,8416,4.4586,2281.2305,5376,5.0159,398.1490,5210,4.9942,3344.1355,4326,2.5607,191.4483,4297,5.3165,155.4204,3817,3.5388,796.2980,3141,4.9634,16703.0621,2828,3.1597,2544.3144,2057,4.5689,2146.1654,1688,1.3289,3337.0893,1576,4.1850,1751.5395,1337,2.2333,0.9803,1336,5.9742,1748.0164,1176,6.0241,6151.5339,1166,2.2135,1059.3819,1139,2.1287,1194.4470,1136,5.4280,3738.7614,911,1.096,1349.867,853,3.909,553.569,833,5.296,6684.748,808,4.428,529.691,795,2.249,8962.455,729,2.502,951.718,725,5.842,242.729,715,3.856,2914.014,676,5.023,382.897,651,1.018,3340.595,651,3.049,3340.630,615,4.152,3149.164,565,3.888,4136.910,485,4.874,213.299,476,1.182,3333.499,466,1.315,3185.192,413,0.714,1592.596,403,2.725,7.114,401,5.316,20043.675,329,5.411,6283.076,282,0.045,9492.146,266,3.890,1221.849,266,5.113,2700.715,233,6.168,3532.061,228,1.545,2274.117,226,0.838,3097.884,224,5.466,20.355,223,5.885,3870.303,214,4.971,3340.680,214,5.379,3340.545,211,3.525,15.252,204,2.364,1589.073,202,3.364,5088.629,200,4.731,4690.480,200,5.787,7079.374,197,2.578,12303.068,195,0.492,6677.702,195,2.531,4399.994,185,5.579,1990.745,178,6.125,4292.331,166,1.255,3894.182,165,2.603,3341.593,154,2.470,4535.059,153,2.265,3723.509,150,1.035,2288.344,147,3.370,6681.242,147,1.339,6681.208,136,1.977,5614.729,135,2.123,5486.778,133,3.422,5621.843,130,1.514,5628.956,130,5.619,10025.360,127,2.950,3496.033,119,5.476,3553.912,119,3.127,426.598,118,2.586,8432.764,114,6.234,135.065,111,5.842,2803.808,110,4.158,2388.894,109,5.282,2818.035,105,2.736,2787.043,97,4.53,6489.78,88,4.23,7477.52,87,4.44,5092.15,87,4.33,3339.63,86,3.16,162.47,85,1.91,11773.38,84,3.16,3347.73,83,2.18,23.88,81,1.61,2957.72,80,5.70,6041.33,77,5.72,9623.69,74,6.18,3583.34,67,5.08,8031.09,64,2.12,5884.93,62,3.54,692.16,61,1.66,6525.80,57,3.68,8429.24,55,2.01,522.58,55,6.13,2487.42,55,0.19,7632.94,54,1.05,4933.21,54,0.18,2942.46,53,2.23,3127.31,52,0.37,12832.76,52,1.15,28.45,51,5.67,23384.29,50,1.51,1744.43,50,2.45,5099.27,49,3.10,5.52,49,5.61,6467.93,49,5.29,6681.29,48,5.70,6681.16,47,0.23,36.03,47,0.03,7210.92,45,4.17,2906.90,44,0.31,10018.31,43,4.43,640.88,43,2.88,2810.92,41,1.60,7234.79,41,3.96,3.88,38,2.26,2699.73,37,2.92,15643.68,35,1.76,1758.65,34,1.53,6674.11,34,2.66,4929.69,33,2.59,2118.76,32,6.14,10419.99,32,2.33,5085.04,32,2.87,7740.61,31,1.76,9595.24,31,2.56,7064.12,30,1.87,7.05,29,1.28,574.34,28,0.99,3191.05,28,0.43,5828.03,28,1.76,639.90,27,3.71,10021.85,27,1.68,10021.82,26,3.12,6836.65,26,3.77,2921.13, - /*L2*/ 580158,2.049795,3340.612427,541876,0.000000,0.000000,139084,2.457424,6681.224853,24651,2.80000,10021.83728,3984,3.1412,13362.4497,2220,3.1944,3.5231,1210,0.5433,155.4204,615,3.485,16703.062,536,3.542,3344.136,343,6.002,2281.230,317,4.140,191.448,298,1.999,796.298,232,4.334,242.729,217,3.445,398.149,204,5.422,553.569,162,0.657,0.980,160,6.110,2146.165,156,1.221,1748.016,149,6.095,3185.192,144,4.019,951.718,143,2.619,1349.867,134,0.602,1194.447,119,3.861,6684.748,113,4.718,2544.314,104,0.250,382.897,95,0.68,1059.38,92,3.83,20043.67,90,3.88,3738.76,75,5.46,1751.54,69,2.58,3149.16,67,2.38,4136.91,65,5.48,1592.60,63,2.34,3097.88,59,1.15,7.11,48,2.90,3333.50,46,4.43,6151.53,42,3.69,5614.73,40,6.12,5628.96,37,4.07,1990.75,36,2.47,529.69,33,0.68,8962.46,33,2.80,3894.18,31,4.57,3496.03,29,5.41,2914.01,29,1.23,2787.04,29,3.41,3337.09,28,1.39,4292.33,26,4.68,3583.34,26,1.04,3341.59,26,2.65,2388.89,26,1.50,3340.63,26,5.75,3340.60,24,0.96,4535.06,24,1.05,4399.99,24,4.27,7079.37,24,4.85,9492.15,23,4.18,10025.36,23,0.01,4690.48,22,3.26,213.30,22,0.16,6525.80,21,0.48,2700.72,18,0.97,1589.07,18,2.52,2810.92,18,3.81,3723.51,16,1.11,12303.07,16,4.94,1221.85,16,4.96,5088.63,15,2.93,640.88,15,0.11,2957.72,14,2.98,6489.78,14,1.54,3347.73,14,3.86,6283.08,14,2.73,7477.52,14,4.18,23384.29,13,5.30,6677.70,12,3.77,2699.73,12,6.14,6681.21,12,1.89,6681.24,12,1.51,426.60,11,3.78,3870.30,11,5.05,5621.84,11,3.81,3553.91,10,5.83,4933.21,9,1.91,3532.06,9,3.82,5092.15,9,4.13,162.47,9,3.83,3340.55, - /*L3*/ 14824,0.44435,3340.61243,6621,0.8847,6681.2249,1883,1.2880,10021.8373,415,1.649,13362.450,260,0.000,0.000,227,2.053,155.420,105,1.580,3.523,80,2.00,16703.06,49,2.82,242.73,38,2.02,3344.14,32,4.59,3185.19,31,0.65,553.57,17,5.54,951.72,15,5.72,191.45,14,0.46,796.30,14,2.34,20043.67,13,5.36,0.98,12,4.15,1349.87,11,2.38,6684.75,10,1.77,382.90,9,5.34,1194.45,8,2.75,1748.02,6,3.18,3583.34,6,6.11,3496.03,6,5.86,7.11,6,1.85,398.15,5,4.93,6525.80,5,1.01,3149.16,5,0.84,4136.91,5,5.98,2787.04,4,1.27,2281.23,4,2.33,3738.76, - /*L4*/ 1140,3.1416,0.0000,287,5.637,6681.225,244,5.139,3340.612,112,6.032,10021.837,33,0.13,13362.45,32,3.56,155.42,8,0.49,16703.06,8,1.32,242.73,5,3.06,3185.19,4,2.16,553.57,3,6.23,3.52,2,0.44,3344.14,2,0.82,20043.67,2,3.74,3496.03, - /*L5*/ 9,3.14,0.00,7,4.04,6681.22,5,4.49,10021.84,4,5.07,155.42,2,3.51,3340.61,2,4.85,13362.45,1,6.09,242.73,1,5.19,16703.06,1,1.56,3185.19, - /*B0*/ 31971350,3.76832042,3340.61242670,2980332,4.1061700,6681.2248534,2891047,0.0000000,0.0000000,313655,4.446511,10021.837280,34841,4.78813,13362.44971,4434,5.0264,3344.1355,4430,5.6523,3337.0893,3991,5.1306,16703.0621,2925,3.7929,2281.2305,1820,6.1365,6151.5339,1632,4.2640,529.6910,1597,2.2319,1059.3819,1493,2.1650,5621.8429,1427,1.1822,3340.5952,1427,3.2129,3340.6297,1393,2.4180,8962.4553,864,5.744,3738.761,833,5.989,6677.702,825,5.367,6684.748,736,5.092,398.149,727,5.538,6283.076,631,0.730,5884.927,623,4.851,2942.463,601,3.680,796.298,472,4.522,3149.164,470,5.135,3340.680,470,5.543,3340.545,466,5.474,20043.675,456,2.133,2810.921,413,0.200,9492.146,385,4.080,4136.910,331,4.066,1751.540,327,2.621,2914.014,297,5.922,3532.061,295,2.753,12303.068,286,4.947,3870.303,282,2.063,5486.778,266,3.551,6681.242,266,1.520,6681.208,261,2.601,4399.994,233,2.276,1589.073,226,2.275,1194.447,199,2.674,8432.764,189,6.044,7079.374, - /*B1*/ 3500688,5.3684784,3340.6124267,141160,3.141593,0.000000,96708,5.47878,6681.22485,14719,3.20206,10021.83728,4259,3.4084,13362.4497,1020,0.7762,3337.0893,788,3.718,16703.062,327,3.458,5621.843,262,2.483,2281.230,207,1.441,6151.534,183,6.031,529.691,170,4.811,3344.136,157,3.931,8962.455,156,2.782,3340.595,156,4.813,3340.630,143,0.246,2942.463,138,1.680,3532.061,131,0.973,6677.702,127,4.045,20043.675,125,2.256,5884.927,93,4.35,3496.03,89,5.95,2810.92,88,0.34,398.15,86,1.75,2544.31,81,0.84,6283.08,81,4.30,6684.75,59,3.70,5486.78,58,3.55,5092.15, - /*B2*/ 167267,0.602214,3340.612427,49868,3.14159,0.00000,3021,5.5587,6681.2249,258,1.897,13362.450,215,0.917,10021.837,118,2.242,3337.089,80,2.25,16703.06,30,5.89,3496.03, - /*B3*/ 6065,1.9805,3340.6124,426,0.000,0.000,137,1.796,6681.225,27,3.45,10021.84,9,3.75,3337.09, - /*B4*/ 134,0.000,0.000,113,3.457,3340.612,7,0.50,6681.22, - /*B5*/ 5,4.87,3340.61,1,5.31,6681.22, - /*R0*/ 1530334883,0.0000000000,0.0000000000,141849532,3.479712835,3340.612426700,6607764,3.8178344,6681.2248534,461791,4.155953,10021.837280,81097,5.55958,2810.92146,74853,1.77239,5621.84292,55232,1.36436,2281.23050,38252,4.49407,13362.44971,24844,4.92546,2942.46342,23065,0.09082,2544.31442,19994,5.36060,3337.08931,19602,4.74249,3344.13555,11671,2.11262,5092.15196,11028,5.00908,398.14900,9923,5.8386,6151.5339,8991,4.4079,529.6910,8073,2.1022,1059.3819,7979,3.4484,796.2980,7410,1.4991,2146.1654,7256,1.2452,8432.7644,6923,2.1338,8962.4553,6331,0.8935,3340.5952,6331,2.9243,3340.6297,6300,1.2874,1751.5395,5744,0.8290,2914.0142,5262,5.3829,3738.7614,4728,5.1985,3127.3133,3481,4.8322,16703.0621,2837,2.9069,3532.0607,2796,5.2575,6283.0758,2755,1.2177,6254.6267,2752,2.9082,1748.0164,2699,3.7639,5884.9268,2391,2.0367,1194.4470,2338,5.1055,5486.7778,2281,3.2553,6872.6731,2232,4.1986,3149.1642,2194,5.5834,191.4483,2083,4.8463,3340.6797,2083,5.2548,3340.5451,1862,5.6987,6677.7017,1827,5.0806,6684.7480,1786,4.1842,3333.4989,1760,5.9534,3870.3034,1635,3.7989,4136.9104,1443,0.2130,5088.6288,1418,2.4779,4562.4610,1331,1.5391,7903.0734,1286,5.4988,8827.3903,1188,2.1218,1589.0729,1149,4.3175,1349.8674,1115,0.5534,11243.6858,1021,6.1814,9492.1463,867,1.750,2700.715,853,1.616,4690.480,845,0.623,1592.596,832,0.616,8429.241,825,1.622,11773.377,718,2.475,12303.068,686,2.402,4399.994,665,2.213,6041.328,636,2.673,426.598,620,1.101,1221.849,590,3.262,6681.242,590,1.232,6681.208,586,4.721,213.299,558,1.233,3185.192,557,5.447,3723.509,550,5.727,951.718,524,3.024,4292.331,516,5.723,7079.374,489,5.616,3553.912,454,5.433,6467.926,446,2.015,8031.092,443,5.003,5614.729,433,1.037,11769.854,424,2.266,155.420,422,1.633,5628.956,392,1.242,3339.632,390,2.578,3341.593,364,4.439,3894.182,360,1.160,2288.344,353,5.490,1990.745,336,5.170,20043.675,331,0.855,553.569,323,2.382,4535.059,320,1.940,382.897,319,4.593,2274.117,319,4.375,3.523,303,2.442,11371.705,294,4.060,3097.884,279,4.258,3191.049,275,1.577,9595.239,262,5.585,9623.688,252,0.814,10713.995,248,5.390,2818.035,247,2.580,2803.808,234,6.015,3496.033,228,3.417,7632.943,221,0.857,3319.837,213,6.192,14054.607,210,2.385,4989.059,206,2.987,3361.388,204,4.536,6489.777,199,2.735,5099.266,197,1.863,3443.705,195,6.038,10018.314,194,5.185,6681.292,194,5.594,6681.158,191,5.420,10025.360,191,0.226,13745.346,186,4.073,2388.894,183,5.796,7064.121,182,5.613,7.114,180,2.814,4032.770,172,3.671,3205.547,172,3.188,3347.726,171,1.550,2957.716,170,6.155,10404.734,167,4.521,6674.111,165,4.141,7477.523,165,3.845,10973.556,165,2.866,14712.317,163,6.282,7210.916,163,1.923,7373.382,161,0.928,14584.298,160,4.584,3264.346,154,2.208,2118.764,151,2.654,2787.043,137,1.686,3337.022,134,2.128,3344.203,131,4.275,14314.168,119,0.799,3265.831,119,4.821,7234.794,118,0.197,3475.678,118,3.229,5828.028,112,0.239,12832.759,110,0.445,10213.286,106,1.740,639.897,102,5.748,242.729,102,2.665,2487.416,101,5.375,5085.038,101,0.789,9381.940,101,2.451,4929.685,90,0.96,4933.21,90,1.99,15113.99,90,4.18,9225.54,83,1.94,1648.45,83,0.95,2906.90,82,5.25,10575.41,80,3.92,2921.13,79,2.81,15643.68,78,2.05,1758.65,75,5.68,13916.02,74,6.10,3583.34,74,0.84,692.16,70,3.32,3230.41,68,4.69,17654.78,65,6.12,135.07,65,2.74,7740.61,64,4.20,5202.36,63,3.32,3767.21,63,4.50,8425.65,62,6.11,17256.63,62,4.48,22747.29,62,4.59,6531.66,62,1.57,10021.82,62,3.60,10021.85,61,0.00,6836.65,57,0.14,13524.92,55,5.75,12168.00,55,6.06,10419.99,54,5.22,5305.45,54,5.08,2707.83,53,4.55,1744.43,52,2.70,4459.37,51,1.57,6525.80,51,1.29,8439.88,50,2.34,1052.27,50,4.68,522.58,47,0.01,3325.36,47,5.78,9808.54,47,3.06,5518.75,47,5.15,1066.50,45,1.44,3369.06,45,5.95,6894.52,44,5.57,16865.53,44,0.82,3302.48,43,3.11,4569.57,43,2.79,3503.08,42,1.91,263.08,41,4.40,3074.01,41,5.49,2699.73,41,5.47,3120.20,40,1.34,6247.51,40,1.84,3134.43,40,3.83,3355.86,39,1.98,8969.57,39,1.49,9168.64,39,0.38,10177.26,39,1.23,16858.48,39,3.48,20618.02,38,0.80,13517.87,38,0.27,17395.22,37,4.25,6261.74,37,1.58,6680.24,36,2.95,6144.42,36,5.55,632.78,36,2.92,6682.21,36,3.68,5724.94,36,0.15,2178.14,35,1.18,10184.30, - /*R1*/ 11074333,2.03250525,3340.61242670,1031759,2.3707185,6681.2248534,128772,0.000000,0.000000,108159,2.708881,10021.837280,11946,3.04702,13362.44971,4386,2.8884,2281.2305,3957,3.4232,3344.1355,1826,1.5843,2544.3144,1359,3.3851,16703.0621,1284,6.0434,3337.0893,1282,0.6299,1059.3819,1271,1.9539,796.2980,1184,2.9976,2146.1654,875,3.421,398.149,830,3.856,3738.761,756,4.451,6151.534,720,2.764,529.691,665,2.549,1751.540,664,4.406,1748.016,575,0.544,1194.447,543,0.678,8962.455,510,3.726,6684.748,494,5.730,3340.595,494,1.477,3340.630,483,2.581,3149.164,479,2.285,2914.014,390,2.319,4136.910,372,5.814,1349.867,364,6.027,3185.192,360,5.895,3333.499,311,0.978,191.448,272,5.414,1592.596,243,3.758,155.420,228,1.748,5088.629,223,0.939,951.718,217,3.836,6283.076,216,4.569,3532.061,213,0.780,1589.073,204,3.135,4690.480,182,0.413,5486.778,180,4.219,3870.303,169,4.537,4292.331,168,5.549,3097.884,165,0.968,4399.994,165,3.539,2700.715,163,3.808,3340.545,163,3.399,3340.680,162,2.349,553.569,158,4.757,9492.146,157,3.724,20043.675,147,5.953,3894.182,143,3.999,1990.745,132,0.415,5614.729,130,5.142,6677.702,127,0.690,3723.509,125,1.032,3341.593,124,6.231,5628.956,122,4.223,7079.374,118,6.253,2274.117,113,1.024,12303.068,112,1.318,3496.033,104,1.233,426.598,103,0.901,4535.059,98,3.45,382.90,92,1.82,6681.24,92,6.07,6681.21,92,3.90,3553.91,90,2.58,2388.89,88,2.20,1221.85,86,1.16,2787.04,79,5.74,2288.34,78,4.15,6041.33,77,1.01,8432.76,73,4.27,2803.81,72,3.70,2818.04,71,3.51,8031.09,68,4.05,10025.36,68,0.24,11773.38,67,4.26,242.73,65,0.04,2957.72,65,2.12,8429.24,65,2.76,3339.63,63,1.90,5621.84,63,1.60,3347.73,60,2.96,6489.78,57,3.14,213.30,55,4.91,7632.94,55,4.61,3583.34,53,3.78,5092.15,52,2.67,7477.52,51,3.98,7.11,47,0.91,5099.27,46,1.82,2810.92,40,4.14,9623.69,40,4.91,2942.46,39,0.54,5884.93,39,3.08,3.52,39,0.67,3127.31,38,0.03,7234.79,37,0.09,6525.80,36,5.77,4933.21,32,4.55,2487.42,31,1.00,2118.76,30,2.59,2906.90,30,4.15,6681.16,30,3.74,6681.29,30,0.83,5085.04,29,4.66,7210.92,28,1.01,7064.12,28,0.05,639.90,28,3.98,6467.93,28,5.17,5828.03,27,0.69,2699.73,26,5.34,10973.56,26,5.01,10018.31,26,1.09,4929.69,26,5.09,12832.76,25,1.53,6836.65,24,3.94,11371.70,22,0.19,9595.24,21,5.69,3191.05,21,1.30,7740.61,21,3.54,1066.50,21,6.24,6674.11,20,6.16,1744.43,20,0.46,10575.41,19,5.02,3475.68,19,1.37,15643.68,18,4.06,23384.29,18,6.16,8425.65,18,5.68,3319.84,18,2.31,3355.86,18,5.87,3320.26,17,4.58,10419.99,17,2.22,2921.13,17,1.93,3767.21,16,4.34,5331.36,16,5.93,8439.88,15,1.54,3361.39,15,0.35,8969.57,14,2.15,10021.85,14,0.12,10021.82,14,0.56,15113.99,14,1.39,6682.21,14,4.65,4562.46,14,1.50,3325.36,14,0.15,1758.65,13,1.25,7875.67,13,1.87,692.16,13,1.45,6254.63,13,5.79,14584.30,13,1.35,10404.73,12,6.03,3264.35,12,1.88,10177.26,12,0.85,3120.20,12,4.30,6894.52,12,0.90,13916.02,12,4.18,3360.97,12,3.00,6247.51,11,0.15,3134.43,11,2.84,640.88,11,2.58,6261.74,11,0.49,11243.69,11,0.25,3337.02,11,0.13,522.58,11,0.68,3344.20,10,4.06,6158.65,10,5.70,536.80,10,5.77,14314.17,10,1.28,4569.57,10,2.92,5729.51, - /*R2*/ 442422,0.479306,3340.612427,81380,0.86998,6681.22485,12749,1.22594,10021.83728,1874,1.5730,13362.4497,524,3.142,0.000,407,1.971,3344.136,266,1.917,16703.062,178,4.435,2281.230,117,4.525,3185.192,102,5.391,1059.382,100,0.419,796.298,92,4.54,2146.17,78,5.93,1748.02,73,3.14,2544.31,72,2.29,6684.75,68,5.27,155.42,67,5.30,1194.45,65,2.31,3738.76,58,1.05,1349.87,54,1.00,3149.16,47,0.77,3097.88,46,0.81,4136.91,44,2.46,951.72,43,3.90,1592.60,39,3.86,553.57,37,2.26,20043.67,36,1.32,3333.50,35,1.85,398.15,34,3.82,1751.54,32,2.12,5614.73,31,4.55,5628.96,30,2.86,6151.53,29,1.19,529.69,29,1.20,3894.18,28,2.49,1990.75,27,2.92,3496.03,27,6.07,4292.33,24,4.68,4690.48,24,5.94,2787.04,23,2.56,191.45,22,1.85,3337.09,22,5.37,8962.46,22,1.07,2388.89,21,2.75,242.73,20,3.82,2914.01,20,5.76,3341.59,20,5.76,4399.99,20,4.17,3340.60,20,6.21,3340.63,20,3.11,3583.34,18,5.69,1589.07,18,3.32,5088.63,16,5.68,4535.06,15,4.96,382.90,15,2.23,3723.51,14,2.70,7079.37,14,5.19,2700.72,13,4.88,6525.80,13,4.82,2957.72,12,2.62,10025.36,12,0.93,2810.92,12,3.27,9492.15,10,6.27,3347.73,10,3.40,5621.84,10,2.11,3870.30,9,1.40,6489.78,9,5.81,12303.07,9,2.20,2699.73,9,5.96,426.60,8,2.26,6283.08,8,2.24,3553.91,8,1.17,7477.52,8,2.01,5092.15,8,0.23,3532.06,8,2.06,5486.78,7,4.26,4933.21,7,0.30,6681.24,7,4.55,6681.21,7,2.34,7.11,7,3.99,6677.70,7,0.16,7632.94,6,2.25,3340.55,6,1.84,3340.68,6,1.55,7234.79,6,3.30,1221.85,6,5.06,8031.09,5,4.26,3339.63,5,2.60,23384.29,5,3.08,6836.65,4,1.34,640.88,4,4.96,8969.57,4,2.85,5331.36,4,6.27,2487.42,4,6.10,7740.61, - /*R3*/ 11131,5.14987,3340.61243,4244,5.6134,6681.2249,1000,5.9973,10021.8373,196,0.076,13362.450,47,3.14,0.00,35,0.43,16703.06,29,0.45,3344.14,24,3.02,3185.19,7,0.81,6684.75,6,0.78,20043.67,5,3.87,1059.38,5,1.61,3583.34,5,4.52,3496.03,4,5.72,3149.16,4,4.42,2787.04,4,5.56,4136.91,3,3.38,6525.80,3,0.76,3738.76,2,2.14,3097.88,2,5.83,2388.89,2,0.57,155.42,2,4.20,3341.59,2,0.97,1990.75,2,2.35,1592.60,2,4.15,4535.06,2,3.76,1194.45,2,1.14,10025.36,2,5.13,796.30, - /*R4*/ 196,3.582,3340.612,163,4.051,6681.225,58,4.46,10021.84,15,4.84,13362.45,4,1.51,3185.19,3,5.21,16703.06,2,5.16,3344.14,1,0.00,0.00,1,2.19,3496.03,1,0.10,3583.34,1,5.55,20043.67,1,1.87,6525.80, - /*R5*/ 5,2.48,6681.22,3,2.92,10021.84,1,1.77,3340.61,1,3.31,13362.45}, - + 1000000000, //A的倍率 + 20, 596, 1028, 1289, 1385, 1427, 1454, 1586, 1670, 1694, 1709, 1718, 1724, 2360, 2873, 3155, 3239, 3275, 3287, //位置索引表 + /*L0*/ 6203477116, 0.0000000000, 0.0000000000, 186563681, 5.050371003, 3340.612426700, 11082168, 5.40099837, 6681.22485340, 917984, 5.754787, 10021.837280, 277450, 5.970495, 3.523118, 123159, 0.849561, 2810.921462, 106102, 2.939585, 2281.230497, 89268, 4.15698, 0.01725, 87157, 6.11005, 13362.44971, 77749, 3.33969, 5621.84292, 67976, 0.36462, 398.14900, 41611, 0.22815, 2942.46342, 35751, 1.66187, 2544.31442, 30753, 0.85697, 191.44827, 29375, 6.07894, 0.06731, 26281, 0.64806, 3337.08931, 25798, 0.02997, 3344.13555, 23894, 5.03896, 796.29801, 17988, 0.65634, 529.69097, 15464, 2.91580, 1751.53953, 15281, 1.14979, 6151.53389, 12862, 3.06796, 2146.16542, 12644, 3.62275, 5092.15196, 10249, 3.69334, 8962.45535, 8916, 0.1829, 16703.0621, 8588, 2.4009, 2914.0142, 8327, 4.4950, 3340.6297, 8327, 2.4642, 3340.5952, 7487, 3.8225, 155.4204, 7239, 0.6750, 3738.7614, 7129, 3.6634, 1059.3819, 6552, 0.4886, 3127.3133, 6356, 2.9218, 8432.7644, 5527, 4.4748, 1748.0164, 5505, 3.8100, 0.9803, 4722, 3.6255, 1194.4470, 4260, 0.5537, 6283.0758, 4151, 0.4966, 213.2991, 3121, 0.9985, 6677.7017, 3066, 0.3805, 6684.7480, 3024, 4.4862, 3532.0607, 2994, 2.7832, 6254.6267, 2932, 4.2213, 20.7754, 2836, 5.7689, 3149.1642, 2811, 5.8816, 1349.8674, 2740, 0.1337, 3340.6797, 2740, 0.5422, 3340.5451, 2389, 5.3716, 4136.9104, 2361, 5.7550, 3333.4989, 2312, 1.2824, 3870.3034, 2212, 3.5047, 382.8965, 2042, 2.8213, 1221.8486, 1931, 3.3572, 3.5904, 1886, 1.4910, 9492.1463, 1792, 1.0056, 951.7184, 1741, 2.4136, 553.5694, 1721, 0.4394, 5486.7778, 1600, 3.9485, 4562.4610, 1443, 1.4187, 135.0651, 1399, 3.3259, 2700.7151, 1382, 4.3015, 7.1135, 1310, 4.0449, 12303.0678, 1281, 2.2081, 1592.5960, 1281, 1.8067, 5088.6288, 1169, 3.1281, 7903.0734, 1135, 3.7007, 1589.0729, 1104, 1.0520, 242.7286, 1045, 0.7854, 8827.3903, 1001, 3.2434, 11773.3768, 989, 4.846, 6681.242, 989, 2.815, 6681.208, 956, 0.540, 20043.675, 869, 2.202, 11243.686, 868, 1.021, 7079.374, 842, 3.990, 4399.994, 837, 3.203, 4690.480, 750, 0.766, 6467.926, 735, 2.184, 8429.241, 721, 5.847, 5884.927, 714, 2.803, 3185.192, 690, 3.764, 6041.328, 684, 2.738, 2288.344, 667, 0.736, 3723.509, 653, 2.681, 28.449, 634, 0.913, 3553.912, 633, 4.528, 426.598, 617, 6.168, 2274.117, 566, 5.063, 15.252, 564, 1.687, 6872.673, 559, 3.463, 263.084, 555, 4.606, 4292.331, 523, 0.899, 9623.688, 517, 2.813, 3339.632, 513, 4.148, 3341.593, 485, 3.957, 4535.059, 459, 0.287, 5614.729, 458, 0.788, 1990.745, 442, 3.195, 5628.956, 419, 3.583, 8031.092, 412, 6.020, 3894.182, 407, 3.138, 9595.239, 395, 5.632, 3097.884, 388, 1.352, 10018.314, 384, 5.829, 3191.049, 382, 2.348, 162.467, 381, 0.734, 10025.360, 378, 4.155, 2803.808, 371, 0.685, 2818.035, 367, 2.637, 692.158, 340, 2.595, 11769.854, 336, 6.120, 6489.777, 331, 1.140, 5.523, 326, 0.484, 6681.292, 326, 0.893, 6681.158, 312, 3.982, 20.355, 290, 2.427, 3319.837, 287, 5.721, 7477.523, 276, 1.597, 7210.916, 275, 6.084, 6674.111, 273, 4.556, 3361.388, 264, 1.345, 3496.033, 256, 0.250, 522.577, 255, 3.432, 3443.705, 254, 0.521, 10.637, 246, 4.003, 11371.705, 244, 0.970, 632.784, 238, 1.841, 12832.759, 231, 4.750, 3347.726, 228, 3.526, 1648.447, 227, 4.985, 7632.943, 227, 3.954, 4989.059, 226, 5.241, 3205.547, 225, 5.649, 2388.894, 223, 0.721, 266.607, 215, 6.154, 3264.346, 213, 4.282, 4032.770, 212, 3.118, 2957.716, 210, 4.279, 5099.266, 202, 3.671, 1758.653, 201, 1.082, 7064.121, 198, 2.377, 10713.995, 193, 3.239, 7.046, 184, 4.225, 2787.043, 181, 3.258, 3337.022, 180, 4.254, 2487.416, 177, 3.697, 3344.203, 176, 4.092, 74.782, 168, 5.486, 3.881, 168, 4.397, 15643.680, 166, 2.528, 14584.298, 161, 2.369, 3265.831, 161, 3.794, 2118.764, 160, 1.768, 3475.678, 160, 1.547, 14054.607, 158, 0.569, 103.093, 158, 3.132, 59.374, 146, 3.452, 7373.382, 145, 4.380, 316.392, 142, 0.598, 23.878, 140, 1.442, 10404.734, 139, 5.408, 10973.556, 137, 3.591, 15113.989, 137, 2.541, 4933.208, 135, 4.042, 4929.685, 134, 5.169, 10213.286, 133, 6.178, 1744.426, 128, 0.105, 7234.794, 127, 1.799, 13745.346, 123, 2.521, 2906.901, 123, 3.169, 10021.820, 123, 5.199, 10021.855, 122, 1.731, 36.028, 122, 4.423, 14712.317, 119, 5.480, 2921.128, 119, 4.766, 5828.028, 118, 5.727, 0.420, 109, 0.604, 5085.038, 108, 1.372, 10419.986, 107, 4.339, 7740.607, 106, 5.477, 419.485, 106, 3.450, 639.897, 106, 0.896, 23384.287, 106, 1.091, 12168.003, 100, 1.383, 3583.341, 99, 2.69, 36.61, 98, 5.84, 14314.17, 98, 3.60, 206.19, 97, 6.28, 9225.54, 96, 4.89, 3230.41, 96, 4.33, 131.54, 91, 1.10, 9808.54, 88, 3.97, 170.67, + /*L1*/ 3340856274743, 0.000000000000, 0.000000000000, 14582271, 3.60426054, 3340.61242670, 1649013, 3.9263125, 6681.2248534, 199633, 4.265941, 10021.837280, 34524, 4.73210, 3.52312, 24855, 4.61278, 13362.44971, 8416, 4.4586, 2281.2305, 5376, 5.0159, 398.1490, 5210, 4.9942, 3344.1355, 4326, 2.5607, 191.4483, 4297, 5.3165, 155.4204, 3817, 3.5388, 796.2980, 3141, 4.9634, 16703.0621, 2828, 3.1597, 2544.3144, 2057, 4.5689, 2146.1654, 1688, 1.3289, 3337.0893, 1576, 4.1850, 1751.5395, 1337, 2.2333, 0.9803, 1336, 5.9742, 1748.0164, 1176, 6.0241, 6151.5339, 1166, 2.2135, 1059.3819, 1139, 2.1287, 1194.4470, 1136, 5.4280, 3738.7614, 911, 1.096, 1349.867, 853, 3.909, 553.569, 833, 5.296, 6684.748, 808, 4.428, 529.691, 795, 2.249, 8962.455, 729, 2.502, 951.718, 725, 5.842, 242.729, 715, 3.856, 2914.014, 676, 5.023, 382.897, 651, 1.018, 3340.595, 651, 3.049, 3340.630, 615, 4.152, 3149.164, 565, 3.888, 4136.910, 485, 4.874, 213.299, 476, 1.182, 3333.499, 466, 1.315, 3185.192, 413, 0.714, 1592.596, 403, 2.725, 7.114, 401, 5.316, 20043.675, 329, 5.411, 6283.076, 282, 0.045, 9492.146, 266, 3.890, 1221.849, 266, 5.113, 2700.715, 233, 6.168, 3532.061, 228, 1.545, 2274.117, 226, 0.838, 3097.884, 224, 5.466, 20.355, 223, 5.885, 3870.303, 214, 4.971, 3340.680, 214, 5.379, 3340.545, 211, 3.525, 15.252, 204, 2.364, 1589.073, 202, 3.364, 5088.629, 200, 4.731, 4690.480, 200, 5.787, 7079.374, 197, 2.578, 12303.068, 195, 0.492, 6677.702, 195, 2.531, 4399.994, 185, 5.579, 1990.745, 178, 6.125, 4292.331, 166, 1.255, 3894.182, 165, 2.603, 3341.593, 154, 2.470, 4535.059, 153, 2.265, 3723.509, 150, 1.035, 2288.344, 147, 3.370, 6681.242, 147, 1.339, 6681.208, 136, 1.977, 5614.729, 135, 2.123, 5486.778, 133, 3.422, 5621.843, 130, 1.514, 5628.956, 130, 5.619, 10025.360, 127, 2.950, 3496.033, 119, 5.476, 3553.912, 119, 3.127, 426.598, 118, 2.586, 8432.764, 114, 6.234, 135.065, 111, 5.842, 2803.808, 110, 4.158, 2388.894, 109, 5.282, 2818.035, 105, 2.736, 2787.043, 97, 4.53, 6489.78, 88, 4.23, 7477.52, 87, 4.44, 5092.15, 87, 4.33, 3339.63, 86, 3.16, 162.47, 85, 1.91, 11773.38, 84, 3.16, 3347.73, 83, 2.18, 23.88, 81, 1.61, 2957.72, 80, 5.70, 6041.33, 77, 5.72, 9623.69, 74, 6.18, 3583.34, 67, 5.08, 8031.09, 64, 2.12, 5884.93, 62, 3.54, 692.16, 61, 1.66, 6525.80, 57, 3.68, 8429.24, 55, 2.01, 522.58, 55, 6.13, 2487.42, 55, 0.19, 7632.94, 54, 1.05, 4933.21, 54, 0.18, 2942.46, 53, 2.23, 3127.31, 52, 0.37, 12832.76, 52, 1.15, 28.45, 51, 5.67, 23384.29, 50, 1.51, 1744.43, 50, 2.45, 5099.27, 49, 3.10, 5.52, 49, 5.61, 6467.93, 49, 5.29, 6681.29, 48, 5.70, 6681.16, 47, 0.23, 36.03, 47, 0.03, 7210.92, 45, 4.17, 2906.90, 44, 0.31, 10018.31, 43, 4.43, 640.88, 43, 2.88, 2810.92, 41, 1.60, 7234.79, 41, 3.96, 3.88, 38, 2.26, 2699.73, 37, 2.92, 15643.68, 35, 1.76, 1758.65, 34, 1.53, 6674.11, 34, 2.66, 4929.69, 33, 2.59, 2118.76, 32, 6.14, 10419.99, 32, 2.33, 5085.04, 32, 2.87, 7740.61, 31, 1.76, 9595.24, 31, 2.56, 7064.12, 30, 1.87, 7.05, 29, 1.28, 574.34, 28, 0.99, 3191.05, 28, 0.43, 5828.03, 28, 1.76, 639.90, 27, 3.71, 10021.85, 27, 1.68, 10021.82, 26, 3.12, 6836.65, 26, 3.77, 2921.13, + /*L2*/ 580158, 2.049795, 3340.612427, 541876, 0.000000, 0.000000, 139084, 2.457424, 6681.224853, 24651, 2.80000, 10021.83728, 3984, 3.1412, 13362.4497, 2220, 3.1944, 3.5231, 1210, 0.5433, 155.4204, 615, 3.485, 16703.062, 536, 3.542, 3344.136, 343, 6.002, 2281.230, 317, 4.140, 191.448, 298, 1.999, 796.298, 232, 4.334, 242.729, 217, 3.445, 398.149, 204, 5.422, 553.569, 162, 0.657, 0.980, 160, 6.110, 2146.165, 156, 1.221, 1748.016, 149, 6.095, 3185.192, 144, 4.019, 951.718, 143, 2.619, 1349.867, 134, 0.602, 1194.447, 119, 3.861, 6684.748, 113, 4.718, 2544.314, 104, 0.250, 382.897, 95, 0.68, 1059.38, 92, 3.83, 20043.67, 90, 3.88, 3738.76, 75, 5.46, 1751.54, 69, 2.58, 3149.16, 67, 2.38, 4136.91, 65, 5.48, 1592.60, 63, 2.34, 3097.88, 59, 1.15, 7.11, 48, 2.90, 3333.50, 46, 4.43, 6151.53, 42, 3.69, 5614.73, 40, 6.12, 5628.96, 37, 4.07, 1990.75, 36, 2.47, 529.69, 33, 0.68, 8962.46, 33, 2.80, 3894.18, 31, 4.57, 3496.03, 29, 5.41, 2914.01, 29, 1.23, 2787.04, 29, 3.41, 3337.09, 28, 1.39, 4292.33, 26, 4.68, 3583.34, 26, 1.04, 3341.59, 26, 2.65, 2388.89, 26, 1.50, 3340.63, 26, 5.75, 3340.60, 24, 0.96, 4535.06, 24, 1.05, 4399.99, 24, 4.27, 7079.37, 24, 4.85, 9492.15, 23, 4.18, 10025.36, 23, 0.01, 4690.48, 22, 3.26, 213.30, 22, 0.16, 6525.80, 21, 0.48, 2700.72, 18, 0.97, 1589.07, 18, 2.52, 2810.92, 18, 3.81, 3723.51, 16, 1.11, 12303.07, 16, 4.94, 1221.85, 16, 4.96, 5088.63, 15, 2.93, 640.88, 15, 0.11, 2957.72, 14, 2.98, 6489.78, 14, 1.54, 3347.73, 14, 3.86, 6283.08, 14, 2.73, 7477.52, 14, 4.18, 23384.29, 13, 5.30, 6677.70, 12, 3.77, 2699.73, 12, 6.14, 6681.21, 12, 1.89, 6681.24, 12, 1.51, 426.60, 11, 3.78, 3870.30, 11, 5.05, 5621.84, 11, 3.81, 3553.91, 10, 5.83, 4933.21, 9, 1.91, 3532.06, 9, 3.82, 5092.15, 9, 4.13, 162.47, 9, 3.83, 3340.55, + /*L3*/ 14824, 0.44435, 3340.61243, 6621, 0.8847, 6681.2249, 1883, 1.2880, 10021.8373, 415, 1.649, 13362.450, 260, 0.000, 0.000, 227, 2.053, 155.420, 105, 1.580, 3.523, 80, 2.00, 16703.06, 49, 2.82, 242.73, 38, 2.02, 3344.14, 32, 4.59, 3185.19, 31, 0.65, 553.57, 17, 5.54, 951.72, 15, 5.72, 191.45, 14, 0.46, 796.30, 14, 2.34, 20043.67, 13, 5.36, 0.98, 12, 4.15, 1349.87, 11, 2.38, 6684.75, 10, 1.77, 382.90, 9, 5.34, 1194.45, 8, 2.75, 1748.02, 6, 3.18, 3583.34, 6, 6.11, 3496.03, 6, 5.86, 7.11, 6, 1.85, 398.15, 5, 4.93, 6525.80, 5, 1.01, 3149.16, 5, 0.84, 4136.91, 5, 5.98, 2787.04, 4, 1.27, 2281.23, 4, 2.33, 3738.76, + /*L4*/ 1140, 3.1416, 0.0000, 287, 5.637, 6681.225, 244, 5.139, 3340.612, 112, 6.032, 10021.837, 33, 0.13, 13362.45, 32, 3.56, 155.42, 8, 0.49, 16703.06, 8, 1.32, 242.73, 5, 3.06, 3185.19, 4, 2.16, 553.57, 3, 6.23, 3.52, 2, 0.44, 3344.14, 2, 0.82, 20043.67, 2, 3.74, 3496.03, + /*L5*/ 9, 3.14, 0.00, 7, 4.04, 6681.22, 5, 4.49, 10021.84, 4, 5.07, 155.42, 2, 3.51, 3340.61, 2, 4.85, 13362.45, 1, 6.09, 242.73, 1, 5.19, 16703.06, 1, 1.56, 3185.19, + /*B0*/ 31971350, 3.76832042, 3340.61242670, 2980332, 4.1061700, 6681.2248534, 2891047, 0.0000000, 0.0000000, 313655, 4.446511, 10021.837280, 34841, 4.78813, 13362.44971, 4434, 5.0264, 3344.1355, 4430, 5.6523, 3337.0893, 3991, 5.1306, 16703.0621, 2925, 3.7929, 2281.2305, 1820, 6.1365, 6151.5339, 1632, 4.2640, 529.6910, 1597, 2.2319, 1059.3819, 1493, 2.1650, 5621.8429, 1427, 1.1822, 3340.5952, 1427, 3.2129, 3340.6297, 1393, 2.4180, 8962.4553, 864, 5.744, 3738.761, 833, 5.989, 6677.702, 825, 5.367, 6684.748, 736, 5.092, 398.149, 727, 5.538, 6283.076, 631, 0.730, 5884.927, 623, 4.851, 2942.463, 601, 3.680, 796.298, 472, 4.522, 3149.164, 470, 5.135, 3340.680, 470, 5.543, 3340.545, 466, 5.474, 20043.675, 456, 2.133, 2810.921, 413, 0.200, 9492.146, 385, 4.080, 4136.910, 331, 4.066, 1751.540, 327, 2.621, 2914.014, 297, 5.922, 3532.061, 295, 2.753, 12303.068, 286, 4.947, 3870.303, 282, 2.063, 5486.778, 266, 3.551, 6681.242, 266, 1.520, 6681.208, 261, 2.601, 4399.994, 233, 2.276, 1589.073, 226, 2.275, 1194.447, 199, 2.674, 8432.764, 189, 6.044, 7079.374, + /*B1*/ 3500688, 5.3684784, 3340.6124267, 141160, 3.141593, 0.000000, 96708, 5.47878, 6681.22485, 14719, 3.20206, 10021.83728, 4259, 3.4084, 13362.4497, 1020, 0.7762, 3337.0893, 788, 3.718, 16703.062, 327, 3.458, 5621.843, 262, 2.483, 2281.230, 207, 1.441, 6151.534, 183, 6.031, 529.691, 170, 4.811, 3344.136, 157, 3.931, 8962.455, 156, 2.782, 3340.595, 156, 4.813, 3340.630, 143, 0.246, 2942.463, 138, 1.680, 3532.061, 131, 0.973, 6677.702, 127, 4.045, 20043.675, 125, 2.256, 5884.927, 93, 4.35, 3496.03, 89, 5.95, 2810.92, 88, 0.34, 398.15, 86, 1.75, 2544.31, 81, 0.84, 6283.08, 81, 4.30, 6684.75, 59, 3.70, 5486.78, 58, 3.55, 5092.15, + /*B2*/ 167267, 0.602214, 3340.612427, 49868, 3.14159, 0.00000, 3021, 5.5587, 6681.2249, 258, 1.897, 13362.450, 215, 0.917, 10021.837, 118, 2.242, 3337.089, 80, 2.25, 16703.06, 30, 5.89, 3496.03, + /*B3*/ 6065, 1.9805, 3340.6124, 426, 0.000, 0.000, 137, 1.796, 6681.225, 27, 3.45, 10021.84, 9, 3.75, 3337.09, + /*B4*/ 134, 0.000, 0.000, 113, 3.457, 3340.612, 7, 0.50, 6681.22, + /*B5*/ 5, 4.87, 3340.61, 1, 5.31, 6681.22, + /*R0*/ 1530334883, 0.0000000000, 0.0000000000, 141849532, 3.479712835, 3340.612426700, 6607764, 3.8178344, 6681.2248534, 461791, 4.155953, 10021.837280, 81097, 5.55958, 2810.92146, 74853, 1.77239, 5621.84292, 55232, 1.36436, 2281.23050, 38252, 4.49407, 13362.44971, 24844, 4.92546, 2942.46342, 23065, 0.09082, 2544.31442, 19994, 5.36060, 3337.08931, 19602, 4.74249, 3344.13555, 11671, 2.11262, 5092.15196, 11028, 5.00908, 398.14900, 9923, 5.8386, 6151.5339, 8991, 4.4079, 529.6910, 8073, 2.1022, 1059.3819, 7979, 3.4484, 796.2980, 7410, 1.4991, 2146.1654, 7256, 1.2452, 8432.7644, 6923, 2.1338, 8962.4553, 6331, 0.8935, 3340.5952, 6331, 2.9243, 3340.6297, 6300, 1.2874, 1751.5395, 5744, 0.8290, 2914.0142, 5262, 5.3829, 3738.7614, 4728, 5.1985, 3127.3133, 3481, 4.8322, 16703.0621, 2837, 2.9069, 3532.0607, 2796, 5.2575, 6283.0758, 2755, 1.2177, 6254.6267, 2752, 2.9082, 1748.0164, 2699, 3.7639, 5884.9268, 2391, 2.0367, 1194.4470, 2338, 5.1055, 5486.7778, 2281, 3.2553, 6872.6731, 2232, 4.1986, 3149.1642, 2194, 5.5834, 191.4483, 2083, 4.8463, 3340.6797, 2083, 5.2548, 3340.5451, 1862, 5.6987, 6677.7017, 1827, 5.0806, 6684.7480, 1786, 4.1842, 3333.4989, 1760, 5.9534, 3870.3034, 1635, 3.7989, 4136.9104, 1443, 0.2130, 5088.6288, 1418, 2.4779, 4562.4610, 1331, 1.5391, 7903.0734, 1286, 5.4988, 8827.3903, 1188, 2.1218, 1589.0729, 1149, 4.3175, 1349.8674, 1115, 0.5534, 11243.6858, 1021, 6.1814, 9492.1463, 867, 1.750, 2700.715, 853, 1.616, 4690.480, 845, 0.623, 1592.596, 832, 0.616, 8429.241, 825, 1.622, 11773.377, 718, 2.475, 12303.068, 686, 2.402, 4399.994, 665, 2.213, 6041.328, 636, 2.673, 426.598, 620, 1.101, 1221.849, 590, 3.262, 6681.242, 590, 1.232, 6681.208, 586, 4.721, 213.299, 558, 1.233, 3185.192, 557, 5.447, 3723.509, 550, 5.727, 951.718, 524, 3.024, 4292.331, 516, 5.723, 7079.374, 489, 5.616, 3553.912, 454, 5.433, 6467.926, 446, 2.015, 8031.092, 443, 5.003, 5614.729, 433, 1.037, 11769.854, 424, 2.266, 155.420, 422, 1.633, 5628.956, 392, 1.242, 3339.632, 390, 2.578, 3341.593, 364, 4.439, 3894.182, 360, 1.160, 2288.344, 353, 5.490, 1990.745, 336, 5.170, 20043.675, 331, 0.855, 553.569, 323, 2.382, 4535.059, 320, 1.940, 382.897, 319, 4.593, 2274.117, 319, 4.375, 3.523, 303, 2.442, 11371.705, 294, 4.060, 3097.884, 279, 4.258, 3191.049, 275, 1.577, 9595.239, 262, 5.585, 9623.688, 252, 0.814, 10713.995, 248, 5.390, 2818.035, 247, 2.580, 2803.808, 234, 6.015, 3496.033, 228, 3.417, 7632.943, 221, 0.857, 3319.837, 213, 6.192, 14054.607, 210, 2.385, 4989.059, 206, 2.987, 3361.388, 204, 4.536, 6489.777, 199, 2.735, 5099.266, 197, 1.863, 3443.705, 195, 6.038, 10018.314, 194, 5.185, 6681.292, 194, 5.594, 6681.158, 191, 5.420, 10025.360, 191, 0.226, 13745.346, 186, 4.073, 2388.894, 183, 5.796, 7064.121, 182, 5.613, 7.114, 180, 2.814, 4032.770, 172, 3.671, 3205.547, 172, 3.188, 3347.726, 171, 1.550, 2957.716, 170, 6.155, 10404.734, 167, 4.521, 6674.111, 165, 4.141, 7477.523, 165, 3.845, 10973.556, 165, 2.866, 14712.317, 163, 6.282, 7210.916, 163, 1.923, 7373.382, 161, 0.928, 14584.298, 160, 4.584, 3264.346, 154, 2.208, 2118.764, 151, 2.654, 2787.043, 137, 1.686, 3337.022, 134, 2.128, 3344.203, 131, 4.275, 14314.168, 119, 0.799, 3265.831, 119, 4.821, 7234.794, 118, 0.197, 3475.678, 118, 3.229, 5828.028, 112, 0.239, 12832.759, 110, 0.445, 10213.286, 106, 1.740, 639.897, 102, 5.748, 242.729, 102, 2.665, 2487.416, 101, 5.375, 5085.038, 101, 0.789, 9381.940, 101, 2.451, 4929.685, 90, 0.96, 4933.21, 90, 1.99, 15113.99, 90, 4.18, 9225.54, 83, 1.94, 1648.45, 83, 0.95, 2906.90, 82, 5.25, 10575.41, 80, 3.92, 2921.13, 79, 2.81, 15643.68, 78, 2.05, 1758.65, 75, 5.68, 13916.02, 74, 6.10, 3583.34, 74, 0.84, 692.16, 70, 3.32, 3230.41, 68, 4.69, 17654.78, 65, 6.12, 135.07, 65, 2.74, 7740.61, 64, 4.20, 5202.36, 63, 3.32, 3767.21, 63, 4.50, 8425.65, 62, 6.11, 17256.63, 62, 4.48, 22747.29, 62, 4.59, 6531.66, 62, 1.57, 10021.82, 62, 3.60, 10021.85, 61, 0.00, 6836.65, 57, 0.14, 13524.92, 55, 5.75, 12168.00, 55, 6.06, 10419.99, 54, 5.22, 5305.45, 54, 5.08, 2707.83, 53, 4.55, 1744.43, 52, 2.70, 4459.37, 51, 1.57, 6525.80, 51, 1.29, 8439.88, 50, 2.34, 1052.27, 50, 4.68, 522.58, 47, 0.01, 3325.36, 47, 5.78, 9808.54, 47, 3.06, 5518.75, 47, 5.15, 1066.50, 45, 1.44, 3369.06, 45, 5.95, 6894.52, 44, 5.57, 16865.53, 44, 0.82, 3302.48, 43, 3.11, 4569.57, 43, 2.79, 3503.08, 42, 1.91, 263.08, 41, 4.40, 3074.01, 41, 5.49, 2699.73, 41, 5.47, 3120.20, 40, 1.34, 6247.51, 40, 1.84, 3134.43, 40, 3.83, 3355.86, 39, 1.98, 8969.57, 39, 1.49, 9168.64, 39, 0.38, 10177.26, 39, 1.23, 16858.48, 39, 3.48, 20618.02, 38, 0.80, 13517.87, 38, 0.27, 17395.22, 37, 4.25, 6261.74, 37, 1.58, 6680.24, 36, 2.95, 6144.42, 36, 5.55, 632.78, 36, 2.92, 6682.21, 36, 3.68, 5724.94, 36, 0.15, 2178.14, 35, 1.18, 10184.30, + /*R1*/ 11074333, 2.03250525, 3340.61242670, 1031759, 2.3707185, 6681.2248534, 128772, 0.000000, 0.000000, 108159, 2.708881, 10021.837280, 11946, 3.04702, 13362.44971, 4386, 2.8884, 2281.2305, 3957, 3.4232, 3344.1355, 1826, 1.5843, 2544.3144, 1359, 3.3851, 16703.0621, 1284, 6.0434, 3337.0893, 1282, 0.6299, 1059.3819, 1271, 1.9539, 796.2980, 1184, 2.9976, 2146.1654, 875, 3.421, 398.149, 830, 3.856, 3738.761, 756, 4.451, 6151.534, 720, 2.764, 529.691, 665, 2.549, 1751.540, 664, 4.406, 1748.016, 575, 0.544, 1194.447, 543, 0.678, 8962.455, 510, 3.726, 6684.748, 494, 5.730, 3340.595, 494, 1.477, 3340.630, 483, 2.581, 3149.164, 479, 2.285, 2914.014, 390, 2.319, 4136.910, 372, 5.814, 1349.867, 364, 6.027, 3185.192, 360, 5.895, 3333.499, 311, 0.978, 191.448, 272, 5.414, 1592.596, 243, 3.758, 155.420, 228, 1.748, 5088.629, 223, 0.939, 951.718, 217, 3.836, 6283.076, 216, 4.569, 3532.061, 213, 0.780, 1589.073, 204, 3.135, 4690.480, 182, 0.413, 5486.778, 180, 4.219, 3870.303, 169, 4.537, 4292.331, 168, 5.549, 3097.884, 165, 0.968, 4399.994, 165, 3.539, 2700.715, 163, 3.808, 3340.545, 163, 3.399, 3340.680, 162, 2.349, 553.569, 158, 4.757, 9492.146, 157, 3.724, 20043.675, 147, 5.953, 3894.182, 143, 3.999, 1990.745, 132, 0.415, 5614.729, 130, 5.142, 6677.702, 127, 0.690, 3723.509, 125, 1.032, 3341.593, 124, 6.231, 5628.956, 122, 4.223, 7079.374, 118, 6.253, 2274.117, 113, 1.024, 12303.068, 112, 1.318, 3496.033, 104, 1.233, 426.598, 103, 0.901, 4535.059, 98, 3.45, 382.90, 92, 1.82, 6681.24, 92, 6.07, 6681.21, 92, 3.90, 3553.91, 90, 2.58, 2388.89, 88, 2.20, 1221.85, 86, 1.16, 2787.04, 79, 5.74, 2288.34, 78, 4.15, 6041.33, 77, 1.01, 8432.76, 73, 4.27, 2803.81, 72, 3.70, 2818.04, 71, 3.51, 8031.09, 68, 4.05, 10025.36, 68, 0.24, 11773.38, 67, 4.26, 242.73, 65, 0.04, 2957.72, 65, 2.12, 8429.24, 65, 2.76, 3339.63, 63, 1.90, 5621.84, 63, 1.60, 3347.73, 60, 2.96, 6489.78, 57, 3.14, 213.30, 55, 4.91, 7632.94, 55, 4.61, 3583.34, 53, 3.78, 5092.15, 52, 2.67, 7477.52, 51, 3.98, 7.11, 47, 0.91, 5099.27, 46, 1.82, 2810.92, 40, 4.14, 9623.69, 40, 4.91, 2942.46, 39, 0.54, 5884.93, 39, 3.08, 3.52, 39, 0.67, 3127.31, 38, 0.03, 7234.79, 37, 0.09, 6525.80, 36, 5.77, 4933.21, 32, 4.55, 2487.42, 31, 1.00, 2118.76, 30, 2.59, 2906.90, 30, 4.15, 6681.16, 30, 3.74, 6681.29, 30, 0.83, 5085.04, 29, 4.66, 7210.92, 28, 1.01, 7064.12, 28, 0.05, 639.90, 28, 3.98, 6467.93, 28, 5.17, 5828.03, 27, 0.69, 2699.73, 26, 5.34, 10973.56, 26, 5.01, 10018.31, 26, 1.09, 4929.69, 26, 5.09, 12832.76, 25, 1.53, 6836.65, 24, 3.94, 11371.70, 22, 0.19, 9595.24, 21, 5.69, 3191.05, 21, 1.30, 7740.61, 21, 3.54, 1066.50, 21, 6.24, 6674.11, 20, 6.16, 1744.43, 20, 0.46, 10575.41, 19, 5.02, 3475.68, 19, 1.37, 15643.68, 18, 4.06, 23384.29, 18, 6.16, 8425.65, 18, 5.68, 3319.84, 18, 2.31, 3355.86, 18, 5.87, 3320.26, 17, 4.58, 10419.99, 17, 2.22, 2921.13, 17, 1.93, 3767.21, 16, 4.34, 5331.36, 16, 5.93, 8439.88, 15, 1.54, 3361.39, 15, 0.35, 8969.57, 14, 2.15, 10021.85, 14, 0.12, 10021.82, 14, 0.56, 15113.99, 14, 1.39, 6682.21, 14, 4.65, 4562.46, 14, 1.50, 3325.36, 14, 0.15, 1758.65, 13, 1.25, 7875.67, 13, 1.87, 692.16, 13, 1.45, 6254.63, 13, 5.79, 14584.30, 13, 1.35, 10404.73, 12, 6.03, 3264.35, 12, 1.88, 10177.26, 12, 0.85, 3120.20, 12, 4.30, 6894.52, 12, 0.90, 13916.02, 12, 4.18, 3360.97, 12, 3.00, 6247.51, 11, 0.15, 3134.43, 11, 2.84, 640.88, 11, 2.58, 6261.74, 11, 0.49, 11243.69, 11, 0.25, 3337.02, 11, 0.13, 522.58, 11, 0.68, 3344.20, 10, 4.06, 6158.65, 10, 5.70, 536.80, 10, 5.77, 14314.17, 10, 1.28, 4569.57, 10, 2.92, 5729.51, + /*R2*/ 442422, 0.479306, 3340.612427, 81380, 0.86998, 6681.22485, 12749, 1.22594, 10021.83728, 1874, 1.5730, 13362.4497, 524, 3.142, 0.000, 407, 1.971, 3344.136, 266, 1.917, 16703.062, 178, 4.435, 2281.230, 117, 4.525, 3185.192, 102, 5.391, 1059.382, 100, 0.419, 796.298, 92, 4.54, 2146.17, 78, 5.93, 1748.02, 73, 3.14, 2544.31, 72, 2.29, 6684.75, 68, 5.27, 155.42, 67, 5.30, 1194.45, 65, 2.31, 3738.76, 58, 1.05, 1349.87, 54, 1.00, 3149.16, 47, 0.77, 3097.88, 46, 0.81, 4136.91, 44, 2.46, 951.72, 43, 3.90, 1592.60, 39, 3.86, 553.57, 37, 2.26, 20043.67, 36, 1.32, 3333.50, 35, 1.85, 398.15, 34, 3.82, 1751.54, 32, 2.12, 5614.73, 31, 4.55, 5628.96, 30, 2.86, 6151.53, 29, 1.19, 529.69, 29, 1.20, 3894.18, 28, 2.49, 1990.75, 27, 2.92, 3496.03, 27, 6.07, 4292.33, 24, 4.68, 4690.48, 24, 5.94, 2787.04, 23, 2.56, 191.45, 22, 1.85, 3337.09, 22, 5.37, 8962.46, 22, 1.07, 2388.89, 21, 2.75, 242.73, 20, 3.82, 2914.01, 20, 5.76, 3341.59, 20, 5.76, 4399.99, 20, 4.17, 3340.60, 20, 6.21, 3340.63, 20, 3.11, 3583.34, 18, 5.69, 1589.07, 18, 3.32, 5088.63, 16, 5.68, 4535.06, 15, 4.96, 382.90, 15, 2.23, 3723.51, 14, 2.70, 7079.37, 14, 5.19, 2700.72, 13, 4.88, 6525.80, 13, 4.82, 2957.72, 12, 2.62, 10025.36, 12, 0.93, 2810.92, 12, 3.27, 9492.15, 10, 6.27, 3347.73, 10, 3.40, 5621.84, 10, 2.11, 3870.30, 9, 1.40, 6489.78, 9, 5.81, 12303.07, 9, 2.20, 2699.73, 9, 5.96, 426.60, 8, 2.26, 6283.08, 8, 2.24, 3553.91, 8, 1.17, 7477.52, 8, 2.01, 5092.15, 8, 0.23, 3532.06, 8, 2.06, 5486.78, 7, 4.26, 4933.21, 7, 0.30, 6681.24, 7, 4.55, 6681.21, 7, 2.34, 7.11, 7, 3.99, 6677.70, 7, 0.16, 7632.94, 6, 2.25, 3340.55, 6, 1.84, 3340.68, 6, 1.55, 7234.79, 6, 3.30, 1221.85, 6, 5.06, 8031.09, 5, 4.26, 3339.63, 5, 2.60, 23384.29, 5, 3.08, 6836.65, 4, 1.34, 640.88, 4, 4.96, 8969.57, 4, 2.85, 5331.36, 4, 6.27, 2487.42, 4, 6.10, 7740.61, + /*R3*/ 11131, 5.14987, 3340.61243, 4244, 5.6134, 6681.2249, 1000, 5.9973, 10021.8373, 196, 0.076, 13362.450, 47, 3.14, 0.00, 35, 0.43, 16703.06, 29, 0.45, 3344.14, 24, 3.02, 3185.19, 7, 0.81, 6684.75, 6, 0.78, 20043.67, 5, 3.87, 1059.38, 5, 1.61, 3583.34, 5, 4.52, 3496.03, 4, 5.72, 3149.16, 4, 4.42, 2787.04, 4, 5.56, 4136.91, 3, 3.38, 6525.80, 3, 0.76, 3738.76, 2, 2.14, 3097.88, 2, 5.83, 2388.89, 2, 0.57, 155.42, 2, 4.20, 3341.59, 2, 0.97, 1990.75, 2, 2.35, 1592.60, 2, 4.15, 4535.06, 2, 3.76, 1194.45, 2, 1.14, 10025.36, 2, 5.13, 796.30, + /*R4*/ 196, 3.582, 3340.612, 163, 4.051, 6681.225, 58, 4.46, 10021.84, 15, 4.84, 13362.45, 4, 1.51, 3185.19, 3, 5.21, 16703.06, 2, 5.16, 3344.14, 1, 0.00, 0.00, 1, 2.19, 3496.03, 1, 0.10, 3583.34, 1, 5.55, 20043.67, 1, 1.87, 6525.80, + /*R5*/ 5, 2.48, 6681.22, 3, 2.92, 10021.84, 1, 1.77, 3340.61, 1, 3.31, 13362.45}, + //Djup精度:J2000+-4千年 黄经0.5角秒 黄纬0.5角秒 距离3AU/10^6 []float64{ - 100000000,//A的倍率 - 20,503,863,1256,1451,1529,1550,1676,1802,1910,1964,1988,1991,2513,2945,3482,3761,3896,3923,//位置索引表 - /*L0*/ 59954691,0.00000000,0.00000000,9695899,5.0619179,529.6909651,573610,1.444062,7.113547,306389,5.417347,1059.381930,97178,4.14265,632.78374,72903,3.64043,522.57742,64264,3.41145,103.09277,39806,2.29377,419.48464,38858,1.27232,316.39187,27965,1.78455,536.80451,13590,5.77481,1589.07290,8769,3.6300,949.1756,8246,3.5823,206.1855,7368,5.0810,735.8765,6263,0.0250,213.2991,6114,4.5132,1162.4747,5305,4.1863,1052.2684,5305,1.3067,14.2271,4905,1.3208,110.2063,4647,4.6996,3.9322,3045,4.3168,426.5982,2610,1.5667,846.0828,2028,1.0638,3.1814,1921,0.9717,639.8973,1765,2.1415,1066.4955,1723,3.8804,1265.5675,1633,3.5820,515.4639,1432,4.2968,625.6702,973,4.098,95.979,884,2.437,412.371,733,6.085,838.969,731,3.806,1581.959,709,1.293,742.990,692,6.134,2118.764,614,4.109,1478.867,582,4.540,309.278,495,3.756,323.505,441,2.958,454.909,417,1.036,2.448,390,4.897,1692.166,376,4.703,1368.660,341,5.715,533.623,330,4.740,0.048,262,1.877,0.963,261,0.820,380.128,257,3.724,199.072,244,5.220,728.763,235,1.227,909.819,220,1.651,543.918,207,1.855,525.759,202,1.807,1375.774,197,5.293,1155.361,175,3.730,942.062,175,3.226,1898.351,175,5.910,956.289,158,4.365,1795.258,151,3.906,74.782,149,4.377,1685.052,141,3.136,491.558,138,1.318,1169.588,131,4.169,1045.155,117,2.500,1596.186,117,3.389,0.521,106,4.554,526.510,100,1.421,532.872,96,1.18,117.32,92,0.86,1272.68,88,1.22,453.42,77,4.43,39.36,72,4.24,2111.65,70,5.14,835.04,69,2.35,2.92,67,2.99,2214.74,66,5.34,1471.75,63,4.98,0.75,62,0.51,220.41,60,4.13,4.19,59,4.11,2001.44,58,5.87,5753.38,56,1.15,21.34,54,1.57,983.12,53,0.91,10.29,52,4.10,1258.45,47,3.55,5.42,47,4.79,305.35,46,4.67,5.63,46,5.11,4.67,43,0.15,528.21,42,4.68,302.16,40,4.69,0.16,39,4.25,853.20,39,1.72,11.05,39,6.08,518.65,38,2.44,433.71,38,0.21,2648.45,38,6.19,831.86,36,2.45,430.53,36,4.61,2008.56,34,1.01,9683.59,33,5.29,88.87,32,5.14,1788.14,31,0.42,1.48,30,3.67,508.35,30,5.34,2221.86,28,1.85,0.21,27,2.81,18.16,27,1.78,532.14,26,2.74,2531.13,26,3.86,2317.84,25,2.63,114.14,24,3.82,1574.85,24,2.53,494.27,23,3.24,984.60,23,3.85,2428.04,22,6.02,1063.31,21,1.29,35.42,21,4.03,355.75,20,1.02,628.85,20,5.60,527.24,19,0.52,14.98,19,4.86,1361.55,18,4.30,6.15,17,1.59,1439.51,16,2.77,760.26,16,5.27,142.45,16,1.89,529.64,16,5.09,529.74,16,4.12,636.72,15,6.08,149.56,15,2.82,621.74,15,4.86,2104.54,15,0.88,99.16,15,6.26,569.05,14,2.41,530.65,14,2.72,0.26,14,3.56,217.23,13,2.19,1055.45,13,2.72,1364.73,13,4.76,528.73,13,1.39,7.07,12,2.61,405.26,12,4.30,604.47,12,0.25,1485.98,12,3.60,2634.23,12,4.60,7.16,12,2.35,643.83,11,2.01,1073.61,11,2.48,423.42,11,4.05,519.40,11,5.04,458.84,11,5.09,2324.95,11,2.51,2847.53,11,2.08,92.05,11,3.12,1.27,10,3.63,2744.43,10,2.09,511.53,10,1.31,1905.46,10,3.66,107.02,10,4.06,38.13,10,1.70,1699.28,10,1.22,32.24, - /*L1*/ 52993480757,0.00000000000,0.00000000000,489741,4.220667,529.690965,228919,6.026475,7.113547,27655,4.57266,1059.38193,20721,5.45939,522.57742,12106,0.16986,536.80451,6068,4.4242,103.0928,5434,3.9848,419.4846,4238,5.8901,14.2271,2212,5.2677,206.1855,1746,4.9267,1589.0729,1296,5.5513,3.1814,1173,5.8565,1052.2684,1163,0.5145,3.9322,1099,5.3070,515.4639,1007,0.4648,735.8765,1004,3.1504,426.5982,848,5.758,110.206,827,4.803,213.299,816,0.586,1066.495,725,5.518,639.897,568,5.989,625.670,474,4.132,412.371,413,5.737,95.979,345,4.242,632.784,336,3.732,1162.475,234,4.035,949.176,234,6.243,309.278,199,1.505,838.969,195,2.219,323.505,187,6.086,742.990,184,6.280,543.918,171,5.417,199.072,131,0.626,728.763,115,0.680,846.083,115,5.286,2118.764,108,4.493,956.289,80,5.82,1045.15,72,5.34,942.06,70,5.97,532.87,67,5.73,21.34,66,0.13,526.51,65,6.09,1581.96,59,0.59,1155.36,58,0.99,1596.19,57,5.97,1169.59,57,1.41,533.62,55,5.43,10.29,52,5.73,117.32,52,0.23,1368.66,50,6.08,525.76,47,3.63,1478.87,47,0.51,1265.57,40,4.16,1692.17,34,0.10,302.16,33,5.04,220.41,32,5.37,508.35,29,5.42,1272.68,29,3.36,4.67,29,0.76,88.87,25,1.61,831.86,22,6.15,1685.05,21,5.86,1258.45,20,2.17,316.39,18,0.83,433.71,18,5.96,5.42,18,0.50,1375.77,17,0.71,1471.75,17,2.76,853.20,14,0.91,18.16,14,0.63,2.92,12,1.76,380.13,12,4.30,405.26,11,5.57,1574.85,10,0.31,1361.55,10,0.39,1073.61,10,5.90,519.40,9,3.22,1795.26,9,0.54,1788.14,8,5.88,2001.44,8,5.10,1485.98,8,5.65,2648.45,7,6.19,11.05,7,2.41,4.19,6,1.36,1148.25,6,4.22,2008.56,6,5.57,191.96,5,4.40,2221.86,5,1.46,330.62,5,5.23,628.85,5,2.93,518.65,5,0.17,629.60,5,0.79,721.65,5,6.25,1677.94,5,4.95,635.97,5,2.07,453.42,4,0.09,1062.56,4,4.36,423.42,4,0.15,1699.28,4,4.14,511.53,4,0.24,2104.54,4,1.44,2125.88,4,0.50,1056.20,4,6.19,636.72,4,2.55,74.78,4,2.93,32.24,4,5.67,2317.84,4,0.25,1055.45,3,5.89,1802.37,3,4.61,416.30,3,5.50,107.02,3,1.09,1464.64,3,5.73,99.91,3,3.31,0.75,3,1.61,1063.31,3,1.25,540.74,3,3.04,422.67,3,4.29,106.27,3,0.35,1898.35,3,3.60,750.10, - /*L2*/ 47234,4.32148,7.11355,38966,0.00000,0.00000,30629,2.93021,529.69097,3189,1.0550,522.5774,2729,4.8455,536.8045,2723,3.4141,1059.3819,1721,4.1873,14.2271,383,5.768,419.485,378,0.760,515.464,367,6.055,103.093,337,3.786,3.181,308,0.694,206.186,218,3.814,1589.073,199,5.340,1066.495,197,2.484,3.932,156,1.406,1052.268,146,3.814,639.897,142,1.634,426.598,130,5.837,412.371,117,1.414,625.670,97,4.03,110.21,91,1.11,95.98,87,2.52,632.78,79,4.64,543.92,72,2.22,735.88,58,0.83,199.07,57,3.12,213.30,49,1.67,309.28,40,4.02,21.34,40,0.62,323.51,36,2.33,728.76,29,3.61,10.29,28,3.24,838.97,26,4.50,742.99,26,2.51,1162.47,25,1.22,1045.15,24,3.01,956.29,19,4.29,532.87,18,0.81,508.35,17,4.20,2118.76,17,1.83,526.51,15,5.81,1596.19,15,0.68,942.06,15,4.00,117.32,14,5.95,316.39,14,1.80,302.16,13,2.52,88.87,13,4.37,1169.59,11,4.44,525.76,10,1.72,1581.96,9,2.18,1155.36,9,3.29,220.41,9,3.32,831.86,8,5.76,846.08,8,2.71,533.62,7,2.18,1265.57,6,0.50,949.18,5,6.01,405.26,5,3.65,1272.68,5,1.41,1258.45,4,3.02,1692.17,4,5.48,433.71,4,2.27,1368.66,4,5.07,1073.61,4,5.29,18.16,4,1.27,853.20,3,1.54,519.40,3,0.99,191.96,3,2.05,1361.55,3,2.10,1478.87,3,1.06,1574.85,2,2.37,1471.75,2,3.03,1148.25,2,2.48,721.65,2,3.71,1485.98,2,6.17,330.62,2,1.88,1685.05,1,5.15,1375.77,1,4.72,32.24,1,3.19,635.97,1,1.99,629.60,1,4.27,551.03,1,1.28,1038.04,1,4.02,539.99,1,4.76,1062.56,1,4.63,2648.45,1,2.26,1788.14,1,0.03,2125.88,1,1.70,1677.94,1,2.18,1795.26,1,2.98,81.75,1,5.06,1699.28,1,0.14,416.30,1,1.99,295.05,1,3.75,28.45,1,1.91,750.10,1,2.81,1464.64,1,3.01,124.43,1,1.18,99.91,1,3.53,227.53,1,1.75,1898.35,1,2.07,1056.20,1,2.74,618.56,1,6.25,423.42,1,2.00,2111.65,1,1.65,2001.44,1,4.92,1055.45,1,2.89,2008.56,1,4.32,1802.37,1,1.26,1382.89,1,3.03,2221.86,1,2.65,106.27,1,3.30,628.85,1,3.44,824.74,1,0.08,963.40,1,3.12,5746.27,1,5.47,5760.50,1,1.88,2104.54,1,1.20,422.67,1,4.68,611.44,1,1.86,636.72,1,4.54,9676.48,1,0.61,9690.71,1,2.84,1905.46,1,3.08,380.13,1,0.84,1891.24,1,3.96,440.83,1,1.56,1994.33,1,2.55,1781.03,1,1.11,107.02,1,4.44,647.01, - /*L3*/ 6502,2.5986,7.1135,1357,1.3464,529.6910,471,2.475,14.227,417,3.245,536.805,353,2.974,522.577,155,2.076,1059.382,87,2.51,515.46,44,0.00,0.00,34,3.83,1066.50,28,2.45,206.19,24,1.28,412.37,23,2.98,543.92,20,2.10,639.90,20,1.40,419.48,19,1.59,103.09,17,2.30,21.34,17,2.60,1589.07,16,3.15,625.67,16,3.36,1052.27,13,2.76,95.98,13,2.54,199.07,13,6.27,426.60,9,1.76,10.29,9,2.27,110.21,7,3.43,309.28,7,4.04,728.76,6,2.52,508.35,5,2.91,1045.15,5,5.25,323.51,4,4.30,88.87,4,3.52,302.16,4,4.09,735.88,3,1.43,956.29,3,4.36,1596.19,3,1.25,213.30,3,5.02,838.97,3,2.24,117.32,2,2.90,742.99,2,2.36,942.06,2,2.77,1169.59,2,5.01,831.86,2,1.40,405.26,1,1.61,220.41,1,3.09,2118.76,1,3.98,1155.36,1,3.46,1073.61,1,3.39,532.87,1,2.70,191.96,1,1.48,632.78,1,3.30,1258.45,1,1.11,1162.47,1,3.66,1581.96,1,3.75,433.71,1,5.90,853.20,1,1.96,1272.68,1,2.93,1574.85,1,3.53,525.76,1,2.02,526.51,1,4.15,721.65,1,4.69,81.75,1,2.28,551.03,1,4.36,1368.66,1,1.57,949.18,1,4.96,1148.25,1,4.31,330.62, - /*L4*/ 669,0.853,7.114,114,3.142,0.000,100,0.743,14.227,50,1.65,536.80,44,5.82,529.69,32,4.86,522.58,15,4.29,515.46,9,0.71,1059.38,5,1.30,543.92,4,2.32,1066.50,4,0.48,21.34,3,3.00,412.37,2,0.40,639.90,2,4.26,199.07,2,4.91,625.67,2,4.26,206.19,1,5.26,1052.27,1,4.72,95.98,1,1.29,1589.07,1,4.78,1045.15,1,6.06,88.87,1,5.78,728.76,1,4.55,426.60,1,3.40,419.48,1,3.55,103.09,1,0.52,110.21, - /*L5*/ 50,5.26,7.11,16,5.25,14.23,4,0.01,536.80,2,1.10,522.58,1,3.14,0.00,1,5.86,543.92,1,0.87,515.46, - /*B0*/ 2268616,3.5585261,529.6909651,110090,0.000000,0.000000,109972,3.908093,1059.381930,8101,3.6051,522.5774,6438,0.3063,536.8045,6044,4.2588,1589.0729,1107,2.9853,1162.4747,944,1.675,426.598,942,2.936,1052.268,894,1.754,7.114,836,5.179,103.093,767,2.155,632.784,684,3.678,213.299,629,0.643,1066.495,559,0.014,846.083,532,2.703,110.206,464,1.173,949.176,431,2.608,419.485,351,4.611,2118.764,132,4.778,742.990,123,3.350,1692.166,116,1.387,323.505,115,5.049,316.392,104,3.701,515.464,103,2.319,1478.867,102,3.153,1581.959,79,3.98,1265.57,70,2.56,956.29,63,4.50,735.88,56,0.38,1375.77,55,0.40,525.76,52,0.99,1596.19,50,0.19,543.92,49,3.57,533.62,29,5.43,206.19,28,1.54,625.67,24,6.11,1169.59,23,5.95,838.97,23,4.06,526.51,23,6.19,532.87,21,2.69,1045.15,21,4.96,2648.45, - /*B1*/ 177352,5.701665,529.690965,3230,5.7794,1059.3819,3081,5.4746,522.5774,2212,4.7348,536.8045,1694,3.1416,0.0000,346,4.746,1052.268,234,5.189,1066.495,196,6.186,7.114,150,3.927,1589.073,114,3.439,632.784,97,2.91,949.18,82,5.08,1162.47,77,2.51,103.09,77,0.61,419.48,74,5.50,515.46,61,5.45,213.30,50,3.95,735.88,46,0.54,110.21,45,1.90,846.08,37,4.70,543.92,36,6.11,316.39,32,4.92,1581.96,25,3.94,2118.76,23,5.85,323.51,21,5.63,1596.19,17,5.65,533.62,17,5.67,1265.57,17,5.90,526.51,16,4.43,1045.15,13,4.30,532.87,12,4.30,525.76,12,1.81,956.29,11,6.16,14.23,10,2.03,206.19,9,4.87,1155.36,9,1.56,426.60,8,3.93,1478.87,8,4.20,1169.59,8,3.85,625.67,8,2.99,942.06,6,3.41,639.90,5,0.83,117.32, - /*B2*/ 8094,1.4632,529.6910,813,3.142,0.000,742,0.957,522.577,399,2.899,536.805,342,1.447,1059.382,74,0.41,1052.27,46,3.48,1066.50,30,1.93,1589.07,29,0.99,515.46,23,4.27,7.11,14,2.92,543.92,12,5.22,632.78,11,4.88,949.18,6,6.21,1045.15,6,0.53,1581.96,5,6.03,735.88,5,1.43,526.51,5,0.92,1162.47,5,4.02,1596.19,4,4.54,110.21,3,1.39,533.62,3,0.42,419.48,3,4.40,14.23,3,2.48,2118.76,3,2.40,532.87,3,2.06,316.39,3,3.98,323.51,2,0.88,213.30,2,0.37,1155.36,2,4.78,942.06,2,3.89,426.60,2,3.90,846.08,2,1.20,103.09,2,5.80,625.67,2,2.24,525.76,2,1.42,1265.57, - /*B3*/ 252,3.381,529.691,122,2.733,522.577,49,1.04,536.80,11,2.31,1052.27,8,2.77,515.46,7,4.25,1059.38,6,1.78,1066.50,4,1.13,543.92,3,3.14,0.00,2,2.29,7.11,2,1.78,1045.15,1,0.45,632.78,1,0.33,1589.07,1,0.31,949.18,1,1.53,735.88,1,2.64,14.23,1,2.37,1581.96,1,2.48,1596.19, - /*B4*/ 15,4.53,522.58,5,4.47,529.69,4,5.44,536.80,3,0.00,0.00,2,4.52,515.46,1,4.20,1052.27,1,5.59,543.92,1,0.06,1066.50, - /*B5*/ 1,0.09,522.58, - /*R0*/ 520887429,0.000000000,0.000000000,25209327,3.49108640,529.69096509,610600,3.841154,1059.381930,282029,2.574199,632.783739,187647,2.075904,522.577418,86793,0.71001,419.48464,72063,0.21466,536.80451,65517,5.97996,316.39187,30135,2.16132,949.17561,29135,1.67759,103.09277,23947,0.27458,7.11355,23453,3.54023,735.87651,22284,4.19363,1589.07290,13033,2.96043,1162.47470,12749,2.71550,1052.26838,9703,1.9067,206.1855,9161,4.4135,213.2991,7895,2.4791,426.5982,7058,2.1818,1265.5675,6138,6.2642,846.0828,5477,5.6573,639.8973,4170,2.0161,515.4639,4137,2.7222,625.6702,3503,0.5653,1066.4955,2617,2.0099,1581.9593,2500,4.5518,838.9693,2128,6.1275,742.9901,1912,0.8562,412.3711,1611,3.0887,1368.6603,1479,2.6803,1478.8666,1231,1.8904,323.5054,1217,1.8017,110.2063,1015,1.3867,454.9094,999,2.872,309.278,961,4.549,2118.764,886,4.148,533.623,821,1.593,1898.351,812,5.941,909.819,777,3.677,728.763,727,3.988,1155.361,655,2.791,1685.052,654,3.382,1692.166,621,4.823,956.289,615,2.276,942.062,562,0.081,543.918,542,0.284,525.759,496,5.530,380.128,470,2.819,1795.258,458,0.127,1375.774,445,0.146,14.227,436,2.603,95.979,346,1.564,491.558,338,2.799,1045.155,319,1.348,2214.743,309,5.369,1272.681,303,1.154,5753.385,294,2.049,199.072,291,6.031,1169.588,291,3.893,1471.753,277,2.522,2001.444,275,2.989,526.510,257,6.134,532.872,239,3.574,835.037,215,2.636,2111.650,201,2.373,1258.454,197,5.929,453.425,192,0.920,1596.186,191,6.283,983.116,177,2.577,9683.595,139,3.640,1788.145,129,1.106,2531.135,128,4.666,831.856,124,2.262,2317.836,120,2.952,3.932,113,4.862,528.206,112,0.856,433.712,106,5.815,220.413,104,2.222,74.782,99,4.50,518.65,94,2.73,853.20,86,2.11,1574.85,86,2.34,2428.04,82,3.23,1361.55,80,0.89,430.53,77,2.10,508.35,70,3.22,305.35,70,3.04,302.16,70,0.20,532.14,68,3.36,2104.54,64,1.10,1364.73,60,0.96,494.27,58,5.72,628.85,58,3.46,2008.56,57,2.00,2634.23,57,3.92,2221.86,54,0.87,2847.53,53,1.20,760.26,52,4.02,527.24,49,5.60,2810.92,46,2.54,636.72,45,4.90,2648.45,45,1.62,984.60,44,4.43,1063.31,44,1.25,621.74,43,0.03,1439.51,42,0.32,529.64,42,3.52,529.74,40,2.10,2744.43,40,4.39,1148.25,40,2.46,355.75,39,4.71,569.05,39,4.32,149.56,38,2.93,1677.94,37,5.08,1905.46,37,0.84,530.65,34,3.09,2420.93,34,0.76,643.83,33,3.19,528.73,32,2.73,604.47,32,6.19,3.18,31,5.36,1485.98,29,1.84,1891.24,28,2.48,519.40,27,3.92,2324.95,27,1.75,2950.62,27,1.04,405.26,26,0.60,1055.45,26,1.34,330.62,26,0.52,511.53,26,3.46,458.84,24,0.88,423.42,24,5.00,1289.95,23,5.27,672.14,23,0.65,3163.92,22,0.43,1073.61,22,5.92,1802.37,22,1.42,540.74,21,3.08,629.60,20,2.73,39.36,20,4.14,1464.64,19,1.86,3060.83,19,5.17,635.97,19,3.66,415.55,19,3.69,88.87,19,1.97,38.13,18,1.90,1021.25,18,3.60,746.92,18,2.67,1994.33,17,2.82,2737.32,17,1.91,217.23,17,5.67,408.44,16,0.18,1699.28,16,3.35,1056.20,16,3.82,721.65,15,1.06,114.14,15,1.32,117.32,15,3.74,2641.34,15,1.33,490.33,15,4.65,6283.08,15,1.67,529.17,15,0.80,5223.69,15,2.17,530.21,14,3.54,142.45,13,1.49,3267.01,13,3.97,2538.25,13,0.74,908.33,12,0.21,1062.56,12,3.67,750.10,12,1.72,911.30,12,2.97,505.31,12,1.67,2207.63,12,5.12,685.47,12,5.23,524.06,12,1.60,1474.67, - /*R1*/ 1271802,2.6493751,529.6909651,61662,3.00076,1059.38193,53444,3.89718,522.57742,41390,0.00000,0.00000,31185,4.88277,536.80451,11847,2.41330,419.48464,9166,4.7598,7.1135,3404,3.3469,1589.0729,3203,5.2108,735.8765,3176,2.7930,103.0928,2806,3.7422,515.4639,2677,4.3305,1052.2684,2600,3.6344,206.1855,2412,1.4695,426.5982,2101,3.9276,639.8973,1646,5.3095,1066.4955,1641,4.4163,625.6702,1050,3.1611,213.2991,1025,2.5543,412.3711,806,2.678,632.784,741,2.171,1162.475,677,6.250,838.969,567,4.577,742.990,485,2.469,949.176,469,4.710,543.918,445,0.403,323.505,416,5.368,728.763,402,4.605,309.278,347,4.681,14.227,338,3.168,956.289,261,5.343,846.083,247,3.923,942.062,220,4.842,1368.660,203,5.600,1155.361,200,4.439,1045.155,197,3.706,2118.764,196,3.759,199.072,184,4.265,95.979,180,4.402,532.872,170,4.846,526.510,146,6.130,533.623,133,1.322,110.206,132,4.512,525.759,124,2.043,1478.867,122,4.406,1169.588,115,4.467,1581.959,111,3.625,1272.681,100,5.247,1265.567,99,5.73,1596.19,92,4.53,1685.05,86,0.08,831.86,82,3.81,508.35,81,4.11,1258.45,80,2.72,1692.17,78,5.57,1471.75,56,4.75,302.16,55,0.35,316.39,52,5.53,433.71,51,4.86,1375.77,49,4.01,220.41,44,4.94,1361.55,42,1.22,853.20,38,5.33,1788.14,38,4.27,2001.44,36,3.85,1574.85,36,1.76,1795.26,29,5.17,3.93,27,6.10,1148.25,25,4.34,519.40,25,2.73,405.26,23,0.19,380.13,20,4.33,3.18,20,4.63,1677.94,20,5.11,1073.61,19,5.05,2104.54,18,6.03,330.62,18,3.77,1485.98,17,4.02,2317.84,17,5.43,88.87,16,2.93,1905.46,15,2.93,2008.56,15,5.51,721.65,14,3.63,628.85,14,2.74,2221.86,14,4.88,629.60,13,1.39,518.65,13,5.84,1464.64,12,1.59,2111.65,12,3.38,635.97,12,4.08,2648.45,11,2.58,511.53,11,3.55,1891.24,11,4.63,636.72,10,0.50,453.42,10,2.76,423.42,10,4.39,1994.33,9,4.33,1802.37,9,4.79,2420.93,9,4.81,1062.56,9,1.86,750.10,9,5.16,1056.20,9,4.54,21.34,8,3.73,2634.23,8,1.29,2428.04,7,3.02,416.30,7,4.98,1699.28,7,4.98,1898.35,7,4.99,1055.45,7,5.97,540.74,7,2.91,2324.95,7,5.55,1781.03,7,4.57,1038.04,6,1.39,422.67,6,6.14,2125.88,6,4.46,551.03,6,3.87,191.96,6,3.66,621.74,6,2.58,569.05,6,4.23,539.99,5,5.63,618.56,5,4.91,835.04,5,0.18,117.32,5,6.22,963.40,5,0.07,1063.31,5,1.35,1382.89,5,4.56,2737.32,5,4.61,643.83,5,3.35,2207.63,5,4.24,227.53,5,4.08,2310.72,4,1.48,408.44,4,0.19,824.74,4,4.61,647.01,4,2.38,2538.25,4,1.13,415.55,4,4.10,430.53,4,1.15,74.78,4,3.43,2950.62,4,1.03,2744.43,4,2.19,534.36,4,4.12,440.83,4,4.64,2214.74,4,5.29,2097.42,4,1.63,525.03, - /*R2*/ 79645,1.35866,529.69097,8252,5.7777,522.5774,7030,3.2748,536.8045,5314,1.8384,1059.3819,1861,2.9768,7.1135,964,5.480,515.464,836,4.199,419.485,498,3.142,0.000,427,2.228,639.897,406,3.783,1066.495,377,2.242,1589.073,363,5.368,206.186,342,6.099,1052.268,339,6.127,625.670,333,0.003,426.598,280,4.262,412.371,257,0.963,632.784,230,0.705,735.877,201,3.069,543.918,200,4.429,103.093,139,2.932,14.227,114,0.787,728.763,95,1.70,838.97,86,5.14,323.51,83,0.06,309.28,80,2.98,742.99,75,1.60,956.29,70,1.51,213.30,67,5.47,199.07,62,6.10,1045.15,56,0.96,1162.47,52,5.58,942.06,50,2.72,532.87,45,5.52,508.35,44,0.27,526.51,40,5.95,95.98,30,0.94,1155.36,29,1.79,831.86,28,2.88,525.76,27,2.65,2118.76,27,2.81,1169.59,26,4.27,1596.19,23,0.18,302.16,22,1.89,1272.68,21,4.35,316.39,21,0.54,1265.57,20,0.04,949.18,20,1.16,533.62,20,0.06,1581.96,18,4.15,846.08,17,5.89,1258.45,17,0.53,1368.66,13,0.79,110.21,13,3.90,433.71,12,2.23,220.41,12,0.41,1361.55,12,4.44,405.26,10,1.00,1471.75,10,6.01,853.20,9,1.51,1148.25,9,1.60,1692.17,9,6.27,519.40,9,3.52,1073.61,8,5.60,1574.85,8,0.18,1685.05,8,0.65,1478.87,7,0.88,88.87,7,0.89,721.65,7,4.44,330.62,6,2.50,3.18,5,0.85,1788.14,5,2.79,21.34,5,2.98,1375.77,5,0.05,1677.94,5,0.86,3.93,5,2.28,1485.98,4,1.28,1464.64,4,0.41,629.60,4,1.61,635.97,4,2.71,551.03,3,2.45,539.99,3,0.55,1795.26,3,1.19,1905.46,3,6.19,1038.04,3,5.55,191.96,3,6.23,2001.44,3,4.82,416.30,3,0.55,2104.54,3,3.24,1062.56,3,0.03,1898.35,3,1.24,2221.86,3,2.40,227.53,2,0.07,750.10,2,4.28,963.40,2,1.95,824.74,2,6.19,1994.33,2,1.72,628.85,2,5.33,1891.24,2,1.05,1781.03,2,3.33,1699.28,2,4.62,423.42,2,0.29,636.72,2,0.29,2111.65,2,0.32,295.05,2,3.44,647.01,2,2.79,1802.37,2,3.14,611.44,2,1.12,618.56,2,4.72,2125.88,2,1.60,2008.56,2,3.01,2648.45,2,2.32,440.83,2,5.89,2317.84,2,2.42,10.29,2,0.37,1056.20,2,3.52,1055.45,2,5.83,422.67,2,5.76,117.32,1,0.08,1382.89,1,0.18,2420.93,1,1.20,1063.31,1,0.76,2097.42,1,5.99,2310.72,1,1.59,380.13,1,4.20,547.85,1,4.23,934.95,1,3.86,1603.30,1,1.35,732.70,1,1.55,2324.95,1,5.60,99.91,1,6.18,945.99,1,1.03,81.75,1,0.09,2737.32,1,2.54,6283.08,1,1.15,952.36,1,5.22,2207.63,1,6.01,511.53,1,3.03,3046.60,1,2.71,3370.10,1,6.01,2214.74,1,5.00,319.57,1,3.91,10213.29,1,2.52,3679.38,1,4.69,5746.27,1,2.39,3267.01,1,0.77,5760.50,1,6.12,9676.48,1,3.99,337.73,1,2.19,9690.71,1,1.12,739.81,1,5.93,2634.23,1,1.15,2641.34,1,0.73,1354.43,1,0.65,2538.25,1,4.84,860.31,1,4.23,9683.59,1,1.20,124.43,1,5.44,107.02,1,0.90,106.27,1,2.22,2015.67,1,6.00,501.24,1,5.12,3156.81,1,1.24,3803.82,1,2.43,739.06,1,2.98,1262.39,1,6.00,1049.09,1,1.85,453.42,1,6.19,1987.22,1,5.33,2751.55,1,4.92,447.80,1,1.00,462.02,1,4.77,3473.20,1,5.61,2524.02,1,5.82,2627.11,1,2.43,3686.50,1,3.89,2516.91,1,3.55,3178.15,1,3.29,4.67,1,5.36,9.56, - /*R3*/ 3519,6.0580,529.6910,1073,1.6732,536.8045,916,1.413,522.577,342,0.523,1059.382,255,1.196,7.114,222,0.952,515.464,90,3.14,0.00,69,2.27,1066.50,58,1.41,543.92,58,0.53,639.90,51,5.98,412.37,47,1.58,625.67,43,6.12,419.48,37,1.18,14.23,34,1.67,1052.27,34,0.85,206.19,31,1.04,1589.07,30,4.63,426.60,21,2.50,728.76,15,0.89,199.07,14,0.96,508.35,13,1.50,1045.15,12,2.61,735.88,12,3.56,323.51,11,1.79,309.28,11,6.28,956.29,10,6.26,103.09,9,3.45,838.97,7,1.28,742.99,7,0.92,942.06,7,3.45,831.86,7,1.87,302.16,6,1.38,95.98,5,2.83,1596.19,4,1.21,1169.59,4,5.99,213.30,4,6.11,405.26,3,2.33,1155.36,2,0.35,1272.68,2,1.87,532.87,2,0.43,220.41,2,5.97,1162.47,2,1.95,1073.61,2,0.09,632.78,2,1.59,2118.76,2,1.51,1258.45,2,1.07,21.34,2,2.16,433.71,2,5.94,110.21,2,3.17,1148.25,2,2.55,88.87,2,2.70,721.65,2,2.26,1361.55,2,1.98,525.76,2,2.71,330.62,2,0.44,533.62,2,4.46,853.20,2,0.47,526.51,2,0.12,949.18,1,0.67,551.03,1,1.17,1038.04,1,3.02,963.40,1,1.16,1574.85,1,2.55,846.08,1,1.79,1581.96,1,1.07,227.53,1,2.70,519.40,1,4.17,2627.11,1,3.69,824.74,1,4.91,1670.83,1,2.93,1368.66,1,0.60,539.99,1,4.52,750.10,1,0.94,191.96,1,4.87,611.44,1,0.21,1141.13,1,3.23,2125.88,1,2.39,2317.84,1,2.25,2538.25,1,5.80,1485.98,1,2.27,1699.28,1,0.67,440.83,1,2.48,1265.57,1,5.51,2413.82,1,4.41,1382.89,1,6.14,1279.79,1,1.93,2634.23,1,2.18,1062.56,1,1.96,1677.94,1,2.32,1471.75,1,2.05,295.05,1,2.50,2207.63,1,0.19,10.29, - /*R4*/ 129,0.084,536.805,113,4.249,529.691,83,3.30,522.58,38,2.73,515.46,27,5.69,7.11,18,5.40,1059.38,13,6.02,543.92,9,0.77,1066.50,8,5.68,14.23,7,1.43,412.37,6,5.12,639.90,5,3.34,625.67,3,3.40,1052.27,3,4.16,728.76,3,2.90,426.60,2,6.22,1589.07,2,3.12,1045.15,2,1.89,419.48,2,2.60,199.07,2,0.00,0.00,2,2.81,206.19,2,1.33,1596.19,1,5.16,831.86,1,4.42,956.29,1,5.47,220.41,1,0.67,1361.55,1,1.87,1148.25,1,3.17,508.35,1,5.79,1169.59,1,1.48,1272.68,1,2.42,117.32,1,2.20,942.06,1,5.31,551.03,1,0.50,1073.61,1,2.85,191.96,1,3.72,88.87,1,3.53,302.16,1,1.84,10.29,1,1.59,3.18,1,3.82,618.56,1,0.86,330.62,1,5.26,21.34,1,1.83,647.01,1,0.24,433.71,1,4.44,110.21, - /*R5*/ 11,4.75,536.80,4,5.92,522.58,2,5.57,515.46,2,4.30,543.92,2,3.69,7.11,2,4.13,1059.38,2,5.49,1066.50,1,3.78,14.23,1,4.51,529.69}, - + 100000000, //A的倍率 + 20, 503, 863, 1256, 1451, 1529, 1550, 1676, 1802, 1910, 1964, 1988, 1991, 2513, 2945, 3482, 3761, 3896, 3923, //位置索引表 + /*L0*/ 59954691, 0.00000000, 0.00000000, 9695899, 5.0619179, 529.6909651, 573610, 1.444062, 7.113547, 306389, 5.417347, 1059.381930, 97178, 4.14265, 632.78374, 72903, 3.64043, 522.57742, 64264, 3.41145, 103.09277, 39806, 2.29377, 419.48464, 38858, 1.27232, 316.39187, 27965, 1.78455, 536.80451, 13590, 5.77481, 1589.07290, 8769, 3.6300, 949.1756, 8246, 3.5823, 206.1855, 7368, 5.0810, 735.8765, 6263, 0.0250, 213.2991, 6114, 4.5132, 1162.4747, 5305, 4.1863, 1052.2684, 5305, 1.3067, 14.2271, 4905, 1.3208, 110.2063, 4647, 4.6996, 3.9322, 3045, 4.3168, 426.5982, 2610, 1.5667, 846.0828, 2028, 1.0638, 3.1814, 1921, 0.9717, 639.8973, 1765, 2.1415, 1066.4955, 1723, 3.8804, 1265.5675, 1633, 3.5820, 515.4639, 1432, 4.2968, 625.6702, 973, 4.098, 95.979, 884, 2.437, 412.371, 733, 6.085, 838.969, 731, 3.806, 1581.959, 709, 1.293, 742.990, 692, 6.134, 2118.764, 614, 4.109, 1478.867, 582, 4.540, 309.278, 495, 3.756, 323.505, 441, 2.958, 454.909, 417, 1.036, 2.448, 390, 4.897, 1692.166, 376, 4.703, 1368.660, 341, 5.715, 533.623, 330, 4.740, 0.048, 262, 1.877, 0.963, 261, 0.820, 380.128, 257, 3.724, 199.072, 244, 5.220, 728.763, 235, 1.227, 909.819, 220, 1.651, 543.918, 207, 1.855, 525.759, 202, 1.807, 1375.774, 197, 5.293, 1155.361, 175, 3.730, 942.062, 175, 3.226, 1898.351, 175, 5.910, 956.289, 158, 4.365, 1795.258, 151, 3.906, 74.782, 149, 4.377, 1685.052, 141, 3.136, 491.558, 138, 1.318, 1169.588, 131, 4.169, 1045.155, 117, 2.500, 1596.186, 117, 3.389, 0.521, 106, 4.554, 526.510, 100, 1.421, 532.872, 96, 1.18, 117.32, 92, 0.86, 1272.68, 88, 1.22, 453.42, 77, 4.43, 39.36, 72, 4.24, 2111.65, 70, 5.14, 835.04, 69, 2.35, 2.92, 67, 2.99, 2214.74, 66, 5.34, 1471.75, 63, 4.98, 0.75, 62, 0.51, 220.41, 60, 4.13, 4.19, 59, 4.11, 2001.44, 58, 5.87, 5753.38, 56, 1.15, 21.34, 54, 1.57, 983.12, 53, 0.91, 10.29, 52, 4.10, 1258.45, 47, 3.55, 5.42, 47, 4.79, 305.35, 46, 4.67, 5.63, 46, 5.11, 4.67, 43, 0.15, 528.21, 42, 4.68, 302.16, 40, 4.69, 0.16, 39, 4.25, 853.20, 39, 1.72, 11.05, 39, 6.08, 518.65, 38, 2.44, 433.71, 38, 0.21, 2648.45, 38, 6.19, 831.86, 36, 2.45, 430.53, 36, 4.61, 2008.56, 34, 1.01, 9683.59, 33, 5.29, 88.87, 32, 5.14, 1788.14, 31, 0.42, 1.48, 30, 3.67, 508.35, 30, 5.34, 2221.86, 28, 1.85, 0.21, 27, 2.81, 18.16, 27, 1.78, 532.14, 26, 2.74, 2531.13, 26, 3.86, 2317.84, 25, 2.63, 114.14, 24, 3.82, 1574.85, 24, 2.53, 494.27, 23, 3.24, 984.60, 23, 3.85, 2428.04, 22, 6.02, 1063.31, 21, 1.29, 35.42, 21, 4.03, 355.75, 20, 1.02, 628.85, 20, 5.60, 527.24, 19, 0.52, 14.98, 19, 4.86, 1361.55, 18, 4.30, 6.15, 17, 1.59, 1439.51, 16, 2.77, 760.26, 16, 5.27, 142.45, 16, 1.89, 529.64, 16, 5.09, 529.74, 16, 4.12, 636.72, 15, 6.08, 149.56, 15, 2.82, 621.74, 15, 4.86, 2104.54, 15, 0.88, 99.16, 15, 6.26, 569.05, 14, 2.41, 530.65, 14, 2.72, 0.26, 14, 3.56, 217.23, 13, 2.19, 1055.45, 13, 2.72, 1364.73, 13, 4.76, 528.73, 13, 1.39, 7.07, 12, 2.61, 405.26, 12, 4.30, 604.47, 12, 0.25, 1485.98, 12, 3.60, 2634.23, 12, 4.60, 7.16, 12, 2.35, 643.83, 11, 2.01, 1073.61, 11, 2.48, 423.42, 11, 4.05, 519.40, 11, 5.04, 458.84, 11, 5.09, 2324.95, 11, 2.51, 2847.53, 11, 2.08, 92.05, 11, 3.12, 1.27, 10, 3.63, 2744.43, 10, 2.09, 511.53, 10, 1.31, 1905.46, 10, 3.66, 107.02, 10, 4.06, 38.13, 10, 1.70, 1699.28, 10, 1.22, 32.24, + /*L1*/ 52993480757, 0.00000000000, 0.00000000000, 489741, 4.220667, 529.690965, 228919, 6.026475, 7.113547, 27655, 4.57266, 1059.38193, 20721, 5.45939, 522.57742, 12106, 0.16986, 536.80451, 6068, 4.4242, 103.0928, 5434, 3.9848, 419.4846, 4238, 5.8901, 14.2271, 2212, 5.2677, 206.1855, 1746, 4.9267, 1589.0729, 1296, 5.5513, 3.1814, 1173, 5.8565, 1052.2684, 1163, 0.5145, 3.9322, 1099, 5.3070, 515.4639, 1007, 0.4648, 735.8765, 1004, 3.1504, 426.5982, 848, 5.758, 110.206, 827, 4.803, 213.299, 816, 0.586, 1066.495, 725, 5.518, 639.897, 568, 5.989, 625.670, 474, 4.132, 412.371, 413, 5.737, 95.979, 345, 4.242, 632.784, 336, 3.732, 1162.475, 234, 4.035, 949.176, 234, 6.243, 309.278, 199, 1.505, 838.969, 195, 2.219, 323.505, 187, 6.086, 742.990, 184, 6.280, 543.918, 171, 5.417, 199.072, 131, 0.626, 728.763, 115, 0.680, 846.083, 115, 5.286, 2118.764, 108, 4.493, 956.289, 80, 5.82, 1045.15, 72, 5.34, 942.06, 70, 5.97, 532.87, 67, 5.73, 21.34, 66, 0.13, 526.51, 65, 6.09, 1581.96, 59, 0.59, 1155.36, 58, 0.99, 1596.19, 57, 5.97, 1169.59, 57, 1.41, 533.62, 55, 5.43, 10.29, 52, 5.73, 117.32, 52, 0.23, 1368.66, 50, 6.08, 525.76, 47, 3.63, 1478.87, 47, 0.51, 1265.57, 40, 4.16, 1692.17, 34, 0.10, 302.16, 33, 5.04, 220.41, 32, 5.37, 508.35, 29, 5.42, 1272.68, 29, 3.36, 4.67, 29, 0.76, 88.87, 25, 1.61, 831.86, 22, 6.15, 1685.05, 21, 5.86, 1258.45, 20, 2.17, 316.39, 18, 0.83, 433.71, 18, 5.96, 5.42, 18, 0.50, 1375.77, 17, 0.71, 1471.75, 17, 2.76, 853.20, 14, 0.91, 18.16, 14, 0.63, 2.92, 12, 1.76, 380.13, 12, 4.30, 405.26, 11, 5.57, 1574.85, 10, 0.31, 1361.55, 10, 0.39, 1073.61, 10, 5.90, 519.40, 9, 3.22, 1795.26, 9, 0.54, 1788.14, 8, 5.88, 2001.44, 8, 5.10, 1485.98, 8, 5.65, 2648.45, 7, 6.19, 11.05, 7, 2.41, 4.19, 6, 1.36, 1148.25, 6, 4.22, 2008.56, 6, 5.57, 191.96, 5, 4.40, 2221.86, 5, 1.46, 330.62, 5, 5.23, 628.85, 5, 2.93, 518.65, 5, 0.17, 629.60, 5, 0.79, 721.65, 5, 6.25, 1677.94, 5, 4.95, 635.97, 5, 2.07, 453.42, 4, 0.09, 1062.56, 4, 4.36, 423.42, 4, 0.15, 1699.28, 4, 4.14, 511.53, 4, 0.24, 2104.54, 4, 1.44, 2125.88, 4, 0.50, 1056.20, 4, 6.19, 636.72, 4, 2.55, 74.78, 4, 2.93, 32.24, 4, 5.67, 2317.84, 4, 0.25, 1055.45, 3, 5.89, 1802.37, 3, 4.61, 416.30, 3, 5.50, 107.02, 3, 1.09, 1464.64, 3, 5.73, 99.91, 3, 3.31, 0.75, 3, 1.61, 1063.31, 3, 1.25, 540.74, 3, 3.04, 422.67, 3, 4.29, 106.27, 3, 0.35, 1898.35, 3, 3.60, 750.10, + /*L2*/ 47234, 4.32148, 7.11355, 38966, 0.00000, 0.00000, 30629, 2.93021, 529.69097, 3189, 1.0550, 522.5774, 2729, 4.8455, 536.8045, 2723, 3.4141, 1059.3819, 1721, 4.1873, 14.2271, 383, 5.768, 419.485, 378, 0.760, 515.464, 367, 6.055, 103.093, 337, 3.786, 3.181, 308, 0.694, 206.186, 218, 3.814, 1589.073, 199, 5.340, 1066.495, 197, 2.484, 3.932, 156, 1.406, 1052.268, 146, 3.814, 639.897, 142, 1.634, 426.598, 130, 5.837, 412.371, 117, 1.414, 625.670, 97, 4.03, 110.21, 91, 1.11, 95.98, 87, 2.52, 632.78, 79, 4.64, 543.92, 72, 2.22, 735.88, 58, 0.83, 199.07, 57, 3.12, 213.30, 49, 1.67, 309.28, 40, 4.02, 21.34, 40, 0.62, 323.51, 36, 2.33, 728.76, 29, 3.61, 10.29, 28, 3.24, 838.97, 26, 4.50, 742.99, 26, 2.51, 1162.47, 25, 1.22, 1045.15, 24, 3.01, 956.29, 19, 4.29, 532.87, 18, 0.81, 508.35, 17, 4.20, 2118.76, 17, 1.83, 526.51, 15, 5.81, 1596.19, 15, 0.68, 942.06, 15, 4.00, 117.32, 14, 5.95, 316.39, 14, 1.80, 302.16, 13, 2.52, 88.87, 13, 4.37, 1169.59, 11, 4.44, 525.76, 10, 1.72, 1581.96, 9, 2.18, 1155.36, 9, 3.29, 220.41, 9, 3.32, 831.86, 8, 5.76, 846.08, 8, 2.71, 533.62, 7, 2.18, 1265.57, 6, 0.50, 949.18, 5, 6.01, 405.26, 5, 3.65, 1272.68, 5, 1.41, 1258.45, 4, 3.02, 1692.17, 4, 5.48, 433.71, 4, 2.27, 1368.66, 4, 5.07, 1073.61, 4, 5.29, 18.16, 4, 1.27, 853.20, 3, 1.54, 519.40, 3, 0.99, 191.96, 3, 2.05, 1361.55, 3, 2.10, 1478.87, 3, 1.06, 1574.85, 2, 2.37, 1471.75, 2, 3.03, 1148.25, 2, 2.48, 721.65, 2, 3.71, 1485.98, 2, 6.17, 330.62, 2, 1.88, 1685.05, 1, 5.15, 1375.77, 1, 4.72, 32.24, 1, 3.19, 635.97, 1, 1.99, 629.60, 1, 4.27, 551.03, 1, 1.28, 1038.04, 1, 4.02, 539.99, 1, 4.76, 1062.56, 1, 4.63, 2648.45, 1, 2.26, 1788.14, 1, 0.03, 2125.88, 1, 1.70, 1677.94, 1, 2.18, 1795.26, 1, 2.98, 81.75, 1, 5.06, 1699.28, 1, 0.14, 416.30, 1, 1.99, 295.05, 1, 3.75, 28.45, 1, 1.91, 750.10, 1, 2.81, 1464.64, 1, 3.01, 124.43, 1, 1.18, 99.91, 1, 3.53, 227.53, 1, 1.75, 1898.35, 1, 2.07, 1056.20, 1, 2.74, 618.56, 1, 6.25, 423.42, 1, 2.00, 2111.65, 1, 1.65, 2001.44, 1, 4.92, 1055.45, 1, 2.89, 2008.56, 1, 4.32, 1802.37, 1, 1.26, 1382.89, 1, 3.03, 2221.86, 1, 2.65, 106.27, 1, 3.30, 628.85, 1, 3.44, 824.74, 1, 0.08, 963.40, 1, 3.12, 5746.27, 1, 5.47, 5760.50, 1, 1.88, 2104.54, 1, 1.20, 422.67, 1, 4.68, 611.44, 1, 1.86, 636.72, 1, 4.54, 9676.48, 1, 0.61, 9690.71, 1, 2.84, 1905.46, 1, 3.08, 380.13, 1, 0.84, 1891.24, 1, 3.96, 440.83, 1, 1.56, 1994.33, 1, 2.55, 1781.03, 1, 1.11, 107.02, 1, 4.44, 647.01, + /*L3*/ 6502, 2.5986, 7.1135, 1357, 1.3464, 529.6910, 471, 2.475, 14.227, 417, 3.245, 536.805, 353, 2.974, 522.577, 155, 2.076, 1059.382, 87, 2.51, 515.46, 44, 0.00, 0.00, 34, 3.83, 1066.50, 28, 2.45, 206.19, 24, 1.28, 412.37, 23, 2.98, 543.92, 20, 2.10, 639.90, 20, 1.40, 419.48, 19, 1.59, 103.09, 17, 2.30, 21.34, 17, 2.60, 1589.07, 16, 3.15, 625.67, 16, 3.36, 1052.27, 13, 2.76, 95.98, 13, 2.54, 199.07, 13, 6.27, 426.60, 9, 1.76, 10.29, 9, 2.27, 110.21, 7, 3.43, 309.28, 7, 4.04, 728.76, 6, 2.52, 508.35, 5, 2.91, 1045.15, 5, 5.25, 323.51, 4, 4.30, 88.87, 4, 3.52, 302.16, 4, 4.09, 735.88, 3, 1.43, 956.29, 3, 4.36, 1596.19, 3, 1.25, 213.30, 3, 5.02, 838.97, 3, 2.24, 117.32, 2, 2.90, 742.99, 2, 2.36, 942.06, 2, 2.77, 1169.59, 2, 5.01, 831.86, 2, 1.40, 405.26, 1, 1.61, 220.41, 1, 3.09, 2118.76, 1, 3.98, 1155.36, 1, 3.46, 1073.61, 1, 3.39, 532.87, 1, 2.70, 191.96, 1, 1.48, 632.78, 1, 3.30, 1258.45, 1, 1.11, 1162.47, 1, 3.66, 1581.96, 1, 3.75, 433.71, 1, 5.90, 853.20, 1, 1.96, 1272.68, 1, 2.93, 1574.85, 1, 3.53, 525.76, 1, 2.02, 526.51, 1, 4.15, 721.65, 1, 4.69, 81.75, 1, 2.28, 551.03, 1, 4.36, 1368.66, 1, 1.57, 949.18, 1, 4.96, 1148.25, 1, 4.31, 330.62, + /*L4*/ 669, 0.853, 7.114, 114, 3.142, 0.000, 100, 0.743, 14.227, 50, 1.65, 536.80, 44, 5.82, 529.69, 32, 4.86, 522.58, 15, 4.29, 515.46, 9, 0.71, 1059.38, 5, 1.30, 543.92, 4, 2.32, 1066.50, 4, 0.48, 21.34, 3, 3.00, 412.37, 2, 0.40, 639.90, 2, 4.26, 199.07, 2, 4.91, 625.67, 2, 4.26, 206.19, 1, 5.26, 1052.27, 1, 4.72, 95.98, 1, 1.29, 1589.07, 1, 4.78, 1045.15, 1, 6.06, 88.87, 1, 5.78, 728.76, 1, 4.55, 426.60, 1, 3.40, 419.48, 1, 3.55, 103.09, 1, 0.52, 110.21, + /*L5*/ 50, 5.26, 7.11, 16, 5.25, 14.23, 4, 0.01, 536.80, 2, 1.10, 522.58, 1, 3.14, 0.00, 1, 5.86, 543.92, 1, 0.87, 515.46, + /*B0*/ 2268616, 3.5585261, 529.6909651, 110090, 0.000000, 0.000000, 109972, 3.908093, 1059.381930, 8101, 3.6051, 522.5774, 6438, 0.3063, 536.8045, 6044, 4.2588, 1589.0729, 1107, 2.9853, 1162.4747, 944, 1.675, 426.598, 942, 2.936, 1052.268, 894, 1.754, 7.114, 836, 5.179, 103.093, 767, 2.155, 632.784, 684, 3.678, 213.299, 629, 0.643, 1066.495, 559, 0.014, 846.083, 532, 2.703, 110.206, 464, 1.173, 949.176, 431, 2.608, 419.485, 351, 4.611, 2118.764, 132, 4.778, 742.990, 123, 3.350, 1692.166, 116, 1.387, 323.505, 115, 5.049, 316.392, 104, 3.701, 515.464, 103, 2.319, 1478.867, 102, 3.153, 1581.959, 79, 3.98, 1265.57, 70, 2.56, 956.29, 63, 4.50, 735.88, 56, 0.38, 1375.77, 55, 0.40, 525.76, 52, 0.99, 1596.19, 50, 0.19, 543.92, 49, 3.57, 533.62, 29, 5.43, 206.19, 28, 1.54, 625.67, 24, 6.11, 1169.59, 23, 5.95, 838.97, 23, 4.06, 526.51, 23, 6.19, 532.87, 21, 2.69, 1045.15, 21, 4.96, 2648.45, + /*B1*/ 177352, 5.701665, 529.690965, 3230, 5.7794, 1059.3819, 3081, 5.4746, 522.5774, 2212, 4.7348, 536.8045, 1694, 3.1416, 0.0000, 346, 4.746, 1052.268, 234, 5.189, 1066.495, 196, 6.186, 7.114, 150, 3.927, 1589.073, 114, 3.439, 632.784, 97, 2.91, 949.18, 82, 5.08, 1162.47, 77, 2.51, 103.09, 77, 0.61, 419.48, 74, 5.50, 515.46, 61, 5.45, 213.30, 50, 3.95, 735.88, 46, 0.54, 110.21, 45, 1.90, 846.08, 37, 4.70, 543.92, 36, 6.11, 316.39, 32, 4.92, 1581.96, 25, 3.94, 2118.76, 23, 5.85, 323.51, 21, 5.63, 1596.19, 17, 5.65, 533.62, 17, 5.67, 1265.57, 17, 5.90, 526.51, 16, 4.43, 1045.15, 13, 4.30, 532.87, 12, 4.30, 525.76, 12, 1.81, 956.29, 11, 6.16, 14.23, 10, 2.03, 206.19, 9, 4.87, 1155.36, 9, 1.56, 426.60, 8, 3.93, 1478.87, 8, 4.20, 1169.59, 8, 3.85, 625.67, 8, 2.99, 942.06, 6, 3.41, 639.90, 5, 0.83, 117.32, + /*B2*/ 8094, 1.4632, 529.6910, 813, 3.142, 0.000, 742, 0.957, 522.577, 399, 2.899, 536.805, 342, 1.447, 1059.382, 74, 0.41, 1052.27, 46, 3.48, 1066.50, 30, 1.93, 1589.07, 29, 0.99, 515.46, 23, 4.27, 7.11, 14, 2.92, 543.92, 12, 5.22, 632.78, 11, 4.88, 949.18, 6, 6.21, 1045.15, 6, 0.53, 1581.96, 5, 6.03, 735.88, 5, 1.43, 526.51, 5, 0.92, 1162.47, 5, 4.02, 1596.19, 4, 4.54, 110.21, 3, 1.39, 533.62, 3, 0.42, 419.48, 3, 4.40, 14.23, 3, 2.48, 2118.76, 3, 2.40, 532.87, 3, 2.06, 316.39, 3, 3.98, 323.51, 2, 0.88, 213.30, 2, 0.37, 1155.36, 2, 4.78, 942.06, 2, 3.89, 426.60, 2, 3.90, 846.08, 2, 1.20, 103.09, 2, 5.80, 625.67, 2, 2.24, 525.76, 2, 1.42, 1265.57, + /*B3*/ 252, 3.381, 529.691, 122, 2.733, 522.577, 49, 1.04, 536.80, 11, 2.31, 1052.27, 8, 2.77, 515.46, 7, 4.25, 1059.38, 6, 1.78, 1066.50, 4, 1.13, 543.92, 3, 3.14, 0.00, 2, 2.29, 7.11, 2, 1.78, 1045.15, 1, 0.45, 632.78, 1, 0.33, 1589.07, 1, 0.31, 949.18, 1, 1.53, 735.88, 1, 2.64, 14.23, 1, 2.37, 1581.96, 1, 2.48, 1596.19, + /*B4*/ 15, 4.53, 522.58, 5, 4.47, 529.69, 4, 5.44, 536.80, 3, 0.00, 0.00, 2, 4.52, 515.46, 1, 4.20, 1052.27, 1, 5.59, 543.92, 1, 0.06, 1066.50, + /*B5*/ 1, 0.09, 522.58, + /*R0*/ 520887429, 0.000000000, 0.000000000, 25209327, 3.49108640, 529.69096509, 610600, 3.841154, 1059.381930, 282029, 2.574199, 632.783739, 187647, 2.075904, 522.577418, 86793, 0.71001, 419.48464, 72063, 0.21466, 536.80451, 65517, 5.97996, 316.39187, 30135, 2.16132, 949.17561, 29135, 1.67759, 103.09277, 23947, 0.27458, 7.11355, 23453, 3.54023, 735.87651, 22284, 4.19363, 1589.07290, 13033, 2.96043, 1162.47470, 12749, 2.71550, 1052.26838, 9703, 1.9067, 206.1855, 9161, 4.4135, 213.2991, 7895, 2.4791, 426.5982, 7058, 2.1818, 1265.5675, 6138, 6.2642, 846.0828, 5477, 5.6573, 639.8973, 4170, 2.0161, 515.4639, 4137, 2.7222, 625.6702, 3503, 0.5653, 1066.4955, 2617, 2.0099, 1581.9593, 2500, 4.5518, 838.9693, 2128, 6.1275, 742.9901, 1912, 0.8562, 412.3711, 1611, 3.0887, 1368.6603, 1479, 2.6803, 1478.8666, 1231, 1.8904, 323.5054, 1217, 1.8017, 110.2063, 1015, 1.3867, 454.9094, 999, 2.872, 309.278, 961, 4.549, 2118.764, 886, 4.148, 533.623, 821, 1.593, 1898.351, 812, 5.941, 909.819, 777, 3.677, 728.763, 727, 3.988, 1155.361, 655, 2.791, 1685.052, 654, 3.382, 1692.166, 621, 4.823, 956.289, 615, 2.276, 942.062, 562, 0.081, 543.918, 542, 0.284, 525.759, 496, 5.530, 380.128, 470, 2.819, 1795.258, 458, 0.127, 1375.774, 445, 0.146, 14.227, 436, 2.603, 95.979, 346, 1.564, 491.558, 338, 2.799, 1045.155, 319, 1.348, 2214.743, 309, 5.369, 1272.681, 303, 1.154, 5753.385, 294, 2.049, 199.072, 291, 6.031, 1169.588, 291, 3.893, 1471.753, 277, 2.522, 2001.444, 275, 2.989, 526.510, 257, 6.134, 532.872, 239, 3.574, 835.037, 215, 2.636, 2111.650, 201, 2.373, 1258.454, 197, 5.929, 453.425, 192, 0.920, 1596.186, 191, 6.283, 983.116, 177, 2.577, 9683.595, 139, 3.640, 1788.145, 129, 1.106, 2531.135, 128, 4.666, 831.856, 124, 2.262, 2317.836, 120, 2.952, 3.932, 113, 4.862, 528.206, 112, 0.856, 433.712, 106, 5.815, 220.413, 104, 2.222, 74.782, 99, 4.50, 518.65, 94, 2.73, 853.20, 86, 2.11, 1574.85, 86, 2.34, 2428.04, 82, 3.23, 1361.55, 80, 0.89, 430.53, 77, 2.10, 508.35, 70, 3.22, 305.35, 70, 3.04, 302.16, 70, 0.20, 532.14, 68, 3.36, 2104.54, 64, 1.10, 1364.73, 60, 0.96, 494.27, 58, 5.72, 628.85, 58, 3.46, 2008.56, 57, 2.00, 2634.23, 57, 3.92, 2221.86, 54, 0.87, 2847.53, 53, 1.20, 760.26, 52, 4.02, 527.24, 49, 5.60, 2810.92, 46, 2.54, 636.72, 45, 4.90, 2648.45, 45, 1.62, 984.60, 44, 4.43, 1063.31, 44, 1.25, 621.74, 43, 0.03, 1439.51, 42, 0.32, 529.64, 42, 3.52, 529.74, 40, 2.10, 2744.43, 40, 4.39, 1148.25, 40, 2.46, 355.75, 39, 4.71, 569.05, 39, 4.32, 149.56, 38, 2.93, 1677.94, 37, 5.08, 1905.46, 37, 0.84, 530.65, 34, 3.09, 2420.93, 34, 0.76, 643.83, 33, 3.19, 528.73, 32, 2.73, 604.47, 32, 6.19, 3.18, 31, 5.36, 1485.98, 29, 1.84, 1891.24, 28, 2.48, 519.40, 27, 3.92, 2324.95, 27, 1.75, 2950.62, 27, 1.04, 405.26, 26, 0.60, 1055.45, 26, 1.34, 330.62, 26, 0.52, 511.53, 26, 3.46, 458.84, 24, 0.88, 423.42, 24, 5.00, 1289.95, 23, 5.27, 672.14, 23, 0.65, 3163.92, 22, 0.43, 1073.61, 22, 5.92, 1802.37, 22, 1.42, 540.74, 21, 3.08, 629.60, 20, 2.73, 39.36, 20, 4.14, 1464.64, 19, 1.86, 3060.83, 19, 5.17, 635.97, 19, 3.66, 415.55, 19, 3.69, 88.87, 19, 1.97, 38.13, 18, 1.90, 1021.25, 18, 3.60, 746.92, 18, 2.67, 1994.33, 17, 2.82, 2737.32, 17, 1.91, 217.23, 17, 5.67, 408.44, 16, 0.18, 1699.28, 16, 3.35, 1056.20, 16, 3.82, 721.65, 15, 1.06, 114.14, 15, 1.32, 117.32, 15, 3.74, 2641.34, 15, 1.33, 490.33, 15, 4.65, 6283.08, 15, 1.67, 529.17, 15, 0.80, 5223.69, 15, 2.17, 530.21, 14, 3.54, 142.45, 13, 1.49, 3267.01, 13, 3.97, 2538.25, 13, 0.74, 908.33, 12, 0.21, 1062.56, 12, 3.67, 750.10, 12, 1.72, 911.30, 12, 2.97, 505.31, 12, 1.67, 2207.63, 12, 5.12, 685.47, 12, 5.23, 524.06, 12, 1.60, 1474.67, + /*R1*/ 1271802, 2.6493751, 529.6909651, 61662, 3.00076, 1059.38193, 53444, 3.89718, 522.57742, 41390, 0.00000, 0.00000, 31185, 4.88277, 536.80451, 11847, 2.41330, 419.48464, 9166, 4.7598, 7.1135, 3404, 3.3469, 1589.0729, 3203, 5.2108, 735.8765, 3176, 2.7930, 103.0928, 2806, 3.7422, 515.4639, 2677, 4.3305, 1052.2684, 2600, 3.6344, 206.1855, 2412, 1.4695, 426.5982, 2101, 3.9276, 639.8973, 1646, 5.3095, 1066.4955, 1641, 4.4163, 625.6702, 1050, 3.1611, 213.2991, 1025, 2.5543, 412.3711, 806, 2.678, 632.784, 741, 2.171, 1162.475, 677, 6.250, 838.969, 567, 4.577, 742.990, 485, 2.469, 949.176, 469, 4.710, 543.918, 445, 0.403, 323.505, 416, 5.368, 728.763, 402, 4.605, 309.278, 347, 4.681, 14.227, 338, 3.168, 956.289, 261, 5.343, 846.083, 247, 3.923, 942.062, 220, 4.842, 1368.660, 203, 5.600, 1155.361, 200, 4.439, 1045.155, 197, 3.706, 2118.764, 196, 3.759, 199.072, 184, 4.265, 95.979, 180, 4.402, 532.872, 170, 4.846, 526.510, 146, 6.130, 533.623, 133, 1.322, 110.206, 132, 4.512, 525.759, 124, 2.043, 1478.867, 122, 4.406, 1169.588, 115, 4.467, 1581.959, 111, 3.625, 1272.681, 100, 5.247, 1265.567, 99, 5.73, 1596.19, 92, 4.53, 1685.05, 86, 0.08, 831.86, 82, 3.81, 508.35, 81, 4.11, 1258.45, 80, 2.72, 1692.17, 78, 5.57, 1471.75, 56, 4.75, 302.16, 55, 0.35, 316.39, 52, 5.53, 433.71, 51, 4.86, 1375.77, 49, 4.01, 220.41, 44, 4.94, 1361.55, 42, 1.22, 853.20, 38, 5.33, 1788.14, 38, 4.27, 2001.44, 36, 3.85, 1574.85, 36, 1.76, 1795.26, 29, 5.17, 3.93, 27, 6.10, 1148.25, 25, 4.34, 519.40, 25, 2.73, 405.26, 23, 0.19, 380.13, 20, 4.33, 3.18, 20, 4.63, 1677.94, 20, 5.11, 1073.61, 19, 5.05, 2104.54, 18, 6.03, 330.62, 18, 3.77, 1485.98, 17, 4.02, 2317.84, 17, 5.43, 88.87, 16, 2.93, 1905.46, 15, 2.93, 2008.56, 15, 5.51, 721.65, 14, 3.63, 628.85, 14, 2.74, 2221.86, 14, 4.88, 629.60, 13, 1.39, 518.65, 13, 5.84, 1464.64, 12, 1.59, 2111.65, 12, 3.38, 635.97, 12, 4.08, 2648.45, 11, 2.58, 511.53, 11, 3.55, 1891.24, 11, 4.63, 636.72, 10, 0.50, 453.42, 10, 2.76, 423.42, 10, 4.39, 1994.33, 9, 4.33, 1802.37, 9, 4.79, 2420.93, 9, 4.81, 1062.56, 9, 1.86, 750.10, 9, 5.16, 1056.20, 9, 4.54, 21.34, 8, 3.73, 2634.23, 8, 1.29, 2428.04, 7, 3.02, 416.30, 7, 4.98, 1699.28, 7, 4.98, 1898.35, 7, 4.99, 1055.45, 7, 5.97, 540.74, 7, 2.91, 2324.95, 7, 5.55, 1781.03, 7, 4.57, 1038.04, 6, 1.39, 422.67, 6, 6.14, 2125.88, 6, 4.46, 551.03, 6, 3.87, 191.96, 6, 3.66, 621.74, 6, 2.58, 569.05, 6, 4.23, 539.99, 5, 5.63, 618.56, 5, 4.91, 835.04, 5, 0.18, 117.32, 5, 6.22, 963.40, 5, 0.07, 1063.31, 5, 1.35, 1382.89, 5, 4.56, 2737.32, 5, 4.61, 643.83, 5, 3.35, 2207.63, 5, 4.24, 227.53, 5, 4.08, 2310.72, 4, 1.48, 408.44, 4, 0.19, 824.74, 4, 4.61, 647.01, 4, 2.38, 2538.25, 4, 1.13, 415.55, 4, 4.10, 430.53, 4, 1.15, 74.78, 4, 3.43, 2950.62, 4, 1.03, 2744.43, 4, 2.19, 534.36, 4, 4.12, 440.83, 4, 4.64, 2214.74, 4, 5.29, 2097.42, 4, 1.63, 525.03, + /*R2*/ 79645, 1.35866, 529.69097, 8252, 5.7777, 522.5774, 7030, 3.2748, 536.8045, 5314, 1.8384, 1059.3819, 1861, 2.9768, 7.1135, 964, 5.480, 515.464, 836, 4.199, 419.485, 498, 3.142, 0.000, 427, 2.228, 639.897, 406, 3.783, 1066.495, 377, 2.242, 1589.073, 363, 5.368, 206.186, 342, 6.099, 1052.268, 339, 6.127, 625.670, 333, 0.003, 426.598, 280, 4.262, 412.371, 257, 0.963, 632.784, 230, 0.705, 735.877, 201, 3.069, 543.918, 200, 4.429, 103.093, 139, 2.932, 14.227, 114, 0.787, 728.763, 95, 1.70, 838.97, 86, 5.14, 323.51, 83, 0.06, 309.28, 80, 2.98, 742.99, 75, 1.60, 956.29, 70, 1.51, 213.30, 67, 5.47, 199.07, 62, 6.10, 1045.15, 56, 0.96, 1162.47, 52, 5.58, 942.06, 50, 2.72, 532.87, 45, 5.52, 508.35, 44, 0.27, 526.51, 40, 5.95, 95.98, 30, 0.94, 1155.36, 29, 1.79, 831.86, 28, 2.88, 525.76, 27, 2.65, 2118.76, 27, 2.81, 1169.59, 26, 4.27, 1596.19, 23, 0.18, 302.16, 22, 1.89, 1272.68, 21, 4.35, 316.39, 21, 0.54, 1265.57, 20, 0.04, 949.18, 20, 1.16, 533.62, 20, 0.06, 1581.96, 18, 4.15, 846.08, 17, 5.89, 1258.45, 17, 0.53, 1368.66, 13, 0.79, 110.21, 13, 3.90, 433.71, 12, 2.23, 220.41, 12, 0.41, 1361.55, 12, 4.44, 405.26, 10, 1.00, 1471.75, 10, 6.01, 853.20, 9, 1.51, 1148.25, 9, 1.60, 1692.17, 9, 6.27, 519.40, 9, 3.52, 1073.61, 8, 5.60, 1574.85, 8, 0.18, 1685.05, 8, 0.65, 1478.87, 7, 0.88, 88.87, 7, 0.89, 721.65, 7, 4.44, 330.62, 6, 2.50, 3.18, 5, 0.85, 1788.14, 5, 2.79, 21.34, 5, 2.98, 1375.77, 5, 0.05, 1677.94, 5, 0.86, 3.93, 5, 2.28, 1485.98, 4, 1.28, 1464.64, 4, 0.41, 629.60, 4, 1.61, 635.97, 4, 2.71, 551.03, 3, 2.45, 539.99, 3, 0.55, 1795.26, 3, 1.19, 1905.46, 3, 6.19, 1038.04, 3, 5.55, 191.96, 3, 6.23, 2001.44, 3, 4.82, 416.30, 3, 0.55, 2104.54, 3, 3.24, 1062.56, 3, 0.03, 1898.35, 3, 1.24, 2221.86, 3, 2.40, 227.53, 2, 0.07, 750.10, 2, 4.28, 963.40, 2, 1.95, 824.74, 2, 6.19, 1994.33, 2, 1.72, 628.85, 2, 5.33, 1891.24, 2, 1.05, 1781.03, 2, 3.33, 1699.28, 2, 4.62, 423.42, 2, 0.29, 636.72, 2, 0.29, 2111.65, 2, 0.32, 295.05, 2, 3.44, 647.01, 2, 2.79, 1802.37, 2, 3.14, 611.44, 2, 1.12, 618.56, 2, 4.72, 2125.88, 2, 1.60, 2008.56, 2, 3.01, 2648.45, 2, 2.32, 440.83, 2, 5.89, 2317.84, 2, 2.42, 10.29, 2, 0.37, 1056.20, 2, 3.52, 1055.45, 2, 5.83, 422.67, 2, 5.76, 117.32, 1, 0.08, 1382.89, 1, 0.18, 2420.93, 1, 1.20, 1063.31, 1, 0.76, 2097.42, 1, 5.99, 2310.72, 1, 1.59, 380.13, 1, 4.20, 547.85, 1, 4.23, 934.95, 1, 3.86, 1603.30, 1, 1.35, 732.70, 1, 1.55, 2324.95, 1, 5.60, 99.91, 1, 6.18, 945.99, 1, 1.03, 81.75, 1, 0.09, 2737.32, 1, 2.54, 6283.08, 1, 1.15, 952.36, 1, 5.22, 2207.63, 1, 6.01, 511.53, 1, 3.03, 3046.60, 1, 2.71, 3370.10, 1, 6.01, 2214.74, 1, 5.00, 319.57, 1, 3.91, 10213.29, 1, 2.52, 3679.38, 1, 4.69, 5746.27, 1, 2.39, 3267.01, 1, 0.77, 5760.50, 1, 6.12, 9676.48, 1, 3.99, 337.73, 1, 2.19, 9690.71, 1, 1.12, 739.81, 1, 5.93, 2634.23, 1, 1.15, 2641.34, 1, 0.73, 1354.43, 1, 0.65, 2538.25, 1, 4.84, 860.31, 1, 4.23, 9683.59, 1, 1.20, 124.43, 1, 5.44, 107.02, 1, 0.90, 106.27, 1, 2.22, 2015.67, 1, 6.00, 501.24, 1, 5.12, 3156.81, 1, 1.24, 3803.82, 1, 2.43, 739.06, 1, 2.98, 1262.39, 1, 6.00, 1049.09, 1, 1.85, 453.42, 1, 6.19, 1987.22, 1, 5.33, 2751.55, 1, 4.92, 447.80, 1, 1.00, 462.02, 1, 4.77, 3473.20, 1, 5.61, 2524.02, 1, 5.82, 2627.11, 1, 2.43, 3686.50, 1, 3.89, 2516.91, 1, 3.55, 3178.15, 1, 3.29, 4.67, 1, 5.36, 9.56, + /*R3*/ 3519, 6.0580, 529.6910, 1073, 1.6732, 536.8045, 916, 1.413, 522.577, 342, 0.523, 1059.382, 255, 1.196, 7.114, 222, 0.952, 515.464, 90, 3.14, 0.00, 69, 2.27, 1066.50, 58, 1.41, 543.92, 58, 0.53, 639.90, 51, 5.98, 412.37, 47, 1.58, 625.67, 43, 6.12, 419.48, 37, 1.18, 14.23, 34, 1.67, 1052.27, 34, 0.85, 206.19, 31, 1.04, 1589.07, 30, 4.63, 426.60, 21, 2.50, 728.76, 15, 0.89, 199.07, 14, 0.96, 508.35, 13, 1.50, 1045.15, 12, 2.61, 735.88, 12, 3.56, 323.51, 11, 1.79, 309.28, 11, 6.28, 956.29, 10, 6.26, 103.09, 9, 3.45, 838.97, 7, 1.28, 742.99, 7, 0.92, 942.06, 7, 3.45, 831.86, 7, 1.87, 302.16, 6, 1.38, 95.98, 5, 2.83, 1596.19, 4, 1.21, 1169.59, 4, 5.99, 213.30, 4, 6.11, 405.26, 3, 2.33, 1155.36, 2, 0.35, 1272.68, 2, 1.87, 532.87, 2, 0.43, 220.41, 2, 5.97, 1162.47, 2, 1.95, 1073.61, 2, 0.09, 632.78, 2, 1.59, 2118.76, 2, 1.51, 1258.45, 2, 1.07, 21.34, 2, 2.16, 433.71, 2, 5.94, 110.21, 2, 3.17, 1148.25, 2, 2.55, 88.87, 2, 2.70, 721.65, 2, 2.26, 1361.55, 2, 1.98, 525.76, 2, 2.71, 330.62, 2, 0.44, 533.62, 2, 4.46, 853.20, 2, 0.47, 526.51, 2, 0.12, 949.18, 1, 0.67, 551.03, 1, 1.17, 1038.04, 1, 3.02, 963.40, 1, 1.16, 1574.85, 1, 2.55, 846.08, 1, 1.79, 1581.96, 1, 1.07, 227.53, 1, 2.70, 519.40, 1, 4.17, 2627.11, 1, 3.69, 824.74, 1, 4.91, 1670.83, 1, 2.93, 1368.66, 1, 0.60, 539.99, 1, 4.52, 750.10, 1, 0.94, 191.96, 1, 4.87, 611.44, 1, 0.21, 1141.13, 1, 3.23, 2125.88, 1, 2.39, 2317.84, 1, 2.25, 2538.25, 1, 5.80, 1485.98, 1, 2.27, 1699.28, 1, 0.67, 440.83, 1, 2.48, 1265.57, 1, 5.51, 2413.82, 1, 4.41, 1382.89, 1, 6.14, 1279.79, 1, 1.93, 2634.23, 1, 2.18, 1062.56, 1, 1.96, 1677.94, 1, 2.32, 1471.75, 1, 2.05, 295.05, 1, 2.50, 2207.63, 1, 0.19, 10.29, + /*R4*/ 129, 0.084, 536.805, 113, 4.249, 529.691, 83, 3.30, 522.58, 38, 2.73, 515.46, 27, 5.69, 7.11, 18, 5.40, 1059.38, 13, 6.02, 543.92, 9, 0.77, 1066.50, 8, 5.68, 14.23, 7, 1.43, 412.37, 6, 5.12, 639.90, 5, 3.34, 625.67, 3, 3.40, 1052.27, 3, 4.16, 728.76, 3, 2.90, 426.60, 2, 6.22, 1589.07, 2, 3.12, 1045.15, 2, 1.89, 419.48, 2, 2.60, 199.07, 2, 0.00, 0.00, 2, 2.81, 206.19, 2, 1.33, 1596.19, 1, 5.16, 831.86, 1, 4.42, 956.29, 1, 5.47, 220.41, 1, 0.67, 1361.55, 1, 1.87, 1148.25, 1, 3.17, 508.35, 1, 5.79, 1169.59, 1, 1.48, 1272.68, 1, 2.42, 117.32, 1, 2.20, 942.06, 1, 5.31, 551.03, 1, 0.50, 1073.61, 1, 2.85, 191.96, 1, 3.72, 88.87, 1, 3.53, 302.16, 1, 1.84, 10.29, 1, 1.59, 3.18, 1, 3.82, 618.56, 1, 0.86, 330.62, 1, 5.26, 21.34, 1, 1.83, 647.01, 1, 0.24, 433.71, 1, 4.44, 110.21, + /*R5*/ 11, 4.75, 536.80, 4, 5.92, 522.58, 2, 5.57, 515.46, 2, 4.30, 543.92, 2, 3.69, 7.11, 2, 4.13, 1059.38, 2, 5.49, 1066.50, 1, 3.78, 14.23, 1, 4.51, 529.69}, + //Dsat精度:J2000+-4千年 黄经0.5角秒 黄纬0.5角秒 距离5AU/10^6 []float64{ - 100000000,//A的倍率 - 20,806,1406,1946,2177,2282,2333,2537,2726,2867,2963,3008,3026,4091,5063,5789,6260,6452,6536,//位置索引表 - /*L0*/ 87401354,0.00000000,0.00000000,11107660,3.96205090,213.29909544,1414151,4.5858152,7.1135470,398379,0.521120,206.185548,350769,3.303299,426.598191,206816,0.246584,103.092774,79271,3.84007,220.41264,23990,4.66977,110.20632,16574,0.43719,419.48464,15820,0.93809,632.78374,15054,2.71670,639.89729,14907,5.76903,316.39187,14610,1.56519,3.93215,13160,4.44891,14.22709,13005,5.98119,11.04570,10725,3.12940,202.25340,6126,1.7633,277.0350,5863,0.2366,529.6910,5228,4.2078,3.1814,5020,3.1779,433.7117,4593,0.6198,199.0720,4006,2.2448,63.7359,3874,3.2228,138.5175,3269,0.7749,949.1756,2954,0.9828,95.9792,2461,2.0316,735.8765,1758,3.2658,522.5774,1640,5.5050,846.0828,1581,4.3727,309.2783,1391,4.0233,323.5054,1124,2.8373,415.5525,1087,4.1834,2.4477,1017,3.7170,227.5262,957,0.507,1265.567,853,3.421,175.166,849,3.191,209.367,789,5.007,0.963,749,2.144,853.196,744,5.253,224.345,687,1.747,1052.268,654,1.599,0.048,634,2.299,412.371,625,0.970,210.118,580,3.093,74.782,546,2.127,350.332,543,1.518,9.561,530,4.449,117.320,478,2.965,137.033,474,5.475,742.990,452,1.044,490.334,449,1.290,127.472,372,2.278,217.231,355,3.013,838.969,347,1.539,340.771,343,0.246,0.521,330,0.247,1581.959,322,0.961,203.738,322,2.572,647.011,309,3.495,216.480,287,2.370,351.817,278,0.400,211.815,249,1.470,1368.660,227,4.910,12.530,220,4.204,200.769,209,1.345,625.670,208,0.483,1162.475,208,1.283,39.357,205,6.011,265.989,185,3.503,149.563,184,0.973,4.193,182,5.491,2.921,174,1.863,0.751,165,0.440,5.417,149,5.736,52.690,148,1.535,5.629,146,6.231,195.140,140,4.295,21.341,131,4.068,10.295,125,6.277,1898.351,122,1.976,4.666,118,5.341,554.070,117,2.679,1155.361,114,5.594,1059.382,112,1.105,191.208,110,0.166,1.484,109,3.438,536.805,107,4.012,956.289,104,2.192,88.866,103,1.197,1685.052,101,4.965,269.921,97,4.54,302.16,96,2.83,275.55,91,1.88,38.13,90,5.80,114.14,89,3.86,278.52,84,5.49,0.11,83,2.29,628.85,82,3.05,440.83,79,4.45,35.42,76,1.61,284.15,75,2.18,728.76,74,5.09,1375.77,72,5.11,65.22,70,4.87,0.21,70,3.71,14.98,69,3.44,515.46,68,0.73,1478.87,67,0.03,70.85,66,2.02,142.45,64,3.32,62.25,63,3.49,479.29,63,2.59,422.67,61,1.50,210.85,61,2.69,388.47,55,0.97,942.06,54,2.46,22.09,54,0.78,191.96,53,3.18,8.08,53,5.51,0.26,51,4.27,99.16,50,6.03,2214.74,49,2.39,1471.75,47,2.03,312.20,47,4.60,437.64,46,0.54,212.34,45,0.93,2001.44,45,1.12,6.15,44,3.93,525.50,43,2.53,288.08,43,1.37,563.63,43,3.82,330.62,42,1.90,430.53,40,5.71,408.44,40,1.63,1066.50,38,0.31,423.42,38,1.20,2.71,38,3.70,1272.68,38,4.52,24.38,36,6.01,18.16,36,0.85,213.35,36,3.93,213.25,35,4.19,215.75,35,4.46,214.26,35,1.02,203.00,33,0.54,107.02,33,0.66,692.59,33,0.81,1795.26,32,5.22,92.05,32,5.59,6069.78,32,1.69,0.16,32,5.50,56.62,31,0.37,703.63,31,6.14,417.04,30,0.72,222.86,30,5.30,33.94,29,0.15,131.40,29,1.20,404.51,28,5.64,128.96,28,1.46,7.16,27,6.23,1.27,27,1.90,1045.15,27,0.07,205.22,27,4.57,7.07,26,5.41,140.00,26,4.36,32.24,24,3.09,145.63,24,3.94,414.07,24,2.54,76.27,23,3.97,483.22,23,2.10,1788.14,23,3.20,208.63,23,3.66,207.67,23,6.10,177.87,23,5.24,212.78,22,5.92,173.94,21,0.72,1258.45,21,5.79,2531.13,21,2.02,860.31,21,0.67,2317.84,21,5.22,6.59,20,2.82,429.78,20,5.07,617.81,19,1.64,565.12,19,5.94,425.11,19,5.78,213.82,18,0.73,9999.99,18,5.23,73.30,18,6.11,210.38,18,3.14,831.86,17,0.24,134.59,17,0.72,2111.65,17,3.28,98.90,16,3.97,355.75,16,3.10,106.27,15,3.29,1589.07,15,3.25,78.71,15,5.19,305.35,15,2.75,1.22,14,3.88,54.17,14,4.52,59.80,14,1.72,69.15,14,6.18,245.54,14,2.37,125.99,14,2.55,405.26,14,2.54,1.70,14,3.59,234.64,13,0.83,99.91,13,4.17,225.83,13,6.01,214.78,13,4.69,767.37,13,5.31,344.70,12,2.12,28.31,12,3.60,124.43,12,1.62,1361.55,12,4.07,280.97,12,4.00,267.47,12,0.12,7.63,12,2.79,362.86,11,5.51,192.69,11,1.82,2104.54,11,2.62,7.86,11,2.61,339.29,11,5.51,199.28,11,3.58,1.44,11,0.19,217.49,11,2.37,831.10,10,2.84,85.83,10,1.69,31.02,10,4.72,216.22,10,0.22,198.32,10,0.22,144.15,10,3.61,14.01,10,3.94,207.88,10,4.02,207.15,10,0.42,2634.23,10,1.61,0.89,10,3.67,212.55,10,3.34,223.59,10,0.64,218.93,9,0.72,347.88,9,4.26,20.61,9,5.40,342.26,9,4.28,312.46,9,5.08,241.61,9,4.25,46.47,9,1.65,210.33,9,0.91,497.45,9,5.81,329.73,9,4.23,6.36,9,0.57,2428.04,9,5.36,343.22,9,5.55,2847.53,9,4.48,1692.17,9,0.49,1574.85,8,4.06,237.68,8,0.81,264.50,8,4.71,333.66,8,2.73,4.14,8,3.82,380.13,8,5.54,116.43,8,5.63,518.65,8,5.44,621.74, - /*L1*/ 21354295596,0.00000000000,0.00000000000,1296855,1.8282054,213.2990954,564348,2.885001,7.113547,107679,2.277699,206.185548,98323,1.08070,426.59819,40255,2.04128,220.41264,19942,1.27955,103.09277,10512,2.74880,14.22709,6939,0.4049,639.8973,4803,2.4419,419.4846,4056,2.9217,110.2063,3769,3.6497,3.9322,3385,2.4169,3.1814,3302,1.2626,433.7117,3071,2.3274,199.0720,1953,3.5639,11.0457,1249,2.6280,95.9792,922,1.961,227.526,706,4.417,529.691,650,6.174,202.253,628,6.111,309.278,487,6.040,853.196,479,4.988,522.577,468,4.617,63.736,417,2.117,323.505,408,1.299,209.367,352,2.317,632.784,344,3.959,412.371,340,3.634,316.392,336,3.772,735.877,332,2.861,210.118,289,2.733,117.320,281,5.744,2.448,266,0.543,647.011,230,1.644,216.480,192,2.965,224.345,173,4.077,846.083,167,2.597,21.341,136,2.286,10.295,131,3.441,742.990,128,4.095,217.231,109,6.161,415.552,98,4.73,838.97,94,3.48,1052.27,92,3.95,88.87,87,1.22,440.83,83,3.11,625.67,78,6.24,302.16,67,0.29,4.67,66,5.65,9.56,62,4.29,127.47,62,1.83,195.14,58,2.48,191.96,57,5.02,137.03,55,0.28,74.78,54,5.13,490.33,51,1.46,536.80,47,1.18,149.56,47,5.15,515.46,46,2.23,956.29,44,2.71,5.42,40,0.41,269.92,40,3.89,728.76,38,0.65,422.67,38,2.53,12.53,37,3.78,2.92,35,6.08,5.63,34,3.21,1368.66,33,4.64,277.03,33,5.43,1066.50,33,0.30,351.82,32,4.39,1155.36,31,2.43,52.69,30,2.84,203.00,30,6.19,284.15,30,3.39,1059.38,29,2.03,330.62,28,2.74,265.99,26,4.51,340.77,23,4.14,191.21,23,5.89,210.85,22,1.96,203.74,22,5.14,4.19,22,2.68,942.06,21,6.16,860.31,20,2.31,437.64,19,4.77,70.85,19,4.10,18.16,18,0.90,429.78,18,1.85,234.64,18,2.45,423.42,17,5.97,628.85,16,4.06,949.18,16,1.94,1272.68,16,1.06,56.62,16,5.59,6.15,15,4.24,1162.47,15,0.74,200.77,15,5.77,22.09,15,3.60,1045.15,14,2.94,1685.05,14,1.44,408.44,14,4.10,1471.75,13,6.25,38.13,13,5.76,138.52,13,4.25,405.26,12,4.85,831.86,12,1.86,131.40,12,1.81,124.43,11,1.55,223.59,11,5.37,215.75,10,3.47,1375.77,10,6.08,32.24,10,2.38,107.02,10,3.95,430.53,10,2.55,99.91,10,1.39,145.63,9,5.81,7.16,9,3.65,142.45,9,4.95,208.63,9,1.24,106.27,9,0.08,288.08,8,4.42,703.63,8,5.64,62.25,8,2.42,1258.45,8,6.22,14.98,8,0.53,654.12,8,3.75,312.20,7,4.85,222.86,7,0.28,0.75,7,0.53,388.47,7,2.05,99.16,7,0.24,8.08,7,5.83,483.22,7,3.49,35.42,6,2.89,114.14,6,3.33,1361.55,6,3.81,1788.14,6,0.55,65.22,6,1.63,1589.07,6,2.68,2001.44,6,0.89,92.05,6,4.39,81.75,5,5.48,563.63,5,4.58,134.59,5,2.12,214.26,5,4.68,212.34,5,3.34,1.48,5,5.77,565.12,5,2.20,207.88,5,4.20,404.51,5,0.42,76.27,5,3.78,1265.57,5,0.46,362.86,5,4.53,1148.25,5,4.59,554.07,5,5.80,217.96,5,3.25,231.46,5,5.38,497.45,4,0.11,295.05,4,1.80,213.25,4,5.00,213.35,4,4.88,98.90,4,0.59,750.10,4,0.99,24.38,4,0.82,344.70,4,0.81,343.22,4,5.13,218.93,4,1.61,245.54,4,0.35,333.66,3,5.30,350.33,3,1.85,225.83,3,2.20,1574.85,3,5.31,347.88,3,0.21,635.97,3,2.88,216.22,3,1.72,1169.59,3,1.92,17.41,3,3.04,1677.94,3,4.31,6062.66,3,1.34,543.92,3,0.25,120.36,3,3.36,7.86,3,2.53,1692.17,3,2.49,46.47,3,3.53,2104.54,3,4.87,144.15,3,5.73,9992.87,3,3.73,6076.89,3,0.24,357.45,3,2.43,2317.84,3,5.76,618.56,3,5.15,10007.10,3,0.72,85.83,3,3.43,31.02,3,3.80,17.27,3,1.63,182.28,3,0.92,479.29,3,4.52,198.32,3,2.11,168.05, - /*L2*/ 116441,1.179879,7.113547,91921,0.07425,213.29910,90592,0.00000,0.00000,15277,4.06492,206.18555,10631,0.25778,220.41264,10605,5.40964,426.59819,4265,1.0460,14.2271,1216,2.9186,103.0928,1165,4.6094,639.8973,1082,5.6913,433.7117,1045,4.0421,199.0720,1020,0.6337,3.1814,634,4.388,419.485,549,5.573,3.932,457,1.268,110.206,425,0.209,227.526,274,4.288,95.979,162,1.381,11.046,129,1.566,309.278,117,3.881,853.196,105,4.900,647.011,101,0.893,21.341,96,2.91,316.39,95,5.63,412.37,85,5.73,209.37,83,6.05,216.48,82,1.02,117.32,75,4.76,210.12,67,0.46,522.58,66,0.48,10.29,64,0.35,323.51,61,4.88,632.78,53,2.75,529.69,46,5.69,440.83,45,1.67,202.25,42,5.71,88.87,32,0.07,63.74,32,1.67,302.16,31,4.16,191.96,27,0.83,224.34,25,5.66,735.88,20,5.94,217.23,18,4.90,625.67,17,1.63,742.99,16,0.58,515.46,14,0.21,838.97,14,3.76,195.14,12,4.72,203.00,12,0.13,234.64,12,3.12,846.08,11,5.92,536.80,11,5.60,728.76,11,3.20,1066.50,10,4.99,422.67,10,0.26,330.62,10,4.15,860.31,9,0.46,956.29,8,2.14,269.92,8,5.25,429.78,8,4.03,9.56,7,5.40,1052.27,6,4.46,284.15,6,5.93,405.26,6,5.41,149.56,6,4.29,415.55,6,0.02,124.43,6,6.02,223.59,6,0.30,127.47,5,5.54,949.18,5,3.20,277.03,5,4.93,654.12,5,2.27,18.16,5,6.14,1155.36,5,4.41,942.06,4,2.89,56.62,4,4.69,74.78,4,5.31,1045.15,4,0.29,831.86,4,0.37,12.53,4,6.10,81.75,4,3.30,490.33,4,4.93,52.69,4,0.41,137.03,4,0.15,437.64,4,0.20,1272.68,3,4.77,423.42,3,4.29,99.91,3,1.57,1059.38,3,3.13,70.85,3,0.33,191.21,3,3.38,408.44,3,1.88,295.05,3,5.15,1368.66,3,3.59,131.40,3,5.12,265.99,2,1.59,32.24,2,3.90,210.85,2,5.83,106.27,2,4.77,351.82,2,3.14,22.09,2,5.98,6062.66,2,2.06,6076.89,2,5.95,145.63,2,5.23,1265.57,2,1.12,9992.87,2,3.48,10007.10,2,5.87,1471.75,2,4.52,138.52,2,4.15,1258.45,2,5.05,1361.55,2,4.14,107.02,2,1.36,231.46,2,6.24,1148.25,2,3.75,628.85,2,5.62,447.94,2,5.97,430.53,1,0.48,340.77,1,0.85,6069.78,1,2.91,215.75,1,0.71,28.45,1,2.28,9999.99,1,5.84,543.92,1,6.24,1589.07,1,2.83,200.77,1,3.52,497.45,1,0.72,508.35,1,2.61,1279.79,1,4.96,1685.05,1,1.20,618.56,1,4.53,635.97,1,1.09,184.84,1,2.41,703.63,1,3.40,1073.61,1,4.91,750.10,1,1.39,483.22,1,1.59,1375.77,1,2.66,134.59,1,4.21,288.08,1,4.68,362.86,1,2.43,222.86,1,4.52,38.13,1,5.01,1581.96,1,5.59,1788.14,1,0.77,113.39,1,4.80,1677.94,1,2.22,333.66,1,5.95,1464.64,1,4.49,643.08,1,5.82,416.30,1,2.51,343.22,1,3.97,1574.85,1,4.84,76.27,1,6.00,337.73,1,2.28,1162.47,1,2.35,120.36,1,3.67,347.88,1,0.01,1169.59,1,0.21,99.16,1,2.89,92.05,1,5.63,17.27,1,3.76,203.74,1,5.75,721.65,1,3.78,217.96,1,0.68,46.47,1,4.86,357.45,1,5.27,436.89,1,3.27,208.63,1,3.88,565.12,1,5.99,1905.46,1,3.69,350.33,1,4.96,358.93,1,0.31,98.90,1,1.22,62.25,1,0.87,1692.17,1,6.17,182.28,1,2.59,313.21,1,1.54,195.89,1,5.42,312.20,1,4.71,2001.44,1,3.81,168.05, - /*L3*/ 16039,5.73945,7.11355,4250,4.5854,213.2991,1907,4.7608,220.4126,1466,5.9133,206.1855,1162,5.6197,14.2271,1067,3.6082,426.5982,239,3.861,433.712,237,5.768,199.072,166,5.116,3.181,151,2.736,639.897,131,4.743,227.526,63,0.23,419.48,62,4.74,103.09,40,5.47,21.34,40,5.96,95.98,39,5.83,110.21,28,3.01,647.01,25,0.99,3.93,19,1.92,853.20,18,4.97,10.29,18,1.03,412.37,18,4.20,216.48,18,3.32,309.28,16,3.90,440.83,16,5.62,117.32,13,1.18,88.87,11,5.58,11.05,11,5.93,191.96,10,3.95,209.37,9,3.39,302.16,8,4.88,323.51,7,0.38,632.78,6,2.25,522.58,6,1.06,210.12,5,4.64,234.64,4,3.14,0.00,4,2.31,515.46,3,2.20,860.31,3,0.59,529.69,3,4.93,224.34,3,0.42,625.67,2,4.77,330.62,2,3.35,429.78,2,3.20,202.25,2,1.19,1066.50,2,1.35,405.26,2,4.16,223.59,2,3.07,654.12,2,1.03,728.76,2,4.40,124.43,2,3.09,422.67,2,4.15,536.80,2,5.83,195.14,2,6.04,742.99,1,0.38,316.39,1,1.58,81.75,1,2.11,838.97,1,1.38,735.88,1,2.33,217.23,1,5.02,956.29,1,1.66,63.74,1,3.88,269.92,1,3.73,295.05,1,2.76,284.15,1,3.31,18.16,1,2.02,831.86,1,0.71,846.08,1,3.84,447.94,1,4.71,56.62,1,0.80,1045.15,1,2.41,203.00,1,4.27,437.64,1,1.65,423.42,1,6.18,942.06,1,2.86,184.84,1,6.26,1059.38,1,3.43,149.56, - /*L4*/ 1662,3.9983,7.1135,257,2.984,220.413,236,3.902,14.227,149,2.741,213.299,114,3.142,0.000,110,1.515,206.186,68,1.72,426.60,40,2.05,433.71,38,1.24,199.07,31,3.01,227.53,15,0.83,639.90,9,3.71,21.34,6,2.42,419.48,6,1.16,647.01,4,1.45,95.98,4,2.12,440.83,3,4.09,110.21,3,2.77,412.37,3,3.01,88.87,3,0.00,853.20,3,0.39,103.09,2,3.78,117.32,2,2.83,234.64,2,5.08,309.28,2,2.24,216.48,2,5.19,302.16,1,1.55,191.96,1,3.45,323.51,1,4.83,210.12,1,2.29,209.37,1,0.30,860.31,1,2.38,632.78,1,4.03,522.58,1,4.19,515.46,1,2.17,124.43, - /*L5*/ 124,2.259,7.114,34,2.16,14.23,28,1.20,220.41,6,1.22,227.53,5,0.24,433.71,4,6.23,426.60,3,2.97,199.07,3,4.29,206.19,2,6.25,213.30,1,5.28,639.90,1,0.24,440.83,1,3.14,0.00,1,5.57,647.01,1,0.69,302.16,1,6.18,191.96,1,4.88,88.87,1,4.78,419.48, - /*B0*/ 4330678,3.6028443,213.2990954,240348,2.852385,426.598191,84746,0.00000,0.00000,34116,0.57297,206.18555,30863,3.48442,220.41264,14734,2.11847,639.89729,9917,5.7900,419.4846,6994,4.7360,7.1135,4808,5.4331,316.3919,4788,4.9651,110.2063,3432,2.7326,433.7117,1506,6.0130,103.0928,1060,5.6310,529.6910,969,5.204,632.784,942,1.396,853.196,708,3.803,323.505,552,5.131,202.253,400,3.359,227.526,319,3.626,209.367,316,1.997,647.011,314,0.465,217.231,284,4.886,224.345,236,2.139,11.046,215,5.950,846.083,209,2.120,415.552,207,0.730,199.072,179,2.954,63.736,141,0.644,490.334,139,4.595,14.227,139,1.998,735.877,135,5.245,742.990,122,3.115,522.577,116,3.109,216.480,114,0.963,210.118,96,4.48,117.32,81,1.32,277.03,74,2.89,149.56,73,3.06,536.80,69,4.92,309.28,68,2.18,351.82,62,0.68,1066.50,57,2.61,440.83,49,5.79,95.98,48,2.18,74.78,38,5.29,1059.38,37,6.28,1162.47,36,1.63,628.85,35,1.71,1052.27,34,5.98,412.37,34,2.46,422.67,34,1.14,949.18,32,4.15,437.64,27,1.27,860.31,24,3.07,215.75,24,4.11,3.93,24,2.75,838.97,23,0.99,210.85,21,0.14,430.53,21,3.51,330.62,20,2.82,127.47,19,2.98,137.03,19,6.27,423.42,18,2.29,388.47,18,6.20,703.63,17,3.90,214.26,17,0.17,212.34,17,1.67,38.13,16,4.55,956.29, - /*B1*/ 397555,5.332900,213.299095,49479,3.14159,0.00000,18572,6.09919,426.59819,14801,2.30586,206.18555,9644,1.6967,220.4126,3757,1.2543,419.4846,2717,5.9117,639.8973,1455,0.8516,433.7117,1291,2.9177,7.1135,853,0.436,316.392,298,0.919,632.784,292,5.316,853.196,284,1.619,227.526,275,3.889,103.093,172,0.052,647.011,166,2.444,199.072,158,5.209,110.206,128,1.207,529.691,110,2.457,217.231,82,2.76,210.12,81,2.86,14.23,69,1.66,202.25,65,1.26,216.48,61,1.25,209.37,59,1.82,323.51,46,0.82,440.83,36,1.82,224.34,34,2.84,117.32,33,1.31,412.37,32,1.19,846.08,27,4.65,1066.50,27,4.44,11.05,23,4.13,415.55,21,1.41,309.28,18,5.56,860.31,15,1.22,63.74,15,1.34,95.98,15,1.01,536.80,13,2.46,490.33,13,3.22,277.03,13,2.27,742.99,13,4.89,522.58,13,0.30,422.67,12,1.87,423.42,10,3.12,625.67,10,1.75,330.62,9,0.46,429.78,8,4.68,215.75,8,2.42,430.53,7,5.97,149.56,7,1.52,437.64,7,3.91,351.82,7,3.01,949.18,6,1.49,234.64,6,0.02,654.12,6,5.37,735.88,5,3.81,74.78,5,4.34,628.85,4,5.64,210.85,4,2.64,3.18,4,1.73,1059.38,4,4.99,3.93,4,1.16,223.59, - /*B2*/ 20630,0.50482,213.29910,3720,3.9983,206.1855,1627,6.1819,220.4126,1346,0.0000,0.0000,706,3.039,419.485,365,5.099,426.598,330,5.279,433.712,219,3.828,639.897,139,1.043,7.114,104,6.157,227.526,93,1.98,316.39,71,4.15,199.07,52,2.88,632.78,49,4.43,647.01,41,3.16,853.20,29,4.53,210.12,24,1.12,14.23,21,4.35,217.23,20,5.31,440.83,18,0.85,110.21,17,5.68,216.48,16,4.26,103.09,14,3.00,412.37,12,2.53,529.69,8,3.32,202.25,7,5.56,209.37,7,0.29,323.51,6,1.16,117.32,6,3.61,860.31,6,3.58,309.28,6,2.48,1066.50,4,3.02,846.08,4,4.80,625.67,3,3.77,423.42,3,6.04,234.64,3,4.82,429.78,3,4.48,654.12,3,3.29,95.98,3,5.64,735.88,3,0.22,522.58,2,0.03,415.55,2,6.25,330.62,2,4.56,422.67,2,5.06,277.03,2,5.53,536.80,2,5.54,224.34,2,5.60,223.59, - /*B3*/ 666,1.990,213.299,632,5.698,206.186,398,0.000,0.000,188,4.338,220.413,92,4.84,419.48,52,3.42,433.71,42,2.38,426.60,26,4.40,227.53,21,5.85,199.07,18,1.99,639.90,11,5.37,7.11,10,2.55,647.01,7,3.46,316.39,6,4.80,632.78,6,0.02,210.12,6,3.52,440.83,5,5.64,14.23,5,1.22,853.20,4,4.71,412.37,3,0.63,103.09,2,3.72,216.48,2,6.11,217.23,1,1.69,860.31,1,4.31,234.64,1,5.75,309.28,1,2.66,654.12,1,5.69,117.32,1,5.48,202.25,1,0.60,1066.50,1,0.22,625.67,1,2.86,429.78,1,4.52,323.51, - /*B4*/ 80,1.12,206.19,32,3.12,213.30,17,2.48,220.41,12,3.14,0.00,9,0.38,419.48,6,1.56,433.71,5,2.63,227.53,5,1.28,199.07,1,1.43,426.60,1,0.67,647.01,1,1.72,440.83,1,6.18,639.90,1,3.85,14.23,1,3.49,7.11,1,0.31,412.37, - /*B5*/ 8,2.82,206.19,1,0.51,220.41,1,3.14,0.00,1,2.99,199.07,1,0.78,227.53,1,5.96,433.71, - /*R0*/ 955758136,0.000000000,0.000000000,52921382,2.39226220,213.29909544,1873680,5.2354961,206.1855484,1464664,1.6476305,426.5981909,821891,5.935200,316.391870,547507,5.015326,103.092774,371684,2.271148,220.412642,361778,3.139043,7.113547,140618,5.704067,632.783739,108975,3.293136,110.206321,69007,5.94100,419.48464,61053,0.94038,639.89729,48913,1.55733,202.25340,34144,0.19519,277.03499,32402,5.47085,949.17561,20937,0.46349,735.87651,20839,1.52103,433.71174,20747,5.33256,199.07200,15298,3.05944,529.69097,14296,2.60434,323.50542,12884,1.64892,138.51750,11993,5.98051,846.08283,11380,1.73106,522.57742,9796,5.2048,1265.5675,7753,5.8519,95.9792,6771,3.0043,14.2271,6466,0.1773,1052.2684,5850,1.4552,415.5525,5307,0.5974,63.7359,4696,2.1492,227.5262,4044,1.6401,209.3669,3688,0.7802,412.3711,3461,1.8509,175.1661,3420,4.9455,1581.9593,3401,0.5539,350.3321,3376,3.6953,224.3448,2976,5.6847,210.1177,2885,1.3876,838.9693,2881,0.1796,853.1964,2508,3.5385,742.9901,2448,6.1841,1368.6603,2406,2.9656,117.3199,2174,0.0151,340.7709,2024,5.0541,11.0457,1888,0.0297,3.9322,1861,5.9336,625.6702,1817,5.7771,490.3341,1781,0.7631,217.2312,1740,2.3466,309.2783,1611,1.1730,74.7816,1475,5.6767,203.7379,1472,1.4006,137.0330,1463,1.9259,216.4805,1395,5.9367,127.4718,1315,5.1120,211.8146,1304,0.7724,647.0108,1296,4.6918,1898.3512,1277,2.9841,1059.3819,1207,0.7529,351.8166,1150,5.7402,1162.4747,1127,4.4671,265.9893,1099,1.8177,149.5632,1071,1.1357,1155.3612,1021,5.9123,1685.0521,998,2.631,200.769,986,2.260,956.289,932,3.670,554.070,664,0.603,728.763,660,4.666,195.140,626,5.942,1478.867,618,5.621,942.062,553,3.411,269.921,534,1.264,275.551,517,4.443,2214.743,494,2.286,278.519,490,5.806,191.208,488,2.794,3.181,482,1.841,479.288,473,1.882,515.464,470,0.838,1471.753,453,3.003,302.165,452,5.645,2001.444,427,0.057,284.149,405,1.640,536.805,386,1.997,1272.681,343,5.856,1795.258,341,2.376,525.498,341,0.891,628.852,340,1.402,440.825,303,0.879,6069.777,295,0.671,88.866,294,0.426,312.199,292,6.214,210.851,288,1.122,422.666,277,5.319,692.587,276,0.478,38.133,262,0.318,1045.155,243,5.372,1258.454,241,1.125,388.465,237,0.908,1375.774,234,4.228,114.138,231,5.495,191.958,226,0.375,142.450,225,0.548,1788.145,224,2.281,330.619,222,5.946,39.357,219,5.256,212.336,214,4.203,2531.135,208,5.381,2317.836,206,0.958,288.081,197,3.901,52.690,192,2.959,437.644,188,6.079,563.631,187,6.036,404.507,183,5.669,2111.650,180,4.410,408.439,178,0.382,430.530,177,2.303,9999.986,175,5.714,1066.495,173,1.849,1589.073,172,2.365,213.251,172,5.563,213.347,170,2.857,99.161,166,2.637,215.747,165,2.891,214.262,163,3.458,617.806,162,5.731,203.004,150,4.407,417.037,146,1.566,831.856,145,5.082,423.417,143,0.998,76.266,137,5.439,222.860,132,2.859,312.460,129,2.553,414.068,125,4.784,205.222,120,0.043,1361.547,113,5.031,703.633,112,0.262,2104.537,110,2.437,355.749,109,1.632,208.633,109,2.093,207.670,109,2.855,21.341,107,3.671,212.778,104,3.637,65.220,99,5.14,1574.85,98,5.12,2634.23,97,4.20,305.35,97,4.84,131.40,97,2.56,1692.17,96,5.45,2428.04,95,2.52,2.45,94,2.40,483.22,93,0.74,831.10,92,2.95,35.42,91,3.97,2847.53,91,4.21,213.82,89,5.39,107.02,89,4.06,128.96,88,3.87,140.00,87,1.33,1905.46,86,2.30,85.83,86,4.55,210.38,86,0.03,860.31,84,1.18,429.78,84,4.61,177.87,83,1.53,145.63,82,1.66,62.25,77,3.15,767.37,74,3.57,1.48,74,3.72,92.05,73,4.38,425.11,73,4.63,245.54,72,0.01,565.12,71,0.99,405.26,70,4.04,173.94,67,1.08,339.29,67,4.75,70.85,66,2.47,280.97,65,2.45,267.47,65,0.09,9.56,64,1.29,1148.25,64,4.10,327.44,63,2.02,234.64,63,4.40,214.78,61,5.12,756.32,59,4.23,700.66,59,2.62,225.83,58,6.06,1677.94,58,5.47,347.88,57,6.27,2420.93,56,2.07,124.43,56,4.30,329.73,55,1.60,543.02,55,3.86,342.26,54,3.71,344.70,54,1.07,362.86,54,4.98,134.59,53,3.79,343.22,50,5.76,320.32,50,3.93,192.69,50,5.21,2744.43,50,3.23,333.66,49,4.90,217.49,49,5.33,3127.31,48,3.15,216.22,48,2.39,207.88,48,3.93,199.28,47,2.45,207.15,47,2.07,2008.56,46,2.09,212.55,46,4.86,2950.62,46,2.64,10.29,46,4.97,198.32,45,5.36,218.93,45,1.78,223.59,45,5.56,264.50,43,1.84,106.27,43,0.40,357.45,42,0.08,210.33,42,0.74,125.99,41,2.47,237.68,41,4.92,1891.24,41,4.08,621.74,40,4.01,12.53,39,3.46,241.61,39,3.74,3163.92,39,4.40,18.16,38,4.44,160.61,38,2.06,247.24,37,4.75,348.85,37,1.69,22.09,36,3.83,56.62,35,3.44,273.10,35,5.65,497.45,35,5.96,217.96,35,2.25,487.37,35,5.63,99.91,35,1.83,380.13,34,6.01,166.83,34,0.73,750.10,34,5.31,206.23,34,1.24,2221.86,34,5.80,251.43,33,2.45,969.62,33,4.87,209.11,33,1.07,252.66,33,1.93,98.90,33,2.23,319.57,32,3.78,33.94,32,3.58,231.46,32,1.00,1464.64,32,2.13,206.14,32,3.82,73.30,31,2.05,282.45,31,1.96,244.32,31,4.90,144.15,31,2.27,1169.59,30,3.93,206.71,29,5.98,2737.32,29,4.84,905.89,29,2.22,14.98,29,6.03,188.92,29,5.80,1994.33,29,0.04,5.63,29,0.76,488.85,29,1.69,78.71,28,4.73,552.59,28,2.72,32.24,28,0.79,546.96,28,5.18,5.42,28,1.45,258.88,28,6.12,214.05,27,2.45,254.94,27,3.58,561.18,27,0.25,313.21,27,4.26,179.36,27,5.20,148.08,27,5.54,555.55,27,2.86,24.38,26,1.59,491.82,26,0.65,654.12,26,2.10,248.72,26,1.62,2324.95,26,3.36,0.96,25,5.29,636.72,25,4.97,3060.83,25,5.12,168.05,25,1.78,182.28,24,0.01,69.15,24,0.52,894.84,24,3.15,240.39,24,1.60,738.80,24,2.55,196.62,23,3.51,458.84,22,3.25,681.54,22,4.76,213.19,22,3.17,213.41,22,0.88,635.97,22,4.61,3267.01,21,3.86,116.43,21,0.63,189.72,21,1.67,274.07,21,1.07,494.27,20,6.05,173.68,20,1.84,533.62,20,2.95,59.80,20,2.91,120.36,20,4.94,121.25,20,5.59,4.19,20,0.08,842.15,20,2.52,1485.98,20,2.14,54.17,19,0.11,218.72,19,0.55,4.67,19,5.38,213.09,19,2.55,213.51,18,3.19,295.05,18,2.71,181.81,18,2.26,672.14,17,2.90,477.80,17,0.68,151.05,17,0.71,1781.03,17,4.74,2207.63,17,1.63,5856.48,17,3.53,3480.31,16,3.26,6283.08,16,5.39,424.15,16,3.98,2.92,16,0.91,280.00,16,0.63,358.93,16,0.98,2538.25,16,0.60,746.92,16,0.83,176.65,16,4.46,643.83,16,5.23,135.55,16,1.19,486.40,16,5.70,3053.71,15,1.49,543.92,15,5.53,2310.72,15,2.67,46.47,15,1.24,2641.34,15,1.77,569.05,15,2.92,167.09,15,2.66,292.01,15,6.06,468.24,15,5.26,472.17,14,0.22,235.39,14,0.12,313.68,14,0.38,601.76,14,2.63,618.56,14,0.82,221.38,14,3.19,213.56,14,4.73,213.04,14,2.51,1802.37,14,2.21,228.28, - /*R1*/ 6182981,0.2584352,213.2990954,506578,0.711147,206.185548,341394,5.796358,426.598191,188491,0.472157,220.412642,186262,3.141593,0.000000,143891,1.407449,7.113547,49621,6.01744,103.09277,20928,5.09246,639.89729,19953,1.17560,419.48464,18840,1.60820,110.20632,13877,0.75886,199.07200,12893,5.94330,433.71174,5397,1.2885,14.2271,4869,0.8679,323.5054,4247,0.3930,227.5262,3252,1.2585,95.9792,3081,3.4366,522.5774,2909,4.6068,202.2534,2856,2.1673,735.8765,1988,2.4505,412.3711,1941,6.0239,209.3669,1581,1.2919,210.1177,1340,4.3080,853.1964,1316,1.2530,117.3199,1203,1.8665,316.3919,1091,0.0753,216.4805,966,0.480,632.784,954,5.152,647.011,898,0.983,529.691,882,1.885,1052.268,874,1.402,224.345,785,3.064,838.969,740,1.382,625.670,658,4.144,309.278,650,1.725,742.990,613,3.033,63.736,599,2.549,217.231,503,2.130,3.932,413,4.593,415.552,395,0.533,956.289,363,4.707,302.165,356,2.303,728.763,345,5.888,440.825,336,1.616,1368.660,322,0.979,3.181,317,3.584,515.464,294,2.816,11.046,291,2.831,1155.361,278,0.260,195.140,265,2.427,88.866,265,5.829,149.563,264,1.285,1059.382,246,0.907,191.958,245,1.045,942.062,222,5.132,269.921,215,3.565,490.334,195,4.567,846.083,183,2.679,127.472,182,4.934,74.782,175,3.446,137.033,170,4.635,284.149,166,5.998,536.805,158,2.996,340.771,155,1.197,265.989,153,0.270,1272.681,152,5.439,422.666,152,0.529,330.619,141,1.271,203.004,141,2.021,1045.155,140,1.353,1685.052,136,5.017,351.817,129,1.143,21.341,128,2.539,1471.753,127,3.003,277.035,108,4.319,210.851,103,0.382,203.738,100,3.614,1066.495,98,2.56,191.21,97,3.26,831.86,96,0.79,1258.45,83,0.28,234.64,73,0.63,1375.77,72,4.38,860.31,72,5.58,429.78,71,0.73,437.64,70,0.88,423.42,69,2.47,949.18,67,5.45,200.77,67,0.07,408.44,66,2.68,405.26,66,0.06,1589.07,64,1.75,1361.55,62,1.09,2001.44,60,2.25,1788.14,55,4.59,628.85,54,0.28,124.43,51,6.27,223.59,50,3.80,215.75,49,4.17,138.52,48,0.84,10.29,47,2.17,312.20,43,3.38,208.63,43,2.99,1148.25,42,4.83,288.08,40,5.18,1478.87,40,0.28,131.40,39,0.56,1574.85,37,0.63,52.69,35,4.68,38.13,33,1.98,142.45,33,3.28,222.86,33,6.12,145.63,32,5.19,76.27,32,6.02,1905.46,31,1.48,1677.94,30,1.96,2104.54,29,5.10,654.12,29,4.96,1795.26,29,2.75,404.51,28,0.83,1692.17,28,0.83,2317.84,28,2.24,430.53,27,5.24,388.47,27,1.00,107.02,26,4.28,483.22,26,2.21,1265.57,25,2.87,703.63,25,6.24,106.27,25,1.08,99.91,25,0.81,312.46,24,3.11,212.34,24,0.55,214.26,24,0.65,207.88,23,5.08,479.29,23,4.87,295.05,22,4.23,217.96,22,5.51,343.22,22,3.90,563.63,22,0.73,99.16,22,6.07,85.83,22,4.17,2.45,22,3.80,347.88,21,3.09,554.07,21,0.39,319.57,21,5.11,333.66,21,2.69,1464.64,21,3.29,70.85,21,5.12,362.86,21,1.69,231.46,21,2.46,18.16,20,0.23,213.25,20,5.08,750.10,20,3.43,213.35,19,2.02,313.21,19,0.05,245.54,18,5.70,56.62,18,3.84,497.45,17,3.55,218.93,17,4.72,2111.65,17,1.41,114.14,16,3.05,134.59,16,1.71,2420.93,16,4.94,357.45,16,4.22,565.12,16,0.27,225.83,16,0.33,1891.24,16,2.83,81.75,15,1.21,1994.33,15,1.31,216.22,15,3.85,1162.47,15,5.57,344.70,14,0.45,2008.56,14,5.71,92.05,14,0.57,2634.23,13,5.76,2221.86,13,0.45,1169.59,13,1.60,320.32,13,3.74,508.35,13,3.43,258.88,13,1.64,273.10,13,1.92,1581.96,13,5.19,635.97,12,1.01,329.73,12,5.95,543.92,12,4.45,32.24,12,5.11,4.67,12,4.31,618.56,12,2.46,721.65,12,1.76,160.61,12,3.71,350.33,12,2.80,217.49,11,3.00,198.32,11,1.89,561.18,11,2.41,1781.03,11,1.58,212.78,11,0.77,218.72,11,2.07,213.82,10,2.41,546.96,10,0.09,182.28,10,0.49,305.35,10,2.64,416.30,10,4.05,62.25,10,3.28,275.55,10,1.61,327.44,10,1.10,113.39,9,5.46,414.07,9,4.46,2428.04,9,2.92,1279.79,9,4.88,120.36,9,0.54,168.05,9,6.14,621.74,9,1.83,629.60,9,1.95,35.42,9,2.18,425.11,8,0.36,617.81,8,3.77,251.43,8,0.92,1485.98,8,1.38,1.48,8,5.31,65.22,8,3.46,424.15,8,0.35,278.52,8,5.44,254.94,8,0.96,767.37,8,1.43,2737.32,8,3.38,144.15,8,0.94,636.72,8,5.14,22.09,8,0.94,2310.72,8,5.14,358.93,8,4.56,280.97,8,0.10,2324.95,8,5.75,447.94,8,2.19,264.50,7,4.52,5.63,7,3.85,214.05,7,3.39,98.90,7,1.20,5.42,7,1.65,1898.35,7,1.79,12.53,7,3.50,9.56,6,5.31,6076.89,6,0.45,10007.10,6,0.33,2950.62,6,2.12,274.07,6,0.76,210.38,6,3.21,219.45,6,3.80,339.29,6,4.59,207.67,6,0.18,2207.63,6,2.11,2097.42,6,4.67,543.02,6,5.13,692.59,6,6.17,650.94,6,5.95,486.40,6,1.04,9992.87,6,6.10,209.11,6,5.48,2538.25,6,3.01,121.25,6,5.92,6062.66,6,3.56,1073.61,6,0.56,116.43,6,4.40,196.62,6,4.83,643.08,6,0.95,1802.37,6,0.81,472.17,6,2.24,1038.04,6,3.61,125.99,6,3.84,181.06,5,5.81,237.68,5,6.19,337.73,5,0.56,192.69,5,3.82,842.15,5,4.85,267.47,5,0.50,248.72,5,4.01,205.22,5,3.36,824.74,5,1.63,166.83,5,0.85,46.47,5,4.04,487.37,5,0.85,247.24,5,4.49,291.26,5,2.67,417.04,5,0.25,129.92,5,4.18,2744.43,5,3.74,235.39,5,5.58,342.26,5,1.55,214.78,5,3.17,148.08,5,3.67,189.72,4,4.71,151.05,4,3.74,699.70,4,0.25,128.96,4,5.69,252.66,4,4.95,184.09,4,5.43,436.89,4,6.20,268.44,4,4.19,685.47,4,2.98,380.13,4,5.97,212.55,4,6.10,2641.34,4,5.82,491.82,4,4.87,14.98,4,4.19,501.38,4,1.15,3053.71,4,3.08,710.75,4,5.17,114.40,4,3.46,220.46,4,0.75,2627.11,4,0.99,271.41,4,4.78,175.17,4,3.71,204.70,4,1.27,211.81,4,3.56,244.32,4,4.53,488.85,4,2.87,411.62,4,2.22,2.92,4,3.06,409.92,4,5.54,458.84,4,1.58,643.83,4,4.51,601.76,4,1.11,6283.08,4,2.20,135.34,4,3.64,229.97,4,1.32,69.15, - /*R2*/ 436902,4.786717,213.299095,71923,2.50070,206.18555,49767,4.97168,220.41264,43221,3.86940,426.59819,29646,5.96310,7.11355,4721,2.4753,199.0720,4142,4.1067,433.7117,3789,3.0977,639.8973,2964,1.3721,103.0928,2556,2.8507,419.4846,2327,0.0000,0.0000,2208,6.2759,110.2063,2188,5.8555,14.2271,1957,4.9245,227.5262,924,5.464,323.505,706,2.971,95.979,546,4.129,412.371,431,5.178,522.577,405,4.173,209.367,391,4.481,216.480,374,5.834,117.320,361,3.277,647.011,356,3.192,210.118,326,2.269,853.196,207,4.022,735.877,204,0.088,202.253,180,3.597,632.784,178,4.097,440.825,154,3.135,625.670,148,0.136,302.165,133,2.594,191.958,132,5.933,309.278,123,4.189,88.866,119,5.554,224.345,111,4.779,838.969,109,5.293,515.464,100,5.461,3.181,97,4.02,728.76,96,6.26,742.99,94,4.38,217.23,81,5.11,956.29,79,5.73,21.34,69,4.05,3.93,65,3.78,1052.27,64,5.81,529.69,63,2.18,195.14,57,3.15,203.00,56,4.84,234.64,53,5.08,330.62,53,3.93,949.18,51,2.77,942.06,45,0.56,269.92,42,4.79,63.74,41,3.73,316.39,41,4.58,1155.36,39,3.51,422.67,38,3.74,1045.15,38,4.19,536.80,35,2.91,284.15,35,5.94,1059.38,34,3.80,149.56,33,4.97,831.86,31,4.84,1272.68,30,2.48,860.31,30,4.35,405.26,30,3.66,429.78,30,1.59,1066.50,27,1.66,277.03,26,4.45,223.59,26,4.82,124.43,26,3.55,1368.66,24,5.31,10.29,22,2.76,415.55,22,1.04,11.05,21,3.62,1265.57,20,2.52,1258.45,18,4.31,1471.75,17,3.49,1361.55,17,3.28,654.12,16,1.73,490.33,15,5.01,127.47,15,3.60,265.99,14,4.69,1148.25,14,3.05,423.42,13,1.90,408.44,13,0.32,295.05,13,4.89,437.64,13,4.62,1589.07,13,3.14,74.78,12,2.33,210.85,11,5.48,1375.77,11,4.55,81.75,11,5.05,191.21,11,5.03,137.03,10,3.34,1685.05,10,5.20,340.77,10,3.17,351.82,9,3.40,1581.96,9,2.81,99.91,8,3.23,1677.94,8,4.04,1788.14,8,2.36,1574.85,8,6.08,231.46,8,3.68,846.08,8,3.29,750.10,7,2.00,131.40,7,4.38,1464.64,7,4.83,319.57,7,4.37,145.63,7,5.43,508.35,7,3.78,313.21,6,1.34,215.75,6,4.00,447.94,6,4.56,106.27,6,2.85,138.52,6,0.55,18.16,6,4.14,543.92,6,4.35,1905.46,6,1.13,56.62,5,4.20,721.65,5,3.63,6076.89,5,4.50,416.30,5,2.64,288.08,5,5.05,10007.10,5,2.45,628.85,5,3.12,1898.35,5,6.18,483.22,5,5.92,618.56,5,3.30,76.27,5,3.12,2001.44,5,5.78,184.84,5,0.76,333.66,5,1.27,6062.66,5,1.20,200.77,5,2.69,9992.87,5,0.95,343.22,4,0.80,222.86,4,1.92,497.45,4,2.90,107.02,4,1.98,347.88,4,2.88,38.13,4,2.93,1994.33,4,5.18,404.51,4,5.45,1692.17,4,4.12,1781.03,4,3.12,635.97,4,0.88,703.63,4,3.79,2104.54,4,3.25,362.86,4,0.05,32.24,4,3.48,388.47,4,5.55,113.39,4,5.46,6283.08,4,4.08,430.53,3,1.82,70.85,3,3.52,629.60,3,0.55,10213.29,3,4.21,337.73,3,3.28,357.45,3,1.98,203.74,3,3.88,85.83,3,3.92,1038.04,3,2.46,867.42,3,1.26,134.59,3,1.61,1073.61,3,4.09,1478.87,3,2.18,1891.24,3,2.67,52.69,3,0.41,561.18,3,5.60,216.22,3,5.01,312.46,3,2.55,6069.78,3,5.46,258.88,3,2.19,217.96,3,3.97,9999.99,3,0.89,1279.79,3,4.21,650.94,3,1.67,213.35,3,2.38,181.06,3,3.91,312.20,3,4.75,213.25,3,5.09,1169.59,3,5.74,160.61,3,2.88,643.08,3,3.62,436.89,3,0.01,195.89,3,1.69,208.63,3,2.32,565.12,3,1.13,344.70,3,6.13,273.10,3,5.10,824.74,3,5.30,444.76,2,3.58,2420.93,2,2.96,2214.74,2,3.46,6275.96,2,4.74,218.72,2,0.90,121.25,2,4.08,131.55,2,2.60,305.35,2,4.22,2221.86,2,5.18,99.16,2,5.43,207.88,2,3.38,22.09,2,3.32,358.93,2,3.95,1795.26,2,1.61,218.93,2,3.37,320.32,2,4.85,1141.13,2,4.63,188.03,2,2.29,2627.11,2,5.67,28.45,2,1.69,350.33,2,4.26,546.96,2,0.18,12.53,2,4.61,182.28,2,2.90,2310.72,2,1.31,212.34,2,4.13,225.83,2,3.01,2317.84,2,1.59,424.15,2,3.58,329.73,2,2.24,168.05,2,2.07,144.15,2,2.86,636.72,2,5.35,45.58,2,5.05,214.26,2,2.73,291.26,2,2.70,12.74,2,1.32,219.45,2,5.56,92.80,2,1.95,129.92,2,3.44,2428.04,2,3.55,1354.43,2,4.98,2008.56,2,6.14,554.07,2,3.30,1670.83,2,5.73,1485.98,2,1.16,235.39,2,4.51,210.38,2,2.16,207.67,2,5.51,204.70,2,4.99,1162.47, - /*R3*/ 20315,3.02187,213.29910,8924,3.1914,220.4126,6909,4.3517,206.1855,4087,4.2241,7.1135,3879,2.0106,426.5982,1071,4.2036,199.0720,907,2.283,433.712,606,3.175,227.526,597,4.135,14.227,483,1.173,639.897,393,0.000,0.000,229,4.698,419.485,188,4.590,110.206,150,3.202,103.093,121,3.768,323.505,102,4.710,95.979,101,5.819,412.371,93,1.44,647.01,84,2.63,216.48,73,4.15,117.32,62,2.31,440.83,55,0.31,853.20,50,2.39,209.37,45,4.37,191.96,41,0.69,522.58,40,1.84,302.16,38,5.94,88.87,32,4.01,21.34,28,5.77,210.12,25,0.73,515.46,25,3.06,234.64,21,4.93,625.67,18,1.46,309.28,17,5.73,728.76,17,3.53,3.18,13,3.36,330.62,12,5.99,735.88,11,3.37,224.34,11,3.42,956.29,11,6.07,405.26,10,0.28,838.97,10,0.58,860.31,10,1.59,202.25,9,2.57,223.59,9,2.94,124.43,9,4.65,632.78,9,1.76,429.78,8,4.48,742.99,8,4.20,195.14,8,0.44,831.86,8,1.46,654.12,7,4.51,942.06,7,5.47,1045.15,7,1.52,422.67,7,4.83,316.39,7,3.42,10.29,6,6.01,1066.50,6,2.34,269.92,6,0.83,217.23,6,1.15,284.15,6,4.18,529.69,6,2.47,536.80,5,2.12,295.05,4,0.92,203.00,4,3.23,1272.68,4,0.11,1155.36,4,6.01,1052.27,4,0.06,81.75,3,4.33,1258.45,3,0.19,1148.25,3,2.19,447.94,3,1.89,149.56,3,5.64,3.93,3,5.41,1361.55,3,4.97,1677.94,3,0.92,508.35,3,3.00,1589.07,3,2.31,543.92,3,3.71,408.44,2,4.24,1059.38,2,3.22,319.57,2,5.73,313.21,2,1.30,184.84,2,5.88,721.65,2,0.52,416.30,2,6.18,1464.64,2,6.23,1471.75,2,2.41,337.73,2,5.17,2854.64,2,2.41,131.55,2,5.62,11.05,2,0.54,635.97,2,5.59,1038.04,2,1.82,436.89,2,1.51,750.10,2,6.12,1073.61,2,4.58,1994.33,2,0.03,423.42,2,2.58,2090.31,2,2.95,437.64,2,1.75,195.89,2,5.97,1781.03,2,0.56,2324.95,2,6.15,490.33,2,0.61,210.85,2,3.85,1251.34,1,0.27,497.45,1,0.99,643.08,1,5.35,1354.43,1,3.29,1884.12,1,1.50,430.53,1,0.85,415.55,1,5.33,2538.25,1,4.12,1574.85,1,5.58,1382.89,1,0.70,867.42,1,3.79,1567.73,1,2.29,2420.93,1,1.41,2634.23,1,0.48,824.74,1,2.97,241.75,1,3.11,2200.52,1,5.13,25.27,1,4.70,113.39,1,1.80,618.56,1,3.96,1891.24,1,3.78,1375.77,1,3.73,131.40,1,4.48,2214.74,1,0.79,127.47,1,5.42,1279.79,1,0.05,63.74,1,4.80,1987.22,1,5.85,215.75,1,4.06,231.46,1,1.09,362.86,1,4.23,1802.37,1,5.33,2428.04,1,5.91,265.99,1,0.74,16.67,1,6.26,2015.67,1,5.99,2524.02,1,1.92,483.22,1,2.66,145.63,1,2.97,934.95,1,6.26,2.45,1,3.16,2207.63,1,0.09,628.85,1,1.24,74.78,1,5.87,1368.66,1,2.90,2008.56,1,2.38,2228.97,1,2.28,1478.87,1,1.16,3053.71,1,4.70,1670.83,1,5.92,1685.05,1,3.13,56.62, - /*R4*/ 1202,1.4150,220.4126,708,1.162,213.299,516,6.240,206.186,427,2.469,7.114,268,0.187,426.598,170,5.959,199.072,150,0.480,433.712,145,1.442,227.526,121,2.405,14.227,47,5.57,639.90,19,5.86,647.01,17,0.53,440.83,16,2.90,110.21,15,0.30,419.48,14,1.30,412.37,13,2.09,323.51,11,0.22,95.98,11,2.46,117.32,10,3.14,0.00,9,1.56,88.87,9,2.28,21.34,9,0.68,216.48,8,1.27,234.64,8,4.49,853.20,8,3.59,302.16,6,5.17,103.09,5,2.59,515.46,4,4.97,860.31,4,0.02,191.96,4,5.97,654.12,4,1.60,330.62,4,1.60,405.26,4,3.30,210.12,3,2.73,522.58,3,0.75,209.37,3,1.32,728.76,2,1.19,124.43,2,0.49,447.94,2,3.28,203.00,2,0.73,625.67,2,6.15,429.78,2,0.75,295.05,2,3.89,1066.50,2,2.00,831.86,2,0.09,942.06,2,0.82,223.59,2,1.40,224.34,2,3.02,184.84,2,5.41,824.74,2,5.96,422.67,1,2.12,529.69,1,0.72,536.80,1,1.65,17.41,1,1.90,956.29,1,5.97,195.14,1,1.12,838.97,1,0.89,721.65,1,1.59,735.88,1,3.06,1574.85,1,1.01,1045.15,1,5.36,316.39,1,4.93,56.62,1,2.72,508.35,1,1.11,1169.59, - /*R5*/ 129,5.913,220.413,32,0.69,7.11,27,5.91,227.53,20,4.95,433.71,20,0.67,14.23,14,2.67,206.19,14,1.46,199.07,13,4.59,426.60,7,4.63,213.30,5,3.61,639.90,4,4.90,440.83,3,4.07,647.01,3,4.66,191.96,3,0.49,323.51,3,3.18,419.48,2,3.70,88.87,2,3.32,95.98,2,0.56,117.32,2,5.33,302.16,2,0.00,0.00,2,2.67,853.20,2,0.86,515.46,1,5.83,234.64,1,0.16,412.37,1,5.98,3.18,1,5.23,216.48,1,5.05,124.43,1,0.37,28.45}, - - + 100000000, //A的倍率 + 20, 806, 1406, 1946, 2177, 2282, 2333, 2537, 2726, 2867, 2963, 3008, 3026, 4091, 5063, 5789, 6260, 6452, 6536, //位置索引表 + /*L0*/ 87401354, 0.00000000, 0.00000000, 11107660, 3.96205090, 213.29909544, 1414151, 4.5858152, 7.1135470, 398379, 0.521120, 206.185548, 350769, 3.303299, 426.598191, 206816, 0.246584, 103.092774, 79271, 3.84007, 220.41264, 23990, 4.66977, 110.20632, 16574, 0.43719, 419.48464, 15820, 0.93809, 632.78374, 15054, 2.71670, 639.89729, 14907, 5.76903, 316.39187, 14610, 1.56519, 3.93215, 13160, 4.44891, 14.22709, 13005, 5.98119, 11.04570, 10725, 3.12940, 202.25340, 6126, 1.7633, 277.0350, 5863, 0.2366, 529.6910, 5228, 4.2078, 3.1814, 5020, 3.1779, 433.7117, 4593, 0.6198, 199.0720, 4006, 2.2448, 63.7359, 3874, 3.2228, 138.5175, 3269, 0.7749, 949.1756, 2954, 0.9828, 95.9792, 2461, 2.0316, 735.8765, 1758, 3.2658, 522.5774, 1640, 5.5050, 846.0828, 1581, 4.3727, 309.2783, 1391, 4.0233, 323.5054, 1124, 2.8373, 415.5525, 1087, 4.1834, 2.4477, 1017, 3.7170, 227.5262, 957, 0.507, 1265.567, 853, 3.421, 175.166, 849, 3.191, 209.367, 789, 5.007, 0.963, 749, 2.144, 853.196, 744, 5.253, 224.345, 687, 1.747, 1052.268, 654, 1.599, 0.048, 634, 2.299, 412.371, 625, 0.970, 210.118, 580, 3.093, 74.782, 546, 2.127, 350.332, 543, 1.518, 9.561, 530, 4.449, 117.320, 478, 2.965, 137.033, 474, 5.475, 742.990, 452, 1.044, 490.334, 449, 1.290, 127.472, 372, 2.278, 217.231, 355, 3.013, 838.969, 347, 1.539, 340.771, 343, 0.246, 0.521, 330, 0.247, 1581.959, 322, 0.961, 203.738, 322, 2.572, 647.011, 309, 3.495, 216.480, 287, 2.370, 351.817, 278, 0.400, 211.815, 249, 1.470, 1368.660, 227, 4.910, 12.530, 220, 4.204, 200.769, 209, 1.345, 625.670, 208, 0.483, 1162.475, 208, 1.283, 39.357, 205, 6.011, 265.989, 185, 3.503, 149.563, 184, 0.973, 4.193, 182, 5.491, 2.921, 174, 1.863, 0.751, 165, 0.440, 5.417, 149, 5.736, 52.690, 148, 1.535, 5.629, 146, 6.231, 195.140, 140, 4.295, 21.341, 131, 4.068, 10.295, 125, 6.277, 1898.351, 122, 1.976, 4.666, 118, 5.341, 554.070, 117, 2.679, 1155.361, 114, 5.594, 1059.382, 112, 1.105, 191.208, 110, 0.166, 1.484, 109, 3.438, 536.805, 107, 4.012, 956.289, 104, 2.192, 88.866, 103, 1.197, 1685.052, 101, 4.965, 269.921, 97, 4.54, 302.16, 96, 2.83, 275.55, 91, 1.88, 38.13, 90, 5.80, 114.14, 89, 3.86, 278.52, 84, 5.49, 0.11, 83, 2.29, 628.85, 82, 3.05, 440.83, 79, 4.45, 35.42, 76, 1.61, 284.15, 75, 2.18, 728.76, 74, 5.09, 1375.77, 72, 5.11, 65.22, 70, 4.87, 0.21, 70, 3.71, 14.98, 69, 3.44, 515.46, 68, 0.73, 1478.87, 67, 0.03, 70.85, 66, 2.02, 142.45, 64, 3.32, 62.25, 63, 3.49, 479.29, 63, 2.59, 422.67, 61, 1.50, 210.85, 61, 2.69, 388.47, 55, 0.97, 942.06, 54, 2.46, 22.09, 54, 0.78, 191.96, 53, 3.18, 8.08, 53, 5.51, 0.26, 51, 4.27, 99.16, 50, 6.03, 2214.74, 49, 2.39, 1471.75, 47, 2.03, 312.20, 47, 4.60, 437.64, 46, 0.54, 212.34, 45, 0.93, 2001.44, 45, 1.12, 6.15, 44, 3.93, 525.50, 43, 2.53, 288.08, 43, 1.37, 563.63, 43, 3.82, 330.62, 42, 1.90, 430.53, 40, 5.71, 408.44, 40, 1.63, 1066.50, 38, 0.31, 423.42, 38, 1.20, 2.71, 38, 3.70, 1272.68, 38, 4.52, 24.38, 36, 6.01, 18.16, 36, 0.85, 213.35, 36, 3.93, 213.25, 35, 4.19, 215.75, 35, 4.46, 214.26, 35, 1.02, 203.00, 33, 0.54, 107.02, 33, 0.66, 692.59, 33, 0.81, 1795.26, 32, 5.22, 92.05, 32, 5.59, 6069.78, 32, 1.69, 0.16, 32, 5.50, 56.62, 31, 0.37, 703.63, 31, 6.14, 417.04, 30, 0.72, 222.86, 30, 5.30, 33.94, 29, 0.15, 131.40, 29, 1.20, 404.51, 28, 5.64, 128.96, 28, 1.46, 7.16, 27, 6.23, 1.27, 27, 1.90, 1045.15, 27, 0.07, 205.22, 27, 4.57, 7.07, 26, 5.41, 140.00, 26, 4.36, 32.24, 24, 3.09, 145.63, 24, 3.94, 414.07, 24, 2.54, 76.27, 23, 3.97, 483.22, 23, 2.10, 1788.14, 23, 3.20, 208.63, 23, 3.66, 207.67, 23, 6.10, 177.87, 23, 5.24, 212.78, 22, 5.92, 173.94, 21, 0.72, 1258.45, 21, 5.79, 2531.13, 21, 2.02, 860.31, 21, 0.67, 2317.84, 21, 5.22, 6.59, 20, 2.82, 429.78, 20, 5.07, 617.81, 19, 1.64, 565.12, 19, 5.94, 425.11, 19, 5.78, 213.82, 18, 0.73, 9999.99, 18, 5.23, 73.30, 18, 6.11, 210.38, 18, 3.14, 831.86, 17, 0.24, 134.59, 17, 0.72, 2111.65, 17, 3.28, 98.90, 16, 3.97, 355.75, 16, 3.10, 106.27, 15, 3.29, 1589.07, 15, 3.25, 78.71, 15, 5.19, 305.35, 15, 2.75, 1.22, 14, 3.88, 54.17, 14, 4.52, 59.80, 14, 1.72, 69.15, 14, 6.18, 245.54, 14, 2.37, 125.99, 14, 2.55, 405.26, 14, 2.54, 1.70, 14, 3.59, 234.64, 13, 0.83, 99.91, 13, 4.17, 225.83, 13, 6.01, 214.78, 13, 4.69, 767.37, 13, 5.31, 344.70, 12, 2.12, 28.31, 12, 3.60, 124.43, 12, 1.62, 1361.55, 12, 4.07, 280.97, 12, 4.00, 267.47, 12, 0.12, 7.63, 12, 2.79, 362.86, 11, 5.51, 192.69, 11, 1.82, 2104.54, 11, 2.62, 7.86, 11, 2.61, 339.29, 11, 5.51, 199.28, 11, 3.58, 1.44, 11, 0.19, 217.49, 11, 2.37, 831.10, 10, 2.84, 85.83, 10, 1.69, 31.02, 10, 4.72, 216.22, 10, 0.22, 198.32, 10, 0.22, 144.15, 10, 3.61, 14.01, 10, 3.94, 207.88, 10, 4.02, 207.15, 10, 0.42, 2634.23, 10, 1.61, 0.89, 10, 3.67, 212.55, 10, 3.34, 223.59, 10, 0.64, 218.93, 9, 0.72, 347.88, 9, 4.26, 20.61, 9, 5.40, 342.26, 9, 4.28, 312.46, 9, 5.08, 241.61, 9, 4.25, 46.47, 9, 1.65, 210.33, 9, 0.91, 497.45, 9, 5.81, 329.73, 9, 4.23, 6.36, 9, 0.57, 2428.04, 9, 5.36, 343.22, 9, 5.55, 2847.53, 9, 4.48, 1692.17, 9, 0.49, 1574.85, 8, 4.06, 237.68, 8, 0.81, 264.50, 8, 4.71, 333.66, 8, 2.73, 4.14, 8, 3.82, 380.13, 8, 5.54, 116.43, 8, 5.63, 518.65, 8, 5.44, 621.74, + /*L1*/ 21354295596, 0.00000000000, 0.00000000000, 1296855, 1.8282054, 213.2990954, 564348, 2.885001, 7.113547, 107679, 2.277699, 206.185548, 98323, 1.08070, 426.59819, 40255, 2.04128, 220.41264, 19942, 1.27955, 103.09277, 10512, 2.74880, 14.22709, 6939, 0.4049, 639.8973, 4803, 2.4419, 419.4846, 4056, 2.9217, 110.2063, 3769, 3.6497, 3.9322, 3385, 2.4169, 3.1814, 3302, 1.2626, 433.7117, 3071, 2.3274, 199.0720, 1953, 3.5639, 11.0457, 1249, 2.6280, 95.9792, 922, 1.961, 227.526, 706, 4.417, 529.691, 650, 6.174, 202.253, 628, 6.111, 309.278, 487, 6.040, 853.196, 479, 4.988, 522.577, 468, 4.617, 63.736, 417, 2.117, 323.505, 408, 1.299, 209.367, 352, 2.317, 632.784, 344, 3.959, 412.371, 340, 3.634, 316.392, 336, 3.772, 735.877, 332, 2.861, 210.118, 289, 2.733, 117.320, 281, 5.744, 2.448, 266, 0.543, 647.011, 230, 1.644, 216.480, 192, 2.965, 224.345, 173, 4.077, 846.083, 167, 2.597, 21.341, 136, 2.286, 10.295, 131, 3.441, 742.990, 128, 4.095, 217.231, 109, 6.161, 415.552, 98, 4.73, 838.97, 94, 3.48, 1052.27, 92, 3.95, 88.87, 87, 1.22, 440.83, 83, 3.11, 625.67, 78, 6.24, 302.16, 67, 0.29, 4.67, 66, 5.65, 9.56, 62, 4.29, 127.47, 62, 1.83, 195.14, 58, 2.48, 191.96, 57, 5.02, 137.03, 55, 0.28, 74.78, 54, 5.13, 490.33, 51, 1.46, 536.80, 47, 1.18, 149.56, 47, 5.15, 515.46, 46, 2.23, 956.29, 44, 2.71, 5.42, 40, 0.41, 269.92, 40, 3.89, 728.76, 38, 0.65, 422.67, 38, 2.53, 12.53, 37, 3.78, 2.92, 35, 6.08, 5.63, 34, 3.21, 1368.66, 33, 4.64, 277.03, 33, 5.43, 1066.50, 33, 0.30, 351.82, 32, 4.39, 1155.36, 31, 2.43, 52.69, 30, 2.84, 203.00, 30, 6.19, 284.15, 30, 3.39, 1059.38, 29, 2.03, 330.62, 28, 2.74, 265.99, 26, 4.51, 340.77, 23, 4.14, 191.21, 23, 5.89, 210.85, 22, 1.96, 203.74, 22, 5.14, 4.19, 22, 2.68, 942.06, 21, 6.16, 860.31, 20, 2.31, 437.64, 19, 4.77, 70.85, 19, 4.10, 18.16, 18, 0.90, 429.78, 18, 1.85, 234.64, 18, 2.45, 423.42, 17, 5.97, 628.85, 16, 4.06, 949.18, 16, 1.94, 1272.68, 16, 1.06, 56.62, 16, 5.59, 6.15, 15, 4.24, 1162.47, 15, 0.74, 200.77, 15, 5.77, 22.09, 15, 3.60, 1045.15, 14, 2.94, 1685.05, 14, 1.44, 408.44, 14, 4.10, 1471.75, 13, 6.25, 38.13, 13, 5.76, 138.52, 13, 4.25, 405.26, 12, 4.85, 831.86, 12, 1.86, 131.40, 12, 1.81, 124.43, 11, 1.55, 223.59, 11, 5.37, 215.75, 10, 3.47, 1375.77, 10, 6.08, 32.24, 10, 2.38, 107.02, 10, 3.95, 430.53, 10, 2.55, 99.91, 10, 1.39, 145.63, 9, 5.81, 7.16, 9, 3.65, 142.45, 9, 4.95, 208.63, 9, 1.24, 106.27, 9, 0.08, 288.08, 8, 4.42, 703.63, 8, 5.64, 62.25, 8, 2.42, 1258.45, 8, 6.22, 14.98, 8, 0.53, 654.12, 8, 3.75, 312.20, 7, 4.85, 222.86, 7, 0.28, 0.75, 7, 0.53, 388.47, 7, 2.05, 99.16, 7, 0.24, 8.08, 7, 5.83, 483.22, 7, 3.49, 35.42, 6, 2.89, 114.14, 6, 3.33, 1361.55, 6, 3.81, 1788.14, 6, 0.55, 65.22, 6, 1.63, 1589.07, 6, 2.68, 2001.44, 6, 0.89, 92.05, 6, 4.39, 81.75, 5, 5.48, 563.63, 5, 4.58, 134.59, 5, 2.12, 214.26, 5, 4.68, 212.34, 5, 3.34, 1.48, 5, 5.77, 565.12, 5, 2.20, 207.88, 5, 4.20, 404.51, 5, 0.42, 76.27, 5, 3.78, 1265.57, 5, 0.46, 362.86, 5, 4.53, 1148.25, 5, 4.59, 554.07, 5, 5.80, 217.96, 5, 3.25, 231.46, 5, 5.38, 497.45, 4, 0.11, 295.05, 4, 1.80, 213.25, 4, 5.00, 213.35, 4, 4.88, 98.90, 4, 0.59, 750.10, 4, 0.99, 24.38, 4, 0.82, 344.70, 4, 0.81, 343.22, 4, 5.13, 218.93, 4, 1.61, 245.54, 4, 0.35, 333.66, 3, 5.30, 350.33, 3, 1.85, 225.83, 3, 2.20, 1574.85, 3, 5.31, 347.88, 3, 0.21, 635.97, 3, 2.88, 216.22, 3, 1.72, 1169.59, 3, 1.92, 17.41, 3, 3.04, 1677.94, 3, 4.31, 6062.66, 3, 1.34, 543.92, 3, 0.25, 120.36, 3, 3.36, 7.86, 3, 2.53, 1692.17, 3, 2.49, 46.47, 3, 3.53, 2104.54, 3, 4.87, 144.15, 3, 5.73, 9992.87, 3, 3.73, 6076.89, 3, 0.24, 357.45, 3, 2.43, 2317.84, 3, 5.76, 618.56, 3, 5.15, 10007.10, 3, 0.72, 85.83, 3, 3.43, 31.02, 3, 3.80, 17.27, 3, 1.63, 182.28, 3, 0.92, 479.29, 3, 4.52, 198.32, 3, 2.11, 168.05, + /*L2*/ 116441, 1.179879, 7.113547, 91921, 0.07425, 213.29910, 90592, 0.00000, 0.00000, 15277, 4.06492, 206.18555, 10631, 0.25778, 220.41264, 10605, 5.40964, 426.59819, 4265, 1.0460, 14.2271, 1216, 2.9186, 103.0928, 1165, 4.6094, 639.8973, 1082, 5.6913, 433.7117, 1045, 4.0421, 199.0720, 1020, 0.6337, 3.1814, 634, 4.388, 419.485, 549, 5.573, 3.932, 457, 1.268, 110.206, 425, 0.209, 227.526, 274, 4.288, 95.979, 162, 1.381, 11.046, 129, 1.566, 309.278, 117, 3.881, 853.196, 105, 4.900, 647.011, 101, 0.893, 21.341, 96, 2.91, 316.39, 95, 5.63, 412.37, 85, 5.73, 209.37, 83, 6.05, 216.48, 82, 1.02, 117.32, 75, 4.76, 210.12, 67, 0.46, 522.58, 66, 0.48, 10.29, 64, 0.35, 323.51, 61, 4.88, 632.78, 53, 2.75, 529.69, 46, 5.69, 440.83, 45, 1.67, 202.25, 42, 5.71, 88.87, 32, 0.07, 63.74, 32, 1.67, 302.16, 31, 4.16, 191.96, 27, 0.83, 224.34, 25, 5.66, 735.88, 20, 5.94, 217.23, 18, 4.90, 625.67, 17, 1.63, 742.99, 16, 0.58, 515.46, 14, 0.21, 838.97, 14, 3.76, 195.14, 12, 4.72, 203.00, 12, 0.13, 234.64, 12, 3.12, 846.08, 11, 5.92, 536.80, 11, 5.60, 728.76, 11, 3.20, 1066.50, 10, 4.99, 422.67, 10, 0.26, 330.62, 10, 4.15, 860.31, 9, 0.46, 956.29, 8, 2.14, 269.92, 8, 5.25, 429.78, 8, 4.03, 9.56, 7, 5.40, 1052.27, 6, 4.46, 284.15, 6, 5.93, 405.26, 6, 5.41, 149.56, 6, 4.29, 415.55, 6, 0.02, 124.43, 6, 6.02, 223.59, 6, 0.30, 127.47, 5, 5.54, 949.18, 5, 3.20, 277.03, 5, 4.93, 654.12, 5, 2.27, 18.16, 5, 6.14, 1155.36, 5, 4.41, 942.06, 4, 2.89, 56.62, 4, 4.69, 74.78, 4, 5.31, 1045.15, 4, 0.29, 831.86, 4, 0.37, 12.53, 4, 6.10, 81.75, 4, 3.30, 490.33, 4, 4.93, 52.69, 4, 0.41, 137.03, 4, 0.15, 437.64, 4, 0.20, 1272.68, 3, 4.77, 423.42, 3, 4.29, 99.91, 3, 1.57, 1059.38, 3, 3.13, 70.85, 3, 0.33, 191.21, 3, 3.38, 408.44, 3, 1.88, 295.05, 3, 5.15, 1368.66, 3, 3.59, 131.40, 3, 5.12, 265.99, 2, 1.59, 32.24, 2, 3.90, 210.85, 2, 5.83, 106.27, 2, 4.77, 351.82, 2, 3.14, 22.09, 2, 5.98, 6062.66, 2, 2.06, 6076.89, 2, 5.95, 145.63, 2, 5.23, 1265.57, 2, 1.12, 9992.87, 2, 3.48, 10007.10, 2, 5.87, 1471.75, 2, 4.52, 138.52, 2, 4.15, 1258.45, 2, 5.05, 1361.55, 2, 4.14, 107.02, 2, 1.36, 231.46, 2, 6.24, 1148.25, 2, 3.75, 628.85, 2, 5.62, 447.94, 2, 5.97, 430.53, 1, 0.48, 340.77, 1, 0.85, 6069.78, 1, 2.91, 215.75, 1, 0.71, 28.45, 1, 2.28, 9999.99, 1, 5.84, 543.92, 1, 6.24, 1589.07, 1, 2.83, 200.77, 1, 3.52, 497.45, 1, 0.72, 508.35, 1, 2.61, 1279.79, 1, 4.96, 1685.05, 1, 1.20, 618.56, 1, 4.53, 635.97, 1, 1.09, 184.84, 1, 2.41, 703.63, 1, 3.40, 1073.61, 1, 4.91, 750.10, 1, 1.39, 483.22, 1, 1.59, 1375.77, 1, 2.66, 134.59, 1, 4.21, 288.08, 1, 4.68, 362.86, 1, 2.43, 222.86, 1, 4.52, 38.13, 1, 5.01, 1581.96, 1, 5.59, 1788.14, 1, 0.77, 113.39, 1, 4.80, 1677.94, 1, 2.22, 333.66, 1, 5.95, 1464.64, 1, 4.49, 643.08, 1, 5.82, 416.30, 1, 2.51, 343.22, 1, 3.97, 1574.85, 1, 4.84, 76.27, 1, 6.00, 337.73, 1, 2.28, 1162.47, 1, 2.35, 120.36, 1, 3.67, 347.88, 1, 0.01, 1169.59, 1, 0.21, 99.16, 1, 2.89, 92.05, 1, 5.63, 17.27, 1, 3.76, 203.74, 1, 5.75, 721.65, 1, 3.78, 217.96, 1, 0.68, 46.47, 1, 4.86, 357.45, 1, 5.27, 436.89, 1, 3.27, 208.63, 1, 3.88, 565.12, 1, 5.99, 1905.46, 1, 3.69, 350.33, 1, 4.96, 358.93, 1, 0.31, 98.90, 1, 1.22, 62.25, 1, 0.87, 1692.17, 1, 6.17, 182.28, 1, 2.59, 313.21, 1, 1.54, 195.89, 1, 5.42, 312.20, 1, 4.71, 2001.44, 1, 3.81, 168.05, + /*L3*/ 16039, 5.73945, 7.11355, 4250, 4.5854, 213.2991, 1907, 4.7608, 220.4126, 1466, 5.9133, 206.1855, 1162, 5.6197, 14.2271, 1067, 3.6082, 426.5982, 239, 3.861, 433.712, 237, 5.768, 199.072, 166, 5.116, 3.181, 151, 2.736, 639.897, 131, 4.743, 227.526, 63, 0.23, 419.48, 62, 4.74, 103.09, 40, 5.47, 21.34, 40, 5.96, 95.98, 39, 5.83, 110.21, 28, 3.01, 647.01, 25, 0.99, 3.93, 19, 1.92, 853.20, 18, 4.97, 10.29, 18, 1.03, 412.37, 18, 4.20, 216.48, 18, 3.32, 309.28, 16, 3.90, 440.83, 16, 5.62, 117.32, 13, 1.18, 88.87, 11, 5.58, 11.05, 11, 5.93, 191.96, 10, 3.95, 209.37, 9, 3.39, 302.16, 8, 4.88, 323.51, 7, 0.38, 632.78, 6, 2.25, 522.58, 6, 1.06, 210.12, 5, 4.64, 234.64, 4, 3.14, 0.00, 4, 2.31, 515.46, 3, 2.20, 860.31, 3, 0.59, 529.69, 3, 4.93, 224.34, 3, 0.42, 625.67, 2, 4.77, 330.62, 2, 3.35, 429.78, 2, 3.20, 202.25, 2, 1.19, 1066.50, 2, 1.35, 405.26, 2, 4.16, 223.59, 2, 3.07, 654.12, 2, 1.03, 728.76, 2, 4.40, 124.43, 2, 3.09, 422.67, 2, 4.15, 536.80, 2, 5.83, 195.14, 2, 6.04, 742.99, 1, 0.38, 316.39, 1, 1.58, 81.75, 1, 2.11, 838.97, 1, 1.38, 735.88, 1, 2.33, 217.23, 1, 5.02, 956.29, 1, 1.66, 63.74, 1, 3.88, 269.92, 1, 3.73, 295.05, 1, 2.76, 284.15, 1, 3.31, 18.16, 1, 2.02, 831.86, 1, 0.71, 846.08, 1, 3.84, 447.94, 1, 4.71, 56.62, 1, 0.80, 1045.15, 1, 2.41, 203.00, 1, 4.27, 437.64, 1, 1.65, 423.42, 1, 6.18, 942.06, 1, 2.86, 184.84, 1, 6.26, 1059.38, 1, 3.43, 149.56, + /*L4*/ 1662, 3.9983, 7.1135, 257, 2.984, 220.413, 236, 3.902, 14.227, 149, 2.741, 213.299, 114, 3.142, 0.000, 110, 1.515, 206.186, 68, 1.72, 426.60, 40, 2.05, 433.71, 38, 1.24, 199.07, 31, 3.01, 227.53, 15, 0.83, 639.90, 9, 3.71, 21.34, 6, 2.42, 419.48, 6, 1.16, 647.01, 4, 1.45, 95.98, 4, 2.12, 440.83, 3, 4.09, 110.21, 3, 2.77, 412.37, 3, 3.01, 88.87, 3, 0.00, 853.20, 3, 0.39, 103.09, 2, 3.78, 117.32, 2, 2.83, 234.64, 2, 5.08, 309.28, 2, 2.24, 216.48, 2, 5.19, 302.16, 1, 1.55, 191.96, 1, 3.45, 323.51, 1, 4.83, 210.12, 1, 2.29, 209.37, 1, 0.30, 860.31, 1, 2.38, 632.78, 1, 4.03, 522.58, 1, 4.19, 515.46, 1, 2.17, 124.43, + /*L5*/ 124, 2.259, 7.114, 34, 2.16, 14.23, 28, 1.20, 220.41, 6, 1.22, 227.53, 5, 0.24, 433.71, 4, 6.23, 426.60, 3, 2.97, 199.07, 3, 4.29, 206.19, 2, 6.25, 213.30, 1, 5.28, 639.90, 1, 0.24, 440.83, 1, 3.14, 0.00, 1, 5.57, 647.01, 1, 0.69, 302.16, 1, 6.18, 191.96, 1, 4.88, 88.87, 1, 4.78, 419.48, + /*B0*/ 4330678, 3.6028443, 213.2990954, 240348, 2.852385, 426.598191, 84746, 0.00000, 0.00000, 34116, 0.57297, 206.18555, 30863, 3.48442, 220.41264, 14734, 2.11847, 639.89729, 9917, 5.7900, 419.4846, 6994, 4.7360, 7.1135, 4808, 5.4331, 316.3919, 4788, 4.9651, 110.2063, 3432, 2.7326, 433.7117, 1506, 6.0130, 103.0928, 1060, 5.6310, 529.6910, 969, 5.204, 632.784, 942, 1.396, 853.196, 708, 3.803, 323.505, 552, 5.131, 202.253, 400, 3.359, 227.526, 319, 3.626, 209.367, 316, 1.997, 647.011, 314, 0.465, 217.231, 284, 4.886, 224.345, 236, 2.139, 11.046, 215, 5.950, 846.083, 209, 2.120, 415.552, 207, 0.730, 199.072, 179, 2.954, 63.736, 141, 0.644, 490.334, 139, 4.595, 14.227, 139, 1.998, 735.877, 135, 5.245, 742.990, 122, 3.115, 522.577, 116, 3.109, 216.480, 114, 0.963, 210.118, 96, 4.48, 117.32, 81, 1.32, 277.03, 74, 2.89, 149.56, 73, 3.06, 536.80, 69, 4.92, 309.28, 68, 2.18, 351.82, 62, 0.68, 1066.50, 57, 2.61, 440.83, 49, 5.79, 95.98, 48, 2.18, 74.78, 38, 5.29, 1059.38, 37, 6.28, 1162.47, 36, 1.63, 628.85, 35, 1.71, 1052.27, 34, 5.98, 412.37, 34, 2.46, 422.67, 34, 1.14, 949.18, 32, 4.15, 437.64, 27, 1.27, 860.31, 24, 3.07, 215.75, 24, 4.11, 3.93, 24, 2.75, 838.97, 23, 0.99, 210.85, 21, 0.14, 430.53, 21, 3.51, 330.62, 20, 2.82, 127.47, 19, 2.98, 137.03, 19, 6.27, 423.42, 18, 2.29, 388.47, 18, 6.20, 703.63, 17, 3.90, 214.26, 17, 0.17, 212.34, 17, 1.67, 38.13, 16, 4.55, 956.29, + /*B1*/ 397555, 5.332900, 213.299095, 49479, 3.14159, 0.00000, 18572, 6.09919, 426.59819, 14801, 2.30586, 206.18555, 9644, 1.6967, 220.4126, 3757, 1.2543, 419.4846, 2717, 5.9117, 639.8973, 1455, 0.8516, 433.7117, 1291, 2.9177, 7.1135, 853, 0.436, 316.392, 298, 0.919, 632.784, 292, 5.316, 853.196, 284, 1.619, 227.526, 275, 3.889, 103.093, 172, 0.052, 647.011, 166, 2.444, 199.072, 158, 5.209, 110.206, 128, 1.207, 529.691, 110, 2.457, 217.231, 82, 2.76, 210.12, 81, 2.86, 14.23, 69, 1.66, 202.25, 65, 1.26, 216.48, 61, 1.25, 209.37, 59, 1.82, 323.51, 46, 0.82, 440.83, 36, 1.82, 224.34, 34, 2.84, 117.32, 33, 1.31, 412.37, 32, 1.19, 846.08, 27, 4.65, 1066.50, 27, 4.44, 11.05, 23, 4.13, 415.55, 21, 1.41, 309.28, 18, 5.56, 860.31, 15, 1.22, 63.74, 15, 1.34, 95.98, 15, 1.01, 536.80, 13, 2.46, 490.33, 13, 3.22, 277.03, 13, 2.27, 742.99, 13, 4.89, 522.58, 13, 0.30, 422.67, 12, 1.87, 423.42, 10, 3.12, 625.67, 10, 1.75, 330.62, 9, 0.46, 429.78, 8, 4.68, 215.75, 8, 2.42, 430.53, 7, 5.97, 149.56, 7, 1.52, 437.64, 7, 3.91, 351.82, 7, 3.01, 949.18, 6, 1.49, 234.64, 6, 0.02, 654.12, 6, 5.37, 735.88, 5, 3.81, 74.78, 5, 4.34, 628.85, 4, 5.64, 210.85, 4, 2.64, 3.18, 4, 1.73, 1059.38, 4, 4.99, 3.93, 4, 1.16, 223.59, + /*B2*/ 20630, 0.50482, 213.29910, 3720, 3.9983, 206.1855, 1627, 6.1819, 220.4126, 1346, 0.0000, 0.0000, 706, 3.039, 419.485, 365, 5.099, 426.598, 330, 5.279, 433.712, 219, 3.828, 639.897, 139, 1.043, 7.114, 104, 6.157, 227.526, 93, 1.98, 316.39, 71, 4.15, 199.07, 52, 2.88, 632.78, 49, 4.43, 647.01, 41, 3.16, 853.20, 29, 4.53, 210.12, 24, 1.12, 14.23, 21, 4.35, 217.23, 20, 5.31, 440.83, 18, 0.85, 110.21, 17, 5.68, 216.48, 16, 4.26, 103.09, 14, 3.00, 412.37, 12, 2.53, 529.69, 8, 3.32, 202.25, 7, 5.56, 209.37, 7, 0.29, 323.51, 6, 1.16, 117.32, 6, 3.61, 860.31, 6, 3.58, 309.28, 6, 2.48, 1066.50, 4, 3.02, 846.08, 4, 4.80, 625.67, 3, 3.77, 423.42, 3, 6.04, 234.64, 3, 4.82, 429.78, 3, 4.48, 654.12, 3, 3.29, 95.98, 3, 5.64, 735.88, 3, 0.22, 522.58, 2, 0.03, 415.55, 2, 6.25, 330.62, 2, 4.56, 422.67, 2, 5.06, 277.03, 2, 5.53, 536.80, 2, 5.54, 224.34, 2, 5.60, 223.59, + /*B3*/ 666, 1.990, 213.299, 632, 5.698, 206.186, 398, 0.000, 0.000, 188, 4.338, 220.413, 92, 4.84, 419.48, 52, 3.42, 433.71, 42, 2.38, 426.60, 26, 4.40, 227.53, 21, 5.85, 199.07, 18, 1.99, 639.90, 11, 5.37, 7.11, 10, 2.55, 647.01, 7, 3.46, 316.39, 6, 4.80, 632.78, 6, 0.02, 210.12, 6, 3.52, 440.83, 5, 5.64, 14.23, 5, 1.22, 853.20, 4, 4.71, 412.37, 3, 0.63, 103.09, 2, 3.72, 216.48, 2, 6.11, 217.23, 1, 1.69, 860.31, 1, 4.31, 234.64, 1, 5.75, 309.28, 1, 2.66, 654.12, 1, 5.69, 117.32, 1, 5.48, 202.25, 1, 0.60, 1066.50, 1, 0.22, 625.67, 1, 2.86, 429.78, 1, 4.52, 323.51, + /*B4*/ 80, 1.12, 206.19, 32, 3.12, 213.30, 17, 2.48, 220.41, 12, 3.14, 0.00, 9, 0.38, 419.48, 6, 1.56, 433.71, 5, 2.63, 227.53, 5, 1.28, 199.07, 1, 1.43, 426.60, 1, 0.67, 647.01, 1, 1.72, 440.83, 1, 6.18, 639.90, 1, 3.85, 14.23, 1, 3.49, 7.11, 1, 0.31, 412.37, + /*B5*/ 8, 2.82, 206.19, 1, 0.51, 220.41, 1, 3.14, 0.00, 1, 2.99, 199.07, 1, 0.78, 227.53, 1, 5.96, 433.71, + /*R0*/ 955758136, 0.000000000, 0.000000000, 52921382, 2.39226220, 213.29909544, 1873680, 5.2354961, 206.1855484, 1464664, 1.6476305, 426.5981909, 821891, 5.935200, 316.391870, 547507, 5.015326, 103.092774, 371684, 2.271148, 220.412642, 361778, 3.139043, 7.113547, 140618, 5.704067, 632.783739, 108975, 3.293136, 110.206321, 69007, 5.94100, 419.48464, 61053, 0.94038, 639.89729, 48913, 1.55733, 202.25340, 34144, 0.19519, 277.03499, 32402, 5.47085, 949.17561, 20937, 0.46349, 735.87651, 20839, 1.52103, 433.71174, 20747, 5.33256, 199.07200, 15298, 3.05944, 529.69097, 14296, 2.60434, 323.50542, 12884, 1.64892, 138.51750, 11993, 5.98051, 846.08283, 11380, 1.73106, 522.57742, 9796, 5.2048, 1265.5675, 7753, 5.8519, 95.9792, 6771, 3.0043, 14.2271, 6466, 0.1773, 1052.2684, 5850, 1.4552, 415.5525, 5307, 0.5974, 63.7359, 4696, 2.1492, 227.5262, 4044, 1.6401, 209.3669, 3688, 0.7802, 412.3711, 3461, 1.8509, 175.1661, 3420, 4.9455, 1581.9593, 3401, 0.5539, 350.3321, 3376, 3.6953, 224.3448, 2976, 5.6847, 210.1177, 2885, 1.3876, 838.9693, 2881, 0.1796, 853.1964, 2508, 3.5385, 742.9901, 2448, 6.1841, 1368.6603, 2406, 2.9656, 117.3199, 2174, 0.0151, 340.7709, 2024, 5.0541, 11.0457, 1888, 0.0297, 3.9322, 1861, 5.9336, 625.6702, 1817, 5.7771, 490.3341, 1781, 0.7631, 217.2312, 1740, 2.3466, 309.2783, 1611, 1.1730, 74.7816, 1475, 5.6767, 203.7379, 1472, 1.4006, 137.0330, 1463, 1.9259, 216.4805, 1395, 5.9367, 127.4718, 1315, 5.1120, 211.8146, 1304, 0.7724, 647.0108, 1296, 4.6918, 1898.3512, 1277, 2.9841, 1059.3819, 1207, 0.7529, 351.8166, 1150, 5.7402, 1162.4747, 1127, 4.4671, 265.9893, 1099, 1.8177, 149.5632, 1071, 1.1357, 1155.3612, 1021, 5.9123, 1685.0521, 998, 2.631, 200.769, 986, 2.260, 956.289, 932, 3.670, 554.070, 664, 0.603, 728.763, 660, 4.666, 195.140, 626, 5.942, 1478.867, 618, 5.621, 942.062, 553, 3.411, 269.921, 534, 1.264, 275.551, 517, 4.443, 2214.743, 494, 2.286, 278.519, 490, 5.806, 191.208, 488, 2.794, 3.181, 482, 1.841, 479.288, 473, 1.882, 515.464, 470, 0.838, 1471.753, 453, 3.003, 302.165, 452, 5.645, 2001.444, 427, 0.057, 284.149, 405, 1.640, 536.805, 386, 1.997, 1272.681, 343, 5.856, 1795.258, 341, 2.376, 525.498, 341, 0.891, 628.852, 340, 1.402, 440.825, 303, 0.879, 6069.777, 295, 0.671, 88.866, 294, 0.426, 312.199, 292, 6.214, 210.851, 288, 1.122, 422.666, 277, 5.319, 692.587, 276, 0.478, 38.133, 262, 0.318, 1045.155, 243, 5.372, 1258.454, 241, 1.125, 388.465, 237, 0.908, 1375.774, 234, 4.228, 114.138, 231, 5.495, 191.958, 226, 0.375, 142.450, 225, 0.548, 1788.145, 224, 2.281, 330.619, 222, 5.946, 39.357, 219, 5.256, 212.336, 214, 4.203, 2531.135, 208, 5.381, 2317.836, 206, 0.958, 288.081, 197, 3.901, 52.690, 192, 2.959, 437.644, 188, 6.079, 563.631, 187, 6.036, 404.507, 183, 5.669, 2111.650, 180, 4.410, 408.439, 178, 0.382, 430.530, 177, 2.303, 9999.986, 175, 5.714, 1066.495, 173, 1.849, 1589.073, 172, 2.365, 213.251, 172, 5.563, 213.347, 170, 2.857, 99.161, 166, 2.637, 215.747, 165, 2.891, 214.262, 163, 3.458, 617.806, 162, 5.731, 203.004, 150, 4.407, 417.037, 146, 1.566, 831.856, 145, 5.082, 423.417, 143, 0.998, 76.266, 137, 5.439, 222.860, 132, 2.859, 312.460, 129, 2.553, 414.068, 125, 4.784, 205.222, 120, 0.043, 1361.547, 113, 5.031, 703.633, 112, 0.262, 2104.537, 110, 2.437, 355.749, 109, 1.632, 208.633, 109, 2.093, 207.670, 109, 2.855, 21.341, 107, 3.671, 212.778, 104, 3.637, 65.220, 99, 5.14, 1574.85, 98, 5.12, 2634.23, 97, 4.20, 305.35, 97, 4.84, 131.40, 97, 2.56, 1692.17, 96, 5.45, 2428.04, 95, 2.52, 2.45, 94, 2.40, 483.22, 93, 0.74, 831.10, 92, 2.95, 35.42, 91, 3.97, 2847.53, 91, 4.21, 213.82, 89, 5.39, 107.02, 89, 4.06, 128.96, 88, 3.87, 140.00, 87, 1.33, 1905.46, 86, 2.30, 85.83, 86, 4.55, 210.38, 86, 0.03, 860.31, 84, 1.18, 429.78, 84, 4.61, 177.87, 83, 1.53, 145.63, 82, 1.66, 62.25, 77, 3.15, 767.37, 74, 3.57, 1.48, 74, 3.72, 92.05, 73, 4.38, 425.11, 73, 4.63, 245.54, 72, 0.01, 565.12, 71, 0.99, 405.26, 70, 4.04, 173.94, 67, 1.08, 339.29, 67, 4.75, 70.85, 66, 2.47, 280.97, 65, 2.45, 267.47, 65, 0.09, 9.56, 64, 1.29, 1148.25, 64, 4.10, 327.44, 63, 2.02, 234.64, 63, 4.40, 214.78, 61, 5.12, 756.32, 59, 4.23, 700.66, 59, 2.62, 225.83, 58, 6.06, 1677.94, 58, 5.47, 347.88, 57, 6.27, 2420.93, 56, 2.07, 124.43, 56, 4.30, 329.73, 55, 1.60, 543.02, 55, 3.86, 342.26, 54, 3.71, 344.70, 54, 1.07, 362.86, 54, 4.98, 134.59, 53, 3.79, 343.22, 50, 5.76, 320.32, 50, 3.93, 192.69, 50, 5.21, 2744.43, 50, 3.23, 333.66, 49, 4.90, 217.49, 49, 5.33, 3127.31, 48, 3.15, 216.22, 48, 2.39, 207.88, 48, 3.93, 199.28, 47, 2.45, 207.15, 47, 2.07, 2008.56, 46, 2.09, 212.55, 46, 4.86, 2950.62, 46, 2.64, 10.29, 46, 4.97, 198.32, 45, 5.36, 218.93, 45, 1.78, 223.59, 45, 5.56, 264.50, 43, 1.84, 106.27, 43, 0.40, 357.45, 42, 0.08, 210.33, 42, 0.74, 125.99, 41, 2.47, 237.68, 41, 4.92, 1891.24, 41, 4.08, 621.74, 40, 4.01, 12.53, 39, 3.46, 241.61, 39, 3.74, 3163.92, 39, 4.40, 18.16, 38, 4.44, 160.61, 38, 2.06, 247.24, 37, 4.75, 348.85, 37, 1.69, 22.09, 36, 3.83, 56.62, 35, 3.44, 273.10, 35, 5.65, 497.45, 35, 5.96, 217.96, 35, 2.25, 487.37, 35, 5.63, 99.91, 35, 1.83, 380.13, 34, 6.01, 166.83, 34, 0.73, 750.10, 34, 5.31, 206.23, 34, 1.24, 2221.86, 34, 5.80, 251.43, 33, 2.45, 969.62, 33, 4.87, 209.11, 33, 1.07, 252.66, 33, 1.93, 98.90, 33, 2.23, 319.57, 32, 3.78, 33.94, 32, 3.58, 231.46, 32, 1.00, 1464.64, 32, 2.13, 206.14, 32, 3.82, 73.30, 31, 2.05, 282.45, 31, 1.96, 244.32, 31, 4.90, 144.15, 31, 2.27, 1169.59, 30, 3.93, 206.71, 29, 5.98, 2737.32, 29, 4.84, 905.89, 29, 2.22, 14.98, 29, 6.03, 188.92, 29, 5.80, 1994.33, 29, 0.04, 5.63, 29, 0.76, 488.85, 29, 1.69, 78.71, 28, 4.73, 552.59, 28, 2.72, 32.24, 28, 0.79, 546.96, 28, 5.18, 5.42, 28, 1.45, 258.88, 28, 6.12, 214.05, 27, 2.45, 254.94, 27, 3.58, 561.18, 27, 0.25, 313.21, 27, 4.26, 179.36, 27, 5.20, 148.08, 27, 5.54, 555.55, 27, 2.86, 24.38, 26, 1.59, 491.82, 26, 0.65, 654.12, 26, 2.10, 248.72, 26, 1.62, 2324.95, 26, 3.36, 0.96, 25, 5.29, 636.72, 25, 4.97, 3060.83, 25, 5.12, 168.05, 25, 1.78, 182.28, 24, 0.01, 69.15, 24, 0.52, 894.84, 24, 3.15, 240.39, 24, 1.60, 738.80, 24, 2.55, 196.62, 23, 3.51, 458.84, 22, 3.25, 681.54, 22, 4.76, 213.19, 22, 3.17, 213.41, 22, 0.88, 635.97, 22, 4.61, 3267.01, 21, 3.86, 116.43, 21, 0.63, 189.72, 21, 1.67, 274.07, 21, 1.07, 494.27, 20, 6.05, 173.68, 20, 1.84, 533.62, 20, 2.95, 59.80, 20, 2.91, 120.36, 20, 4.94, 121.25, 20, 5.59, 4.19, 20, 0.08, 842.15, 20, 2.52, 1485.98, 20, 2.14, 54.17, 19, 0.11, 218.72, 19, 0.55, 4.67, 19, 5.38, 213.09, 19, 2.55, 213.51, 18, 3.19, 295.05, 18, 2.71, 181.81, 18, 2.26, 672.14, 17, 2.90, 477.80, 17, 0.68, 151.05, 17, 0.71, 1781.03, 17, 4.74, 2207.63, 17, 1.63, 5856.48, 17, 3.53, 3480.31, 16, 3.26, 6283.08, 16, 5.39, 424.15, 16, 3.98, 2.92, 16, 0.91, 280.00, 16, 0.63, 358.93, 16, 0.98, 2538.25, 16, 0.60, 746.92, 16, 0.83, 176.65, 16, 4.46, 643.83, 16, 5.23, 135.55, 16, 1.19, 486.40, 16, 5.70, 3053.71, 15, 1.49, 543.92, 15, 5.53, 2310.72, 15, 2.67, 46.47, 15, 1.24, 2641.34, 15, 1.77, 569.05, 15, 2.92, 167.09, 15, 2.66, 292.01, 15, 6.06, 468.24, 15, 5.26, 472.17, 14, 0.22, 235.39, 14, 0.12, 313.68, 14, 0.38, 601.76, 14, 2.63, 618.56, 14, 0.82, 221.38, 14, 3.19, 213.56, 14, 4.73, 213.04, 14, 2.51, 1802.37, 14, 2.21, 228.28, + /*R1*/ 6182981, 0.2584352, 213.2990954, 506578, 0.711147, 206.185548, 341394, 5.796358, 426.598191, 188491, 0.472157, 220.412642, 186262, 3.141593, 0.000000, 143891, 1.407449, 7.113547, 49621, 6.01744, 103.09277, 20928, 5.09246, 639.89729, 19953, 1.17560, 419.48464, 18840, 1.60820, 110.20632, 13877, 0.75886, 199.07200, 12893, 5.94330, 433.71174, 5397, 1.2885, 14.2271, 4869, 0.8679, 323.5054, 4247, 0.3930, 227.5262, 3252, 1.2585, 95.9792, 3081, 3.4366, 522.5774, 2909, 4.6068, 202.2534, 2856, 2.1673, 735.8765, 1988, 2.4505, 412.3711, 1941, 6.0239, 209.3669, 1581, 1.2919, 210.1177, 1340, 4.3080, 853.1964, 1316, 1.2530, 117.3199, 1203, 1.8665, 316.3919, 1091, 0.0753, 216.4805, 966, 0.480, 632.784, 954, 5.152, 647.011, 898, 0.983, 529.691, 882, 1.885, 1052.268, 874, 1.402, 224.345, 785, 3.064, 838.969, 740, 1.382, 625.670, 658, 4.144, 309.278, 650, 1.725, 742.990, 613, 3.033, 63.736, 599, 2.549, 217.231, 503, 2.130, 3.932, 413, 4.593, 415.552, 395, 0.533, 956.289, 363, 4.707, 302.165, 356, 2.303, 728.763, 345, 5.888, 440.825, 336, 1.616, 1368.660, 322, 0.979, 3.181, 317, 3.584, 515.464, 294, 2.816, 11.046, 291, 2.831, 1155.361, 278, 0.260, 195.140, 265, 2.427, 88.866, 265, 5.829, 149.563, 264, 1.285, 1059.382, 246, 0.907, 191.958, 245, 1.045, 942.062, 222, 5.132, 269.921, 215, 3.565, 490.334, 195, 4.567, 846.083, 183, 2.679, 127.472, 182, 4.934, 74.782, 175, 3.446, 137.033, 170, 4.635, 284.149, 166, 5.998, 536.805, 158, 2.996, 340.771, 155, 1.197, 265.989, 153, 0.270, 1272.681, 152, 5.439, 422.666, 152, 0.529, 330.619, 141, 1.271, 203.004, 141, 2.021, 1045.155, 140, 1.353, 1685.052, 136, 5.017, 351.817, 129, 1.143, 21.341, 128, 2.539, 1471.753, 127, 3.003, 277.035, 108, 4.319, 210.851, 103, 0.382, 203.738, 100, 3.614, 1066.495, 98, 2.56, 191.21, 97, 3.26, 831.86, 96, 0.79, 1258.45, 83, 0.28, 234.64, 73, 0.63, 1375.77, 72, 4.38, 860.31, 72, 5.58, 429.78, 71, 0.73, 437.64, 70, 0.88, 423.42, 69, 2.47, 949.18, 67, 5.45, 200.77, 67, 0.07, 408.44, 66, 2.68, 405.26, 66, 0.06, 1589.07, 64, 1.75, 1361.55, 62, 1.09, 2001.44, 60, 2.25, 1788.14, 55, 4.59, 628.85, 54, 0.28, 124.43, 51, 6.27, 223.59, 50, 3.80, 215.75, 49, 4.17, 138.52, 48, 0.84, 10.29, 47, 2.17, 312.20, 43, 3.38, 208.63, 43, 2.99, 1148.25, 42, 4.83, 288.08, 40, 5.18, 1478.87, 40, 0.28, 131.40, 39, 0.56, 1574.85, 37, 0.63, 52.69, 35, 4.68, 38.13, 33, 1.98, 142.45, 33, 3.28, 222.86, 33, 6.12, 145.63, 32, 5.19, 76.27, 32, 6.02, 1905.46, 31, 1.48, 1677.94, 30, 1.96, 2104.54, 29, 5.10, 654.12, 29, 4.96, 1795.26, 29, 2.75, 404.51, 28, 0.83, 1692.17, 28, 0.83, 2317.84, 28, 2.24, 430.53, 27, 5.24, 388.47, 27, 1.00, 107.02, 26, 4.28, 483.22, 26, 2.21, 1265.57, 25, 2.87, 703.63, 25, 6.24, 106.27, 25, 1.08, 99.91, 25, 0.81, 312.46, 24, 3.11, 212.34, 24, 0.55, 214.26, 24, 0.65, 207.88, 23, 5.08, 479.29, 23, 4.87, 295.05, 22, 4.23, 217.96, 22, 5.51, 343.22, 22, 3.90, 563.63, 22, 0.73, 99.16, 22, 6.07, 85.83, 22, 4.17, 2.45, 22, 3.80, 347.88, 21, 3.09, 554.07, 21, 0.39, 319.57, 21, 5.11, 333.66, 21, 2.69, 1464.64, 21, 3.29, 70.85, 21, 5.12, 362.86, 21, 1.69, 231.46, 21, 2.46, 18.16, 20, 0.23, 213.25, 20, 5.08, 750.10, 20, 3.43, 213.35, 19, 2.02, 313.21, 19, 0.05, 245.54, 18, 5.70, 56.62, 18, 3.84, 497.45, 17, 3.55, 218.93, 17, 4.72, 2111.65, 17, 1.41, 114.14, 16, 3.05, 134.59, 16, 1.71, 2420.93, 16, 4.94, 357.45, 16, 4.22, 565.12, 16, 0.27, 225.83, 16, 0.33, 1891.24, 16, 2.83, 81.75, 15, 1.21, 1994.33, 15, 1.31, 216.22, 15, 3.85, 1162.47, 15, 5.57, 344.70, 14, 0.45, 2008.56, 14, 5.71, 92.05, 14, 0.57, 2634.23, 13, 5.76, 2221.86, 13, 0.45, 1169.59, 13, 1.60, 320.32, 13, 3.74, 508.35, 13, 3.43, 258.88, 13, 1.64, 273.10, 13, 1.92, 1581.96, 13, 5.19, 635.97, 12, 1.01, 329.73, 12, 5.95, 543.92, 12, 4.45, 32.24, 12, 5.11, 4.67, 12, 4.31, 618.56, 12, 2.46, 721.65, 12, 1.76, 160.61, 12, 3.71, 350.33, 12, 2.80, 217.49, 11, 3.00, 198.32, 11, 1.89, 561.18, 11, 2.41, 1781.03, 11, 1.58, 212.78, 11, 0.77, 218.72, 11, 2.07, 213.82, 10, 2.41, 546.96, 10, 0.09, 182.28, 10, 0.49, 305.35, 10, 2.64, 416.30, 10, 4.05, 62.25, 10, 3.28, 275.55, 10, 1.61, 327.44, 10, 1.10, 113.39, 9, 5.46, 414.07, 9, 4.46, 2428.04, 9, 2.92, 1279.79, 9, 4.88, 120.36, 9, 0.54, 168.05, 9, 6.14, 621.74, 9, 1.83, 629.60, 9, 1.95, 35.42, 9, 2.18, 425.11, 8, 0.36, 617.81, 8, 3.77, 251.43, 8, 0.92, 1485.98, 8, 1.38, 1.48, 8, 5.31, 65.22, 8, 3.46, 424.15, 8, 0.35, 278.52, 8, 5.44, 254.94, 8, 0.96, 767.37, 8, 1.43, 2737.32, 8, 3.38, 144.15, 8, 0.94, 636.72, 8, 5.14, 22.09, 8, 0.94, 2310.72, 8, 5.14, 358.93, 8, 4.56, 280.97, 8, 0.10, 2324.95, 8, 5.75, 447.94, 8, 2.19, 264.50, 7, 4.52, 5.63, 7, 3.85, 214.05, 7, 3.39, 98.90, 7, 1.20, 5.42, 7, 1.65, 1898.35, 7, 1.79, 12.53, 7, 3.50, 9.56, 6, 5.31, 6076.89, 6, 0.45, 10007.10, 6, 0.33, 2950.62, 6, 2.12, 274.07, 6, 0.76, 210.38, 6, 3.21, 219.45, 6, 3.80, 339.29, 6, 4.59, 207.67, 6, 0.18, 2207.63, 6, 2.11, 2097.42, 6, 4.67, 543.02, 6, 5.13, 692.59, 6, 6.17, 650.94, 6, 5.95, 486.40, 6, 1.04, 9992.87, 6, 6.10, 209.11, 6, 5.48, 2538.25, 6, 3.01, 121.25, 6, 5.92, 6062.66, 6, 3.56, 1073.61, 6, 0.56, 116.43, 6, 4.40, 196.62, 6, 4.83, 643.08, 6, 0.95, 1802.37, 6, 0.81, 472.17, 6, 2.24, 1038.04, 6, 3.61, 125.99, 6, 3.84, 181.06, 5, 5.81, 237.68, 5, 6.19, 337.73, 5, 0.56, 192.69, 5, 3.82, 842.15, 5, 4.85, 267.47, 5, 0.50, 248.72, 5, 4.01, 205.22, 5, 3.36, 824.74, 5, 1.63, 166.83, 5, 0.85, 46.47, 5, 4.04, 487.37, 5, 0.85, 247.24, 5, 4.49, 291.26, 5, 2.67, 417.04, 5, 0.25, 129.92, 5, 4.18, 2744.43, 5, 3.74, 235.39, 5, 5.58, 342.26, 5, 1.55, 214.78, 5, 3.17, 148.08, 5, 3.67, 189.72, 4, 4.71, 151.05, 4, 3.74, 699.70, 4, 0.25, 128.96, 4, 5.69, 252.66, 4, 4.95, 184.09, 4, 5.43, 436.89, 4, 6.20, 268.44, 4, 4.19, 685.47, 4, 2.98, 380.13, 4, 5.97, 212.55, 4, 6.10, 2641.34, 4, 5.82, 491.82, 4, 4.87, 14.98, 4, 4.19, 501.38, 4, 1.15, 3053.71, 4, 3.08, 710.75, 4, 5.17, 114.40, 4, 3.46, 220.46, 4, 0.75, 2627.11, 4, 0.99, 271.41, 4, 4.78, 175.17, 4, 3.71, 204.70, 4, 1.27, 211.81, 4, 3.56, 244.32, 4, 4.53, 488.85, 4, 2.87, 411.62, 4, 2.22, 2.92, 4, 3.06, 409.92, 4, 5.54, 458.84, 4, 1.58, 643.83, 4, 4.51, 601.76, 4, 1.11, 6283.08, 4, 2.20, 135.34, 4, 3.64, 229.97, 4, 1.32, 69.15, + /*R2*/ 436902, 4.786717, 213.299095, 71923, 2.50070, 206.18555, 49767, 4.97168, 220.41264, 43221, 3.86940, 426.59819, 29646, 5.96310, 7.11355, 4721, 2.4753, 199.0720, 4142, 4.1067, 433.7117, 3789, 3.0977, 639.8973, 2964, 1.3721, 103.0928, 2556, 2.8507, 419.4846, 2327, 0.0000, 0.0000, 2208, 6.2759, 110.2063, 2188, 5.8555, 14.2271, 1957, 4.9245, 227.5262, 924, 5.464, 323.505, 706, 2.971, 95.979, 546, 4.129, 412.371, 431, 5.178, 522.577, 405, 4.173, 209.367, 391, 4.481, 216.480, 374, 5.834, 117.320, 361, 3.277, 647.011, 356, 3.192, 210.118, 326, 2.269, 853.196, 207, 4.022, 735.877, 204, 0.088, 202.253, 180, 3.597, 632.784, 178, 4.097, 440.825, 154, 3.135, 625.670, 148, 0.136, 302.165, 133, 2.594, 191.958, 132, 5.933, 309.278, 123, 4.189, 88.866, 119, 5.554, 224.345, 111, 4.779, 838.969, 109, 5.293, 515.464, 100, 5.461, 3.181, 97, 4.02, 728.76, 96, 6.26, 742.99, 94, 4.38, 217.23, 81, 5.11, 956.29, 79, 5.73, 21.34, 69, 4.05, 3.93, 65, 3.78, 1052.27, 64, 5.81, 529.69, 63, 2.18, 195.14, 57, 3.15, 203.00, 56, 4.84, 234.64, 53, 5.08, 330.62, 53, 3.93, 949.18, 51, 2.77, 942.06, 45, 0.56, 269.92, 42, 4.79, 63.74, 41, 3.73, 316.39, 41, 4.58, 1155.36, 39, 3.51, 422.67, 38, 3.74, 1045.15, 38, 4.19, 536.80, 35, 2.91, 284.15, 35, 5.94, 1059.38, 34, 3.80, 149.56, 33, 4.97, 831.86, 31, 4.84, 1272.68, 30, 2.48, 860.31, 30, 4.35, 405.26, 30, 3.66, 429.78, 30, 1.59, 1066.50, 27, 1.66, 277.03, 26, 4.45, 223.59, 26, 4.82, 124.43, 26, 3.55, 1368.66, 24, 5.31, 10.29, 22, 2.76, 415.55, 22, 1.04, 11.05, 21, 3.62, 1265.57, 20, 2.52, 1258.45, 18, 4.31, 1471.75, 17, 3.49, 1361.55, 17, 3.28, 654.12, 16, 1.73, 490.33, 15, 5.01, 127.47, 15, 3.60, 265.99, 14, 4.69, 1148.25, 14, 3.05, 423.42, 13, 1.90, 408.44, 13, 0.32, 295.05, 13, 4.89, 437.64, 13, 4.62, 1589.07, 13, 3.14, 74.78, 12, 2.33, 210.85, 11, 5.48, 1375.77, 11, 4.55, 81.75, 11, 5.05, 191.21, 11, 5.03, 137.03, 10, 3.34, 1685.05, 10, 5.20, 340.77, 10, 3.17, 351.82, 9, 3.40, 1581.96, 9, 2.81, 99.91, 8, 3.23, 1677.94, 8, 4.04, 1788.14, 8, 2.36, 1574.85, 8, 6.08, 231.46, 8, 3.68, 846.08, 8, 3.29, 750.10, 7, 2.00, 131.40, 7, 4.38, 1464.64, 7, 4.83, 319.57, 7, 4.37, 145.63, 7, 5.43, 508.35, 7, 3.78, 313.21, 6, 1.34, 215.75, 6, 4.00, 447.94, 6, 4.56, 106.27, 6, 2.85, 138.52, 6, 0.55, 18.16, 6, 4.14, 543.92, 6, 4.35, 1905.46, 6, 1.13, 56.62, 5, 4.20, 721.65, 5, 3.63, 6076.89, 5, 4.50, 416.30, 5, 2.64, 288.08, 5, 5.05, 10007.10, 5, 2.45, 628.85, 5, 3.12, 1898.35, 5, 6.18, 483.22, 5, 5.92, 618.56, 5, 3.30, 76.27, 5, 3.12, 2001.44, 5, 5.78, 184.84, 5, 0.76, 333.66, 5, 1.27, 6062.66, 5, 1.20, 200.77, 5, 2.69, 9992.87, 5, 0.95, 343.22, 4, 0.80, 222.86, 4, 1.92, 497.45, 4, 2.90, 107.02, 4, 1.98, 347.88, 4, 2.88, 38.13, 4, 2.93, 1994.33, 4, 5.18, 404.51, 4, 5.45, 1692.17, 4, 4.12, 1781.03, 4, 3.12, 635.97, 4, 0.88, 703.63, 4, 3.79, 2104.54, 4, 3.25, 362.86, 4, 0.05, 32.24, 4, 3.48, 388.47, 4, 5.55, 113.39, 4, 5.46, 6283.08, 4, 4.08, 430.53, 3, 1.82, 70.85, 3, 3.52, 629.60, 3, 0.55, 10213.29, 3, 4.21, 337.73, 3, 3.28, 357.45, 3, 1.98, 203.74, 3, 3.88, 85.83, 3, 3.92, 1038.04, 3, 2.46, 867.42, 3, 1.26, 134.59, 3, 1.61, 1073.61, 3, 4.09, 1478.87, 3, 2.18, 1891.24, 3, 2.67, 52.69, 3, 0.41, 561.18, 3, 5.60, 216.22, 3, 5.01, 312.46, 3, 2.55, 6069.78, 3, 5.46, 258.88, 3, 2.19, 217.96, 3, 3.97, 9999.99, 3, 0.89, 1279.79, 3, 4.21, 650.94, 3, 1.67, 213.35, 3, 2.38, 181.06, 3, 3.91, 312.20, 3, 4.75, 213.25, 3, 5.09, 1169.59, 3, 5.74, 160.61, 3, 2.88, 643.08, 3, 3.62, 436.89, 3, 0.01, 195.89, 3, 1.69, 208.63, 3, 2.32, 565.12, 3, 1.13, 344.70, 3, 6.13, 273.10, 3, 5.10, 824.74, 3, 5.30, 444.76, 2, 3.58, 2420.93, 2, 2.96, 2214.74, 2, 3.46, 6275.96, 2, 4.74, 218.72, 2, 0.90, 121.25, 2, 4.08, 131.55, 2, 2.60, 305.35, 2, 4.22, 2221.86, 2, 5.18, 99.16, 2, 5.43, 207.88, 2, 3.38, 22.09, 2, 3.32, 358.93, 2, 3.95, 1795.26, 2, 1.61, 218.93, 2, 3.37, 320.32, 2, 4.85, 1141.13, 2, 4.63, 188.03, 2, 2.29, 2627.11, 2, 5.67, 28.45, 2, 1.69, 350.33, 2, 4.26, 546.96, 2, 0.18, 12.53, 2, 4.61, 182.28, 2, 2.90, 2310.72, 2, 1.31, 212.34, 2, 4.13, 225.83, 2, 3.01, 2317.84, 2, 1.59, 424.15, 2, 3.58, 329.73, 2, 2.24, 168.05, 2, 2.07, 144.15, 2, 2.86, 636.72, 2, 5.35, 45.58, 2, 5.05, 214.26, 2, 2.73, 291.26, 2, 2.70, 12.74, 2, 1.32, 219.45, 2, 5.56, 92.80, 2, 1.95, 129.92, 2, 3.44, 2428.04, 2, 3.55, 1354.43, 2, 4.98, 2008.56, 2, 6.14, 554.07, 2, 3.30, 1670.83, 2, 5.73, 1485.98, 2, 1.16, 235.39, 2, 4.51, 210.38, 2, 2.16, 207.67, 2, 5.51, 204.70, 2, 4.99, 1162.47, + /*R3*/ 20315, 3.02187, 213.29910, 8924, 3.1914, 220.4126, 6909, 4.3517, 206.1855, 4087, 4.2241, 7.1135, 3879, 2.0106, 426.5982, 1071, 4.2036, 199.0720, 907, 2.283, 433.712, 606, 3.175, 227.526, 597, 4.135, 14.227, 483, 1.173, 639.897, 393, 0.000, 0.000, 229, 4.698, 419.485, 188, 4.590, 110.206, 150, 3.202, 103.093, 121, 3.768, 323.505, 102, 4.710, 95.979, 101, 5.819, 412.371, 93, 1.44, 647.01, 84, 2.63, 216.48, 73, 4.15, 117.32, 62, 2.31, 440.83, 55, 0.31, 853.20, 50, 2.39, 209.37, 45, 4.37, 191.96, 41, 0.69, 522.58, 40, 1.84, 302.16, 38, 5.94, 88.87, 32, 4.01, 21.34, 28, 5.77, 210.12, 25, 0.73, 515.46, 25, 3.06, 234.64, 21, 4.93, 625.67, 18, 1.46, 309.28, 17, 5.73, 728.76, 17, 3.53, 3.18, 13, 3.36, 330.62, 12, 5.99, 735.88, 11, 3.37, 224.34, 11, 3.42, 956.29, 11, 6.07, 405.26, 10, 0.28, 838.97, 10, 0.58, 860.31, 10, 1.59, 202.25, 9, 2.57, 223.59, 9, 2.94, 124.43, 9, 4.65, 632.78, 9, 1.76, 429.78, 8, 4.48, 742.99, 8, 4.20, 195.14, 8, 0.44, 831.86, 8, 1.46, 654.12, 7, 4.51, 942.06, 7, 5.47, 1045.15, 7, 1.52, 422.67, 7, 4.83, 316.39, 7, 3.42, 10.29, 6, 6.01, 1066.50, 6, 2.34, 269.92, 6, 0.83, 217.23, 6, 1.15, 284.15, 6, 4.18, 529.69, 6, 2.47, 536.80, 5, 2.12, 295.05, 4, 0.92, 203.00, 4, 3.23, 1272.68, 4, 0.11, 1155.36, 4, 6.01, 1052.27, 4, 0.06, 81.75, 3, 4.33, 1258.45, 3, 0.19, 1148.25, 3, 2.19, 447.94, 3, 1.89, 149.56, 3, 5.64, 3.93, 3, 5.41, 1361.55, 3, 4.97, 1677.94, 3, 0.92, 508.35, 3, 3.00, 1589.07, 3, 2.31, 543.92, 3, 3.71, 408.44, 2, 4.24, 1059.38, 2, 3.22, 319.57, 2, 5.73, 313.21, 2, 1.30, 184.84, 2, 5.88, 721.65, 2, 0.52, 416.30, 2, 6.18, 1464.64, 2, 6.23, 1471.75, 2, 2.41, 337.73, 2, 5.17, 2854.64, 2, 2.41, 131.55, 2, 5.62, 11.05, 2, 0.54, 635.97, 2, 5.59, 1038.04, 2, 1.82, 436.89, 2, 1.51, 750.10, 2, 6.12, 1073.61, 2, 4.58, 1994.33, 2, 0.03, 423.42, 2, 2.58, 2090.31, 2, 2.95, 437.64, 2, 1.75, 195.89, 2, 5.97, 1781.03, 2, 0.56, 2324.95, 2, 6.15, 490.33, 2, 0.61, 210.85, 2, 3.85, 1251.34, 1, 0.27, 497.45, 1, 0.99, 643.08, 1, 5.35, 1354.43, 1, 3.29, 1884.12, 1, 1.50, 430.53, 1, 0.85, 415.55, 1, 5.33, 2538.25, 1, 4.12, 1574.85, 1, 5.58, 1382.89, 1, 0.70, 867.42, 1, 3.79, 1567.73, 1, 2.29, 2420.93, 1, 1.41, 2634.23, 1, 0.48, 824.74, 1, 2.97, 241.75, 1, 3.11, 2200.52, 1, 5.13, 25.27, 1, 4.70, 113.39, 1, 1.80, 618.56, 1, 3.96, 1891.24, 1, 3.78, 1375.77, 1, 3.73, 131.40, 1, 4.48, 2214.74, 1, 0.79, 127.47, 1, 5.42, 1279.79, 1, 0.05, 63.74, 1, 4.80, 1987.22, 1, 5.85, 215.75, 1, 4.06, 231.46, 1, 1.09, 362.86, 1, 4.23, 1802.37, 1, 5.33, 2428.04, 1, 5.91, 265.99, 1, 0.74, 16.67, 1, 6.26, 2015.67, 1, 5.99, 2524.02, 1, 1.92, 483.22, 1, 2.66, 145.63, 1, 2.97, 934.95, 1, 6.26, 2.45, 1, 3.16, 2207.63, 1, 0.09, 628.85, 1, 1.24, 74.78, 1, 5.87, 1368.66, 1, 2.90, 2008.56, 1, 2.38, 2228.97, 1, 2.28, 1478.87, 1, 1.16, 3053.71, 1, 4.70, 1670.83, 1, 5.92, 1685.05, 1, 3.13, 56.62, + /*R4*/ 1202, 1.4150, 220.4126, 708, 1.162, 213.299, 516, 6.240, 206.186, 427, 2.469, 7.114, 268, 0.187, 426.598, 170, 5.959, 199.072, 150, 0.480, 433.712, 145, 1.442, 227.526, 121, 2.405, 14.227, 47, 5.57, 639.90, 19, 5.86, 647.01, 17, 0.53, 440.83, 16, 2.90, 110.21, 15, 0.30, 419.48, 14, 1.30, 412.37, 13, 2.09, 323.51, 11, 0.22, 95.98, 11, 2.46, 117.32, 10, 3.14, 0.00, 9, 1.56, 88.87, 9, 2.28, 21.34, 9, 0.68, 216.48, 8, 1.27, 234.64, 8, 4.49, 853.20, 8, 3.59, 302.16, 6, 5.17, 103.09, 5, 2.59, 515.46, 4, 4.97, 860.31, 4, 0.02, 191.96, 4, 5.97, 654.12, 4, 1.60, 330.62, 4, 1.60, 405.26, 4, 3.30, 210.12, 3, 2.73, 522.58, 3, 0.75, 209.37, 3, 1.32, 728.76, 2, 1.19, 124.43, 2, 0.49, 447.94, 2, 3.28, 203.00, 2, 0.73, 625.67, 2, 6.15, 429.78, 2, 0.75, 295.05, 2, 3.89, 1066.50, 2, 2.00, 831.86, 2, 0.09, 942.06, 2, 0.82, 223.59, 2, 1.40, 224.34, 2, 3.02, 184.84, 2, 5.41, 824.74, 2, 5.96, 422.67, 1, 2.12, 529.69, 1, 0.72, 536.80, 1, 1.65, 17.41, 1, 1.90, 956.29, 1, 5.97, 195.14, 1, 1.12, 838.97, 1, 0.89, 721.65, 1, 1.59, 735.88, 1, 3.06, 1574.85, 1, 1.01, 1045.15, 1, 5.36, 316.39, 1, 4.93, 56.62, 1, 2.72, 508.35, 1, 1.11, 1169.59, + /*R5*/ 129, 5.913, 220.413, 32, 0.69, 7.11, 27, 5.91, 227.53, 20, 4.95, 433.71, 20, 0.67, 14.23, 14, 2.67, 206.19, 14, 1.46, 199.07, 13, 4.59, 426.60, 7, 4.63, 213.30, 5, 3.61, 639.90, 4, 4.90, 440.83, 3, 4.07, 647.01, 3, 4.66, 191.96, 3, 0.49, 323.51, 3, 3.18, 419.48, 2, 3.70, 88.87, 2, 3.32, 95.98, 2, 0.56, 117.32, 2, 5.33, 302.16, 2, 0.00, 0.00, 2, 2.67, 853.20, 2, 0.86, 515.46, 1, 5.83, 234.64, 1, 0.16, 412.37, 1, 5.98, 3.18, 1, 5.23, 216.48, 1, 5.05, 124.43, 1, 0.37, 28.45}, + //Dura精度:J2000+-4千年 黄经1角秒 黄纬1角秒 距离20AU/10^6 []float64{ - 100000000,//A的倍率 - 20,539,836,980,1070,1085,1088,1193,1271,1307,1322,1325,1325,2150,2660,2936,3089,3122,3122,//位置索引表 - /*L0*/ 548129294,0.000000000,0.000000000,9260408,0.8910642,74.7815986,1504248,3.6271926,1.4844727,365982,1.899622,73.297126,272328,3.358237,149.563197,70328,5.39254,63.73590,68893,6.09292,76.26607,61999,2.26952,2.96895,61951,2.85099,11.04570,26469,3.14152,71.81265,25711,6.11380,454.90937,21079,4.36059,148.07872,17819,1.74437,36.64856,14613,4.73732,3.93215,11163,5.82682,224.34480,10998,0.48865,138.51750,9527,2.9552,35.1641,7546,5.2363,109.9457,4220,3.2333,70.8494,4052,2.2775,151.0477,3490,5.4831,146.5943,3355,1.0655,4.4534,3144,4.7520,77.7505,2927,4.6290,9.5612,2922,5.3524,85.8273,2273,4.3660,70.3282,2149,0.6075,38.1330,2051,1.5177,0.1119,1992,4.9244,277.0350,1667,3.6274,380.1278,1533,2.5859,52.6902,1376,2.0428,65.2204,1372,4.1964,111.4302,1284,3.1135,202.2534,1282,0.5427,222.8603,1244,0.9161,2.4477,1221,0.1990,108.4612,1151,4.1790,33.6796,1150,0.9334,3.1814,1090,1.7750,12.5302,1072,0.2356,62.2514,946,1.192,127.472,708,5.183,213.299,653,0.966,78.714,628,0.182,984.600,607,5.432,529.691,559,3.358,0.521,524,2.013,299.126,483,2.106,0.963,471,1.407,184.727,467,0.415,145.110,434,5.521,183.243,405,5.987,8.077,399,0.338,415.552,396,5.870,351.817,379,2.350,56.622,310,5.833,145.631,300,5.644,22.091,294,5.839,39.618,252,1.637,221.376,249,4.746,225.829,239,2.350,137.033,224,0.516,84.343,223,2.843,0.261,220,1.922,67.668,217,6.142,5.938,216,4.778,340.771,208,5.580,68.844,202,1.297,0.048,199,0.956,152.532,194,1.888,456.394,193,0.916,453.425,187,1.319,0.160,182,3.536,79.235,173,1.539,160.609,172,5.680,219.891,170,3.677,5.417,169,5.879,18.159,165,1.424,106.977,163,3.050,112.915,158,0.738,54.175,147,1.263,59.804,143,1.300,35.425,139,5.386,32.195,139,4.260,909.819,124,1.374,7.114,110,2.027,554.070,109,5.706,77.963,104,5.028,0.751,104,1.458,24.379,103,0.681,14.978,95,0.91,74.67,94,3.94,74.89,89,0.52,181.76,86,1.71,82.86,85,5.89,256.54,85,0.37,186.21,83,2.93,265.99,80,3.01,297.64,80,1.01,6.59,77,4.59,6.22,75,4.63,69.36,74,6.24,447.80,73,4.28,87.31,73,2.85,462.02,70,1.19,66.70,70,0.87,305.35,70,3.76,131.40,69,4.44,39.36,62,0.17,479.29,62,3.19,77.23,58,1.59,60.77,58,2.67,381.61,58,3.67,51.21,57,1.63,143.63,55,1.50,71.60,54,5.52,128.96,50,1.12,20.61,46,4.36,75.74,45,0.48,14.01,42,3.82,81.00,40,4.57,46.21,40,0.70,218.41,40,6.06,293.19,39,5.59,99.16,39,3.44,153.50,38,6.07,211.81,36,1.67,258.02,35,1.97,835.04,35,3.72,692.59,35,1.03,203.74,35,0.39,1.37,34,1.08,191.21,34,2.94,140.00,34,6.06,275.55,33,4.22,200.77,32,5.51,72.33,30,1.89,269.92,30,3.87,259.51,29,0.17,528.21,28,2.18,125.99,27,2.10,209.37,27,4.75,41.10,27,6.28,28.57,27,4.48,373.91,26,4.77,284.15,26,5.81,75.30,26,6.20,134.59,26,3.63,490.33,26,0.54,41.64,26,0.75,278.52,25,5.43,116.43,25,4.71,378.64,24,3.19,81.37,23,3.58,1.60,23,0.93,288.08,23,0.53,1514.29,22,1.84,617.81,22,4.59,404.51,22,5.87,45.58,22,0.06,173.94,21,2.74,28.31,21,1.98,114.40,21,5.62,55.66,21,2.64,105.49,21,0.89,255.06,20,0.10,195.14,20,3.78,135.55,19,1.49,0.89,19,6.22,329.84,19,2.84,159.12,19,0.51,67.36,19,2.30,5.11, - /*L1*/ 7502543122,0.0000000000,0.0000000000,154458,5.242017,74.781599,24456,1.71256,1.48447,9258,0.4284,11.0457,8266,1.5022,63.7359,7842,1.3198,149.5632,3899,0.4648,3.9322,2284,4.1737,76.2661,1927,0.5301,2.9689,1233,1.5863,70.8494,791,5.436,3.181,767,1.996,73.297,482,2.984,85.827,450,4.138,138.517,446,3.723,224.345,427,4.731,71.813,354,2.583,148.079,348,2.454,9.561,317,5.579,52.690,206,2.363,2.448,189,4.202,56.622,184,0.284,151.048,180,5.684,12.530,171,3.001,78.714,158,2.909,0.963,155,5.591,4.453,154,4.652,35.164,152,2.942,77.751,143,2.590,62.251,121,4.148,127.472,116,3.732,65.220,102,4.188,145.631,102,6.034,0.112,88,3.99,18.16,88,6.16,202.25,81,2.64,22.09,72,6.05,70.33,69,4.05,77.96,59,3.70,67.67,47,3.54,351.82,44,5.91,7.11,43,5.72,5.42,39,4.92,222.86,36,5.90,33.68,36,3.29,8.08,36,3.33,71.60,35,5.08,38.13,31,5.62,984.60,31,5.50,59.80,31,5.46,160.61,30,1.66,447.80,29,1.15,462.02,29,4.52,84.34,27,5.54,131.40,27,6.15,299.13,26,4.99,137.03,25,5.74,380.13,23,2.25,111.43,22,0.93,213.30,22,2.81,69.36,19,1.86,108.46,19,3.56,54.17,16,3.10,14.98,14,1.54,340.77,14,2.69,225.83,14,4.38,5.94,13,1.95,87.31,13,5.88,6.22,12,0.33,51.21,12,3.60,269.92,12,5.34,152.53,12,0.33,35.42,12,1.75,79.24,11,3.38,72.33,11,1.69,45.58,11,5.97,265.99,11,3.07,284.15,10,4.17,24.38,10,3.52,529.69,10,4.65,77.23,10,5.50,153.50,10,1.01,68.84,10,0.50,209.37,10,5.60,82.86,9,3.54,41.64,9,3.93,39.62,9,4.49,20.61,9,1.97,195.14,9,3.89,60.77,8,4.41,134.59,8,2.44,146.59,8,5.73,184.73,8,0.17,120.36,8,5.36,75.74,8,5.77,73.82,8,4.44,14.01,7,2.19,145.11,7,4.12,191.21,7,2.13,116.43, - /*L2*/ 53033,0.00000,0.00000,2358,2.2601,74.7816,769,4.526,11.046,552,3.258,63.736,542,2.276,3.932,529,4.923,1.484,258,3.691,3.181,239,5.858,149.563,182,6.218,70.849,54,1.44,76.27,49,6.03,56.62,45,3.91,2.45,45,0.81,85.83,38,1.78,52.69,37,4.46,2.97,33,0.86,9.56,29,5.10,73.30,24,2.11,18.16,22,5.99,138.52,22,4.82,78.71,21,2.40,77.96,21,2.17,224.34,17,2.54,145.63,17,3.47,12.53,12,0.02,22.09,11,0.08,127.47,10,5.16,71.60,10,4.46,62.25,9,4.26,7.11,8,5.50,67.67,7,1.25,5.42,6,3.36,447.80,6,5.45,65.22,6,4.52,151.05,6,5.73,462.02,6,5.61,148.08,6,1.83,202.25,5,1.06,131.40,5,3.52,59.80,5,3.36,4.45,5,1.20,71.81,4,0.68,77.75,4,1.76,351.82,4,4.57,454.91,3,3.84,45.58,3,3.32,160.61,3,6.15,77.23,3,5.36,269.92, - /*L3*/ 121,0.024,74.782,68,4.12,3.93,53,2.39,11.05,46,0.00,0.00,45,2.04,3.18,44,2.96,1.48,25,4.89,63.74,21,4.55,70.85,20,2.31,149.56,9,1.58,56.62,4,0.23,18.16,4,5.39,76.27,4,0.95,77.96,3,4.98,85.83,3,4.13,52.69,3,0.37,78.71,2,0.86,145.63,2,5.66,9.56,2,2.68,7.11,2,0.49,71.60,1,5.20,73.30,1,4.87,224.34,1,1.25,12.53,1,3.93,22.09,1,2.19,127.47,1,3.98,462.02,1,5.06,447.80,1,1.06,138.52,1,0.35,5.63,1,2.94,131.40, - /*L4*/ 114,3.142,0.000,6,4.58,74.78,3,0.35,11.05,1,3.42,56.62,1,4.66,18.16, - /*L5*/ 1,3.14,0.00, - /*B0*/ 1346278,2.6187781,74.7815986,62341,5.08111,149.56320,61601,3.14159,0.00000,9964,1.6160,76.2661,9926,0.5763,73.2971,3259,1.2612,224.3448,2972,2.2437,1.4845,2010,6.0555,148.0787,1522,0.2796,63.7359,924,4.038,151.048,761,6.140,71.813,522,3.321,138.517,463,0.743,85.827,437,3.381,529.691,435,0.341,77.751,431,3.554,213.299,420,5.213,11.046,245,0.788,2.969,233,2.257,222.860,216,1.591,38.133,180,3.725,299.126,175,1.236,146.594,174,1.937,380.128,160,5.336,111.430,144,5.962,35.164,116,5.739,70.849,106,0.941,70.328,102,2.619,78.714,86,0.70,39.62,73,0.21,225.83,71,0.83,109.95,58,2.67,108.46,54,3.35,184.73,44,2.74,152.53,41,3.22,160.61, - /*B1*/ 206366,4.123943,74.781599,8563,0.3382,149.5632,1726,2.1219,73.2971,1374,0.0000,0.0000,1369,3.0686,76.2661,451,3.777,1.484,400,2.848,224.345,307,1.255,148.079,154,3.786,63.736,112,5.573,151.048,111,5.329,138.517,83,3.59,71.81,56,3.40,85.83,54,1.70,77.75,42,1.21,11.05,41,4.45,78.71,32,3.77,222.86,30,2.56,2.97,27,5.34,213.30,26,0.42,380.13,23,2.49,146.59,20,3.70,70.85,20,5.93,529.69,20,5.37,299.13,19,3.83,38.13,19,1.09,111.43, - /*B2*/ 9212,5.8004,74.7816,557,0.000,0.000,286,2.177,149.563,95,3.84,73.30,45,4.88,76.27,20,5.46,1.48,15,0.88,138.52,14,2.85,148.08,14,5.07,63.74,10,5.00,224.34,8,6.27,78.71,5,5.16,71.81, - /*B3*/ 268,1.251,74.782,11,3.14,0.00,6,4.01,149.56,3,5.78,73.30,2,1.06,63.74, - /*B4*/ 6,2.85,74.78, - /*R0*/ 1921264848,0.0000000000,0.0000000000,88784984,5.60377527,74.78159857,3440836,0.3283610,73.2971259,2055653,1.7829517,149.5631971,649322,4.522473,76.266071,602248,3.860038,63.735898,496404,1.401399,454.909367,338526,1.580027,138.517497,243508,1.570866,71.812653,190522,1.998094,1.484473,161858,2.791379,148.078724,143706,1.383686,11.045700,93192,0.17437,36.64856,89806,3.66105,109.94569,71424,4.24509,224.34480,46677,1.39977,35.16409,39026,3.36235,277.03499,39010,1.66971,70.84945,36755,3.88649,146.59425,30349,0.70100,151.04767,29156,3.18056,77.75054,25786,3.78538,85.82730,25620,5.25656,380.12777,22637,0.72519,529.69097,20473,2.79640,70.32818,20472,1.55589,202.25340,17901,0.55455,2.96895,15503,5.35405,38.13304,14702,4.90434,108.46122,12897,2.62154,111.43016,12328,5.96039,127.47180,11959,1.75044,984.60033,11853,0.99343,52.69020,11696,3.29826,3.93215,11495,0.43774,65.22037,10793,1.42105,213.29910,9111,4.9964,62.2514,8421,5.2535,222.8603,8402,5.0388,415.5525,7449,0.7949,351.8166,7329,3.9728,183.2428,6046,5.6796,78.7138,5524,3.1150,9.5612,5445,5.1058,145.1098,5238,2.6296,33.6796,4079,3.2206,340.7709,3919,4.2502,39.6175,3802,6.1099,184.7273,3781,3.4584,456.3938,3687,2.4872,453.4249,3102,4.1403,219.8914,2963,0.8298,56.6224,2942,0.4239,299.1264,2940,2.1464,137.0330,2938,3.6766,140.0020,2865,0.3100,12.5302,2538,4.8546,131.4039,2364,0.4425,554.0700,2183,2.9404,305.3462,1979,6.1284,106.9767,1963,0.0411,221.3759,1963,5.2434,84.3428,1849,2.9111,909.8187,1830,4.0111,68.8437,1656,1.9643,79.2350,1643,0.3556,67.6681,1632,4.2306,22.0914,1585,3.1627,225.8293,1563,1.4792,112.9146,1507,5.2419,181.7583,1482,5.6620,152.5321,1477,4.3221,256.5399,1439,1.5305,447.7958,1409,4.4192,462.0229,1404,5.6356,4.4534,1401,1.3908,265.9893,1250,6.2448,160.6089,1249,5.4403,54.1747,1248,4.8898,479.2884,1228,5.9770,59.8037,1197,2.5219,145.6310,1091,4.1539,77.9630,1072,1.7429,528.2065,906,5.620,74.670,900,2.373,74.893,845,0.129,82.858,759,2.137,692.587,719,4.000,128.956,710,5.416,218.407,710,4.220,381.612,710,4.490,293.189,705,0.455,835.037,700,0.040,143.625,690,3.081,69.365,652,4.423,18.159,642,2.711,87.312,630,4.461,275.551,598,0.358,269.921,594,3.838,32.195,594,4.501,8.077,588,5.083,186.212,576,5.896,66.705,575,5.579,2.448,570,1.639,77.229,557,1.072,1059.382,549,5.628,3.181,545,5.694,203.738,542,5.395,278.519,540,6.208,71.600,516,3.233,284.149,503,5.839,191.208,496,2.651,200.769,488,0.064,60.767,477,2.894,39.357,464,2.354,211.815,464,1.434,297.642,455,2.593,490.334,455,4.084,99.161,449,0.280,617.806,437,0.528,209.367,436,2.082,51.206,436,2.101,1514.291,436,2.794,75.745,429,3.080,41.102,420,2.254,81.001,414,0.090,258.024,410,3.050,404.507,405,6.123,24.379,387,0.686,230.565,380,0.058,378.643,368,0.712,125.987,365,5.595,255.055,359,0.009,35.425,359,0.352,426.598,358,4.714,173.942,354,4.657,329.837,326,4.720,134.585,324,4.829,195.140,320,5.486,14.978,308,3.924,116.426,306,3.761,344.703,305,2.555,6208.294,302,0.132,565.116,296,4.211,1364.728,293,3.995,72.334,287,1.850,153.495,262,3.837,831.105,256,1.167,177.874,250,4.242,75.303,248,1.063,105.492,245,5.949,20.607,241,1.605,81.374,234,2.971,46.210,234,4.481,628.852,225,0.407,114.399,220,0.196,180.274,220,2.961,120.358,219,0.248,294.673,217,3.429,241.610,211,4.931,103.093,205,2.304,259.509,194,6.117,414.068,192,5.767,291.704,189,2.236,5.417,188,2.045,408.439,187,3.035,135.549,182,0.784,417.037,182,0.707,391.173,179,4.824,366.486,178,3.980,10138.504,176,1.960,756.323,176,5.508,7.114,172,5.217,41.644,171,2.309,98.900,170,4.950,206.186,170,4.510,288.081,169,4.043,55.659,168,5.258,518.645,167,4.922,422.666,164,5.225,67.359,162,3.273,443.864,162,4.995,73.818,161,3.823,451.940,157,0.663,220.413,155,4.320,760.256,154,4.278,45.577,154,4.707,543.024,152,4.647,155.783,146,2.657,465.955,143,2.078,457.878,142,1.270,159.124,134,5.309,14.015,133,2.889,373.908,129,0.363,96.873,127,0.424,331.322,125,4.305,339.286,123,2.383,141.486,117,3.950,74.260,117,1.837,1289.947,116,4.435,5.938,116,2.512,296.157,115,6.249,767.369,113,4.654,80.198,113,0.831,100.384,113,0.081,558.002,112,1.212,329.725,111,0.750,80.719,111,0.387,216.922,108,3.773,142.450,107,2.394,347.884,107,1.821,306.831,106,0.816,1087.693,105,5.945,328.353,104,2.994,6.220,103,0.698,358.930,101,1.057,92.308,99,4.33,74.52,98,3.73,75.04,97,0.69,977.49,96,5.55,969.62,95,0.80,342.26,94,4.54,28.57,94,4.99,403.13,91,5.17,144.15,91,0.22,333.66,90,0.37,0.96,90,3.80,986.08,89,2.19,74.83,89,5.88,74.73,89,4.74,604.47,89,4.44,154.02,87,5.62,300.61,86,2.83,983.12,85,5.80,6.59,85,1.26,142.14,84,1.84,227.31,83,1.88,387.24,83,2.21,74.94,83,5.86,74.62,80,2.98,526.72,79,5.67,267.47,78,2.73,110.21,76,2.78,88.11,76,4.66,101.87,76,5.41,50.40,75,5.37,373.01,75,1.35,350.33,74,6.21,312.46,73,0.58,367.97,71,3.17,23.58,71,3.65,894.84,71,0.56,92.94,71,4.66,44.73,70,1.52,552.59,70,3.74,546.96,70,3.95,187.70,69,2.45,555.55,69,2.42,235.39,69,4.77,991.71,67,0.86,522.58,66,5.05,30.71,65,4.24,771.30,65,0.69,152.74,65,3.74,536.80,65,5.27,68.19,64,2.37,157.64,64,0.10,681.54,63,4.60,67.88,63,2.90,79.89,63,0.29,119.51,63,5.36,92.05,63,0.34,561.18,62,2.68,130.44,62,2.32,74.03,61,0.58,253.57, - /*R1*/ 1479896,3.6720571,74.7815986,71212,6.22601,63.73590,68627,6.13411,149.56320,24060,3.14159,0.00000,21468,2.60177,76.26607,20857,5.24625,11.04570,11405,0.01848,70.84945,7497,0.4236,73.2971,4244,1.4169,85.8273,3927,3.1551,71.8127,3578,2.3116,224.3448,3506,2.5835,138.5175,3229,5.2550,3.9322,3060,0.1532,1.4845,2564,0.9808,148.0787,2429,3.9944,52.6902,1645,2.6535,127.4718,1584,1.4305,78.7138,1508,5.0600,151.0477,1490,2.6756,56.6224,1413,4.5746,202.2534,1403,1.3699,77.7505,1228,1.0470,62.2514,1033,0.2646,131.4039,992,2.172,65.220,862,5.055,351.817,744,3.076,35.164,687,2.499,77.963,647,4.473,70.328,624,0.863,9.561,604,0.907,984.600,575,3.231,447.796,562,2.718,462.023,530,5.917,213.299,528,5.151,2.969,494,0.463,145.631,487,0.706,380.128,460,4.223,12.530,444,2.156,67.668,406,1.230,22.091,381,3.851,3.181,373,5.051,529.691,348,1.749,71.600,339,2.538,18.159,272,3.384,222.860,269,6.241,340.771,259,3.921,59.804,256,2.957,84.343,255,3.504,38.133,238,2.049,269.921,234,0.278,108.461,225,3.910,160.609,222,3.647,137.033,212,0.680,111.430,206,1.534,284.149,201,1.249,69.365,196,4.772,299.126,189,4.413,265.989,163,4.341,33.680,153,5.218,209.367,151,1.990,54.175,137,0.403,195.140,128,2.403,39.618,117,0.396,87.312,107,1.230,225.829,106,0.698,2.448,106,0.171,79.235,105,4.436,305.346,104,2.922,134.585,104,1.816,72.334,104,2.576,191.208,100,4.941,120.358,97,3.81,152.53,95,4.03,82.86,94,5.02,51.21,93,3.09,77.23,86,0.53,145.11,85,0.62,116.43,85,5.72,68.84,85,5.56,344.70,78,1.64,479.29,77,0.08,45.58,76,4.20,73.82,76,3.79,75.74,72,4.31,565.12,72,3.71,408.44,72,3.94,153.50,71,2.38,60.77,65,1.56,106.98,64,1.94,41.64,63,4.19,184.73,62,3.24,422.67,62,4.39,453.42,62,3.90,4.45,60,0.60,74.89,59,1.56,456.39,58,5.33,220.41,57,0.84,146.59,55,1.60,14.98,54,3.73,7.11,53,4.45,426.60,53,5.20,358.93,53,3.50,125.99,52,6.09,404.51,52,1.76,8.08,51,0.37,206.19,51,0.53,490.33,49,5.85,112.91,49,4.26,5.42,49,0.94,99.16,49,3.63,81.00,48,1.97,288.08,46,5.35,152.74,44,3.04,20.61,43,1.26,1514.29,42,0.05,128.96,42,2.51,24.38,41,2.34,277.03,40,5.10,35.42,39,5.49,200.77,39,0.74,347.88,39,4.95,92.94,38,2.06,333.66,38,3.62,173.94,36,3.73,96.87,34,3.68,66.92,33,6.26,1059.38,33,1.38,74.67,32,4.38,221.38,32,0.54,203.74,31,0.80,373.01,31,2.05,230.56,31,2.54,977.49,30,0.71,109.95,30,0.19,387.24,29,5.43,58.11,29,3.11,991.71,28,4.77,415.55,28,0.37,80.20,27,2.15,140.00,27,2.03,536.80,27,1.36,0.96,26,4.53,454.91,26,3.47,144.15,26,5.43,546.96,26,2.57,522.58,25,1.80,143.63,25,5.12,81.37,25,0.55,181.76,25,3.04,14.01,24,3.30,617.81,24,2.20,628.85,24,5.67,443.86,24,5.60,32.20,24,4.95,561.18,24,0.66,46.21,23,3.81,55.14,23,5.85,297.64,22,4.82,135.55,22,4.62,391.17,22,4.59,241.61,22,1.23,41.10,21,5.27,159.12,21,4.19,329.73,21,0.24,465.96,21,0.91,76.48,20,3.16,186.21,20,0.66,66.70,20,1.30,518.65,20,4.91,909.82, - /*R2*/ 22440,0.69953,74.78160,4727,1.6990,63.7359,1682,4.6483,70.8494,1650,3.0966,11.0457,1434,3.5212,149.5632,770,0.000,0.000,500,6.172,76.266,461,0.767,3.932,390,4.496,56.622,390,5.527,85.827,292,0.204,52.690,287,3.534,73.297,273,3.847,138.517,220,1.964,131.404,216,0.848,77.963,205,3.248,78.714,149,4.898,127.472,129,2.081,3.181,117,4.934,447.796,114,4.787,145.631,113,1.014,462.023,104,3.586,71.600,99,6.16,224.34,91,0.68,18.16,89,0.23,202.25,88,2.93,62.25,71,6.10,454.91,64,3.39,1.48,64,3.96,67.67,62,3.30,351.82,59,5.56,9.56,58,4.91,22.09,51,3.87,65.22,49,3.75,269.92,44,5.90,71.81,44,1.93,59.80,42,6.14,284.15,42,2.62,151.05,42,2.09,12.53,37,5.91,984.60,36,5.40,77.75,31,4.59,148.08,31,2.27,195.14,28,4.58,77.23,28,4.91,277.03,27,3.53,209.37,26,0.66,120.36,24,5.87,69.36,23,1.04,84.34,23,1.71,160.61,21,2.20,45.58,20,2.32,2.45,17,4.37,54.17,17,4.78,213.30,17,1.86,340.77,16,0.40,265.99,16,3.65,152.74,15,5.44,408.44,14,3.39,358.93,13,1.53,422.67,13,5.25,137.03,13,1.26,134.59,13,4.43,87.31,13,3.03,92.94,12,1.33,51.21,12,3.24,116.43,12,5.10,191.21,12,4.66,41.64,12,3.73,220.41,12,4.17,60.55,11,2.03,7.11,11,1.08,72.33,10,1.19,344.70,10,0.33,70.33,10,5.97,35.16,10,3.06,2.97,10,0.39,415.55,9,2.44,565.12,9,6.05,146.38,9,5.19,225.83,9,6.01,5.42,9,5.82,153.50,9,5.25,347.88,8,3.91,333.66,8,4.49,70.12,8,3.72,14.98,8,2.27,299.13,8,2.26,206.19,8,5.72,55.14,8,0.90,222.86,7,1.51,991.71,7,1.18,96.87, - /*R3*/ 1164,4.7345,74.7816,212,3.343,63.736,196,2.980,70.849,105,0.958,11.046,73,1.00,149.56,72,0.03,56.62,55,2.59,3.93,36,5.65,77.96,34,3.82,76.27,32,3.60,131.40,30,3.44,85.83,28,0.43,3.18,27,2.55,52.69,25,5.14,78.71,19,5.13,18.16,18,0.00,0.00,16,5.20,71.60,16,0.37,447.80,15,2.97,145.63,15,5.57,462.02,15,3.86,73.30,11,6.03,138.52,11,3.58,224.34,8,2.62,22.09,8,0.30,127.47,8,1.45,1.48,7,5.44,269.92,7,0.01,151.05,6,4.37,284.15,6,4.23,373.01,5,4.16,195.14,5,0.78,62.25,5,1.84,202.25,5,2.78,120.36,4,3.96,9.56,4,1.84,72.33,4,1.86,152.74,4,1.89,209.37,4,1.05,92.94,4,2.00,65.22,4,1.17,153.50,4,3.93,124.29,3,1.54,148.08,3,1.41,351.82,3,2.99,387.24,3,5.84,160.61,3,6.04,12.53,3,0.79,572.23,3,5.65,134.59,3,2.77,213.30,3,1.99,450.98, - /*R4*/ 53,3.01,74.78,10,1.91,56.62,7,5.09,11.05,7,5.43,149.56,4,5.23,131.40,3,1.30,85.83,3,3.14,0.00,3,0.44,63.74,2,6.21,358.93,2,0.92,145.63,2,2.23,440.68}, - + 100000000, //A的倍率 + 20, 539, 836, 980, 1070, 1085, 1088, 1193, 1271, 1307, 1322, 1325, 1325, 2150, 2660, 2936, 3089, 3122, 3122, //位置索引表 + /*L0*/ 548129294, 0.000000000, 0.000000000, 9260408, 0.8910642, 74.7815986, 1504248, 3.6271926, 1.4844727, 365982, 1.899622, 73.297126, 272328, 3.358237, 149.563197, 70328, 5.39254, 63.73590, 68893, 6.09292, 76.26607, 61999, 2.26952, 2.96895, 61951, 2.85099, 11.04570, 26469, 3.14152, 71.81265, 25711, 6.11380, 454.90937, 21079, 4.36059, 148.07872, 17819, 1.74437, 36.64856, 14613, 4.73732, 3.93215, 11163, 5.82682, 224.34480, 10998, 0.48865, 138.51750, 9527, 2.9552, 35.1641, 7546, 5.2363, 109.9457, 4220, 3.2333, 70.8494, 4052, 2.2775, 151.0477, 3490, 5.4831, 146.5943, 3355, 1.0655, 4.4534, 3144, 4.7520, 77.7505, 2927, 4.6290, 9.5612, 2922, 5.3524, 85.8273, 2273, 4.3660, 70.3282, 2149, 0.6075, 38.1330, 2051, 1.5177, 0.1119, 1992, 4.9244, 277.0350, 1667, 3.6274, 380.1278, 1533, 2.5859, 52.6902, 1376, 2.0428, 65.2204, 1372, 4.1964, 111.4302, 1284, 3.1135, 202.2534, 1282, 0.5427, 222.8603, 1244, 0.9161, 2.4477, 1221, 0.1990, 108.4612, 1151, 4.1790, 33.6796, 1150, 0.9334, 3.1814, 1090, 1.7750, 12.5302, 1072, 0.2356, 62.2514, 946, 1.192, 127.472, 708, 5.183, 213.299, 653, 0.966, 78.714, 628, 0.182, 984.600, 607, 5.432, 529.691, 559, 3.358, 0.521, 524, 2.013, 299.126, 483, 2.106, 0.963, 471, 1.407, 184.727, 467, 0.415, 145.110, 434, 5.521, 183.243, 405, 5.987, 8.077, 399, 0.338, 415.552, 396, 5.870, 351.817, 379, 2.350, 56.622, 310, 5.833, 145.631, 300, 5.644, 22.091, 294, 5.839, 39.618, 252, 1.637, 221.376, 249, 4.746, 225.829, 239, 2.350, 137.033, 224, 0.516, 84.343, 223, 2.843, 0.261, 220, 1.922, 67.668, 217, 6.142, 5.938, 216, 4.778, 340.771, 208, 5.580, 68.844, 202, 1.297, 0.048, 199, 0.956, 152.532, 194, 1.888, 456.394, 193, 0.916, 453.425, 187, 1.319, 0.160, 182, 3.536, 79.235, 173, 1.539, 160.609, 172, 5.680, 219.891, 170, 3.677, 5.417, 169, 5.879, 18.159, 165, 1.424, 106.977, 163, 3.050, 112.915, 158, 0.738, 54.175, 147, 1.263, 59.804, 143, 1.300, 35.425, 139, 5.386, 32.195, 139, 4.260, 909.819, 124, 1.374, 7.114, 110, 2.027, 554.070, 109, 5.706, 77.963, 104, 5.028, 0.751, 104, 1.458, 24.379, 103, 0.681, 14.978, 95, 0.91, 74.67, 94, 3.94, 74.89, 89, 0.52, 181.76, 86, 1.71, 82.86, 85, 5.89, 256.54, 85, 0.37, 186.21, 83, 2.93, 265.99, 80, 3.01, 297.64, 80, 1.01, 6.59, 77, 4.59, 6.22, 75, 4.63, 69.36, 74, 6.24, 447.80, 73, 4.28, 87.31, 73, 2.85, 462.02, 70, 1.19, 66.70, 70, 0.87, 305.35, 70, 3.76, 131.40, 69, 4.44, 39.36, 62, 0.17, 479.29, 62, 3.19, 77.23, 58, 1.59, 60.77, 58, 2.67, 381.61, 58, 3.67, 51.21, 57, 1.63, 143.63, 55, 1.50, 71.60, 54, 5.52, 128.96, 50, 1.12, 20.61, 46, 4.36, 75.74, 45, 0.48, 14.01, 42, 3.82, 81.00, 40, 4.57, 46.21, 40, 0.70, 218.41, 40, 6.06, 293.19, 39, 5.59, 99.16, 39, 3.44, 153.50, 38, 6.07, 211.81, 36, 1.67, 258.02, 35, 1.97, 835.04, 35, 3.72, 692.59, 35, 1.03, 203.74, 35, 0.39, 1.37, 34, 1.08, 191.21, 34, 2.94, 140.00, 34, 6.06, 275.55, 33, 4.22, 200.77, 32, 5.51, 72.33, 30, 1.89, 269.92, 30, 3.87, 259.51, 29, 0.17, 528.21, 28, 2.18, 125.99, 27, 2.10, 209.37, 27, 4.75, 41.10, 27, 6.28, 28.57, 27, 4.48, 373.91, 26, 4.77, 284.15, 26, 5.81, 75.30, 26, 6.20, 134.59, 26, 3.63, 490.33, 26, 0.54, 41.64, 26, 0.75, 278.52, 25, 5.43, 116.43, 25, 4.71, 378.64, 24, 3.19, 81.37, 23, 3.58, 1.60, 23, 0.93, 288.08, 23, 0.53, 1514.29, 22, 1.84, 617.81, 22, 4.59, 404.51, 22, 5.87, 45.58, 22, 0.06, 173.94, 21, 2.74, 28.31, 21, 1.98, 114.40, 21, 5.62, 55.66, 21, 2.64, 105.49, 21, 0.89, 255.06, 20, 0.10, 195.14, 20, 3.78, 135.55, 19, 1.49, 0.89, 19, 6.22, 329.84, 19, 2.84, 159.12, 19, 0.51, 67.36, 19, 2.30, 5.11, + /*L1*/ 7502543122, 0.0000000000, 0.0000000000, 154458, 5.242017, 74.781599, 24456, 1.71256, 1.48447, 9258, 0.4284, 11.0457, 8266, 1.5022, 63.7359, 7842, 1.3198, 149.5632, 3899, 0.4648, 3.9322, 2284, 4.1737, 76.2661, 1927, 0.5301, 2.9689, 1233, 1.5863, 70.8494, 791, 5.436, 3.181, 767, 1.996, 73.297, 482, 2.984, 85.827, 450, 4.138, 138.517, 446, 3.723, 224.345, 427, 4.731, 71.813, 354, 2.583, 148.079, 348, 2.454, 9.561, 317, 5.579, 52.690, 206, 2.363, 2.448, 189, 4.202, 56.622, 184, 0.284, 151.048, 180, 5.684, 12.530, 171, 3.001, 78.714, 158, 2.909, 0.963, 155, 5.591, 4.453, 154, 4.652, 35.164, 152, 2.942, 77.751, 143, 2.590, 62.251, 121, 4.148, 127.472, 116, 3.732, 65.220, 102, 4.188, 145.631, 102, 6.034, 0.112, 88, 3.99, 18.16, 88, 6.16, 202.25, 81, 2.64, 22.09, 72, 6.05, 70.33, 69, 4.05, 77.96, 59, 3.70, 67.67, 47, 3.54, 351.82, 44, 5.91, 7.11, 43, 5.72, 5.42, 39, 4.92, 222.86, 36, 5.90, 33.68, 36, 3.29, 8.08, 36, 3.33, 71.60, 35, 5.08, 38.13, 31, 5.62, 984.60, 31, 5.50, 59.80, 31, 5.46, 160.61, 30, 1.66, 447.80, 29, 1.15, 462.02, 29, 4.52, 84.34, 27, 5.54, 131.40, 27, 6.15, 299.13, 26, 4.99, 137.03, 25, 5.74, 380.13, 23, 2.25, 111.43, 22, 0.93, 213.30, 22, 2.81, 69.36, 19, 1.86, 108.46, 19, 3.56, 54.17, 16, 3.10, 14.98, 14, 1.54, 340.77, 14, 2.69, 225.83, 14, 4.38, 5.94, 13, 1.95, 87.31, 13, 5.88, 6.22, 12, 0.33, 51.21, 12, 3.60, 269.92, 12, 5.34, 152.53, 12, 0.33, 35.42, 12, 1.75, 79.24, 11, 3.38, 72.33, 11, 1.69, 45.58, 11, 5.97, 265.99, 11, 3.07, 284.15, 10, 4.17, 24.38, 10, 3.52, 529.69, 10, 4.65, 77.23, 10, 5.50, 153.50, 10, 1.01, 68.84, 10, 0.50, 209.37, 10, 5.60, 82.86, 9, 3.54, 41.64, 9, 3.93, 39.62, 9, 4.49, 20.61, 9, 1.97, 195.14, 9, 3.89, 60.77, 8, 4.41, 134.59, 8, 2.44, 146.59, 8, 5.73, 184.73, 8, 0.17, 120.36, 8, 5.36, 75.74, 8, 5.77, 73.82, 8, 4.44, 14.01, 7, 2.19, 145.11, 7, 4.12, 191.21, 7, 2.13, 116.43, + /*L2*/ 53033, 0.00000, 0.00000, 2358, 2.2601, 74.7816, 769, 4.526, 11.046, 552, 3.258, 63.736, 542, 2.276, 3.932, 529, 4.923, 1.484, 258, 3.691, 3.181, 239, 5.858, 149.563, 182, 6.218, 70.849, 54, 1.44, 76.27, 49, 6.03, 56.62, 45, 3.91, 2.45, 45, 0.81, 85.83, 38, 1.78, 52.69, 37, 4.46, 2.97, 33, 0.86, 9.56, 29, 5.10, 73.30, 24, 2.11, 18.16, 22, 5.99, 138.52, 22, 4.82, 78.71, 21, 2.40, 77.96, 21, 2.17, 224.34, 17, 2.54, 145.63, 17, 3.47, 12.53, 12, 0.02, 22.09, 11, 0.08, 127.47, 10, 5.16, 71.60, 10, 4.46, 62.25, 9, 4.26, 7.11, 8, 5.50, 67.67, 7, 1.25, 5.42, 6, 3.36, 447.80, 6, 5.45, 65.22, 6, 4.52, 151.05, 6, 5.73, 462.02, 6, 5.61, 148.08, 6, 1.83, 202.25, 5, 1.06, 131.40, 5, 3.52, 59.80, 5, 3.36, 4.45, 5, 1.20, 71.81, 4, 0.68, 77.75, 4, 1.76, 351.82, 4, 4.57, 454.91, 3, 3.84, 45.58, 3, 3.32, 160.61, 3, 6.15, 77.23, 3, 5.36, 269.92, + /*L3*/ 121, 0.024, 74.782, 68, 4.12, 3.93, 53, 2.39, 11.05, 46, 0.00, 0.00, 45, 2.04, 3.18, 44, 2.96, 1.48, 25, 4.89, 63.74, 21, 4.55, 70.85, 20, 2.31, 149.56, 9, 1.58, 56.62, 4, 0.23, 18.16, 4, 5.39, 76.27, 4, 0.95, 77.96, 3, 4.98, 85.83, 3, 4.13, 52.69, 3, 0.37, 78.71, 2, 0.86, 145.63, 2, 5.66, 9.56, 2, 2.68, 7.11, 2, 0.49, 71.60, 1, 5.20, 73.30, 1, 4.87, 224.34, 1, 1.25, 12.53, 1, 3.93, 22.09, 1, 2.19, 127.47, 1, 3.98, 462.02, 1, 5.06, 447.80, 1, 1.06, 138.52, 1, 0.35, 5.63, 1, 2.94, 131.40, + /*L4*/ 114, 3.142, 0.000, 6, 4.58, 74.78, 3, 0.35, 11.05, 1, 3.42, 56.62, 1, 4.66, 18.16, + /*L5*/ 1, 3.14, 0.00, + /*B0*/ 1346278, 2.6187781, 74.7815986, 62341, 5.08111, 149.56320, 61601, 3.14159, 0.00000, 9964, 1.6160, 76.2661, 9926, 0.5763, 73.2971, 3259, 1.2612, 224.3448, 2972, 2.2437, 1.4845, 2010, 6.0555, 148.0787, 1522, 0.2796, 63.7359, 924, 4.038, 151.048, 761, 6.140, 71.813, 522, 3.321, 138.517, 463, 0.743, 85.827, 437, 3.381, 529.691, 435, 0.341, 77.751, 431, 3.554, 213.299, 420, 5.213, 11.046, 245, 0.788, 2.969, 233, 2.257, 222.860, 216, 1.591, 38.133, 180, 3.725, 299.126, 175, 1.236, 146.594, 174, 1.937, 380.128, 160, 5.336, 111.430, 144, 5.962, 35.164, 116, 5.739, 70.849, 106, 0.941, 70.328, 102, 2.619, 78.714, 86, 0.70, 39.62, 73, 0.21, 225.83, 71, 0.83, 109.95, 58, 2.67, 108.46, 54, 3.35, 184.73, 44, 2.74, 152.53, 41, 3.22, 160.61, + /*B1*/ 206366, 4.123943, 74.781599, 8563, 0.3382, 149.5632, 1726, 2.1219, 73.2971, 1374, 0.0000, 0.0000, 1369, 3.0686, 76.2661, 451, 3.777, 1.484, 400, 2.848, 224.345, 307, 1.255, 148.079, 154, 3.786, 63.736, 112, 5.573, 151.048, 111, 5.329, 138.517, 83, 3.59, 71.81, 56, 3.40, 85.83, 54, 1.70, 77.75, 42, 1.21, 11.05, 41, 4.45, 78.71, 32, 3.77, 222.86, 30, 2.56, 2.97, 27, 5.34, 213.30, 26, 0.42, 380.13, 23, 2.49, 146.59, 20, 3.70, 70.85, 20, 5.93, 529.69, 20, 5.37, 299.13, 19, 3.83, 38.13, 19, 1.09, 111.43, + /*B2*/ 9212, 5.8004, 74.7816, 557, 0.000, 0.000, 286, 2.177, 149.563, 95, 3.84, 73.30, 45, 4.88, 76.27, 20, 5.46, 1.48, 15, 0.88, 138.52, 14, 2.85, 148.08, 14, 5.07, 63.74, 10, 5.00, 224.34, 8, 6.27, 78.71, 5, 5.16, 71.81, + /*B3*/ 268, 1.251, 74.782, 11, 3.14, 0.00, 6, 4.01, 149.56, 3, 5.78, 73.30, 2, 1.06, 63.74, + /*B4*/ 6, 2.85, 74.78, + /*R0*/ 1921264848, 0.0000000000, 0.0000000000, 88784984, 5.60377527, 74.78159857, 3440836, 0.3283610, 73.2971259, 2055653, 1.7829517, 149.5631971, 649322, 4.522473, 76.266071, 602248, 3.860038, 63.735898, 496404, 1.401399, 454.909367, 338526, 1.580027, 138.517497, 243508, 1.570866, 71.812653, 190522, 1.998094, 1.484473, 161858, 2.791379, 148.078724, 143706, 1.383686, 11.045700, 93192, 0.17437, 36.64856, 89806, 3.66105, 109.94569, 71424, 4.24509, 224.34480, 46677, 1.39977, 35.16409, 39026, 3.36235, 277.03499, 39010, 1.66971, 70.84945, 36755, 3.88649, 146.59425, 30349, 0.70100, 151.04767, 29156, 3.18056, 77.75054, 25786, 3.78538, 85.82730, 25620, 5.25656, 380.12777, 22637, 0.72519, 529.69097, 20473, 2.79640, 70.32818, 20472, 1.55589, 202.25340, 17901, 0.55455, 2.96895, 15503, 5.35405, 38.13304, 14702, 4.90434, 108.46122, 12897, 2.62154, 111.43016, 12328, 5.96039, 127.47180, 11959, 1.75044, 984.60033, 11853, 0.99343, 52.69020, 11696, 3.29826, 3.93215, 11495, 0.43774, 65.22037, 10793, 1.42105, 213.29910, 9111, 4.9964, 62.2514, 8421, 5.2535, 222.8603, 8402, 5.0388, 415.5525, 7449, 0.7949, 351.8166, 7329, 3.9728, 183.2428, 6046, 5.6796, 78.7138, 5524, 3.1150, 9.5612, 5445, 5.1058, 145.1098, 5238, 2.6296, 33.6796, 4079, 3.2206, 340.7709, 3919, 4.2502, 39.6175, 3802, 6.1099, 184.7273, 3781, 3.4584, 456.3938, 3687, 2.4872, 453.4249, 3102, 4.1403, 219.8914, 2963, 0.8298, 56.6224, 2942, 0.4239, 299.1264, 2940, 2.1464, 137.0330, 2938, 3.6766, 140.0020, 2865, 0.3100, 12.5302, 2538, 4.8546, 131.4039, 2364, 0.4425, 554.0700, 2183, 2.9404, 305.3462, 1979, 6.1284, 106.9767, 1963, 0.0411, 221.3759, 1963, 5.2434, 84.3428, 1849, 2.9111, 909.8187, 1830, 4.0111, 68.8437, 1656, 1.9643, 79.2350, 1643, 0.3556, 67.6681, 1632, 4.2306, 22.0914, 1585, 3.1627, 225.8293, 1563, 1.4792, 112.9146, 1507, 5.2419, 181.7583, 1482, 5.6620, 152.5321, 1477, 4.3221, 256.5399, 1439, 1.5305, 447.7958, 1409, 4.4192, 462.0229, 1404, 5.6356, 4.4534, 1401, 1.3908, 265.9893, 1250, 6.2448, 160.6089, 1249, 5.4403, 54.1747, 1248, 4.8898, 479.2884, 1228, 5.9770, 59.8037, 1197, 2.5219, 145.6310, 1091, 4.1539, 77.9630, 1072, 1.7429, 528.2065, 906, 5.620, 74.670, 900, 2.373, 74.893, 845, 0.129, 82.858, 759, 2.137, 692.587, 719, 4.000, 128.956, 710, 5.416, 218.407, 710, 4.220, 381.612, 710, 4.490, 293.189, 705, 0.455, 835.037, 700, 0.040, 143.625, 690, 3.081, 69.365, 652, 4.423, 18.159, 642, 2.711, 87.312, 630, 4.461, 275.551, 598, 0.358, 269.921, 594, 3.838, 32.195, 594, 4.501, 8.077, 588, 5.083, 186.212, 576, 5.896, 66.705, 575, 5.579, 2.448, 570, 1.639, 77.229, 557, 1.072, 1059.382, 549, 5.628, 3.181, 545, 5.694, 203.738, 542, 5.395, 278.519, 540, 6.208, 71.600, 516, 3.233, 284.149, 503, 5.839, 191.208, 496, 2.651, 200.769, 488, 0.064, 60.767, 477, 2.894, 39.357, 464, 2.354, 211.815, 464, 1.434, 297.642, 455, 2.593, 490.334, 455, 4.084, 99.161, 449, 0.280, 617.806, 437, 0.528, 209.367, 436, 2.082, 51.206, 436, 2.101, 1514.291, 436, 2.794, 75.745, 429, 3.080, 41.102, 420, 2.254, 81.001, 414, 0.090, 258.024, 410, 3.050, 404.507, 405, 6.123, 24.379, 387, 0.686, 230.565, 380, 0.058, 378.643, 368, 0.712, 125.987, 365, 5.595, 255.055, 359, 0.009, 35.425, 359, 0.352, 426.598, 358, 4.714, 173.942, 354, 4.657, 329.837, 326, 4.720, 134.585, 324, 4.829, 195.140, 320, 5.486, 14.978, 308, 3.924, 116.426, 306, 3.761, 344.703, 305, 2.555, 6208.294, 302, 0.132, 565.116, 296, 4.211, 1364.728, 293, 3.995, 72.334, 287, 1.850, 153.495, 262, 3.837, 831.105, 256, 1.167, 177.874, 250, 4.242, 75.303, 248, 1.063, 105.492, 245, 5.949, 20.607, 241, 1.605, 81.374, 234, 2.971, 46.210, 234, 4.481, 628.852, 225, 0.407, 114.399, 220, 0.196, 180.274, 220, 2.961, 120.358, 219, 0.248, 294.673, 217, 3.429, 241.610, 211, 4.931, 103.093, 205, 2.304, 259.509, 194, 6.117, 414.068, 192, 5.767, 291.704, 189, 2.236, 5.417, 188, 2.045, 408.439, 187, 3.035, 135.549, 182, 0.784, 417.037, 182, 0.707, 391.173, 179, 4.824, 366.486, 178, 3.980, 10138.504, 176, 1.960, 756.323, 176, 5.508, 7.114, 172, 5.217, 41.644, 171, 2.309, 98.900, 170, 4.950, 206.186, 170, 4.510, 288.081, 169, 4.043, 55.659, 168, 5.258, 518.645, 167, 4.922, 422.666, 164, 5.225, 67.359, 162, 3.273, 443.864, 162, 4.995, 73.818, 161, 3.823, 451.940, 157, 0.663, 220.413, 155, 4.320, 760.256, 154, 4.278, 45.577, 154, 4.707, 543.024, 152, 4.647, 155.783, 146, 2.657, 465.955, 143, 2.078, 457.878, 142, 1.270, 159.124, 134, 5.309, 14.015, 133, 2.889, 373.908, 129, 0.363, 96.873, 127, 0.424, 331.322, 125, 4.305, 339.286, 123, 2.383, 141.486, 117, 3.950, 74.260, 117, 1.837, 1289.947, 116, 4.435, 5.938, 116, 2.512, 296.157, 115, 6.249, 767.369, 113, 4.654, 80.198, 113, 0.831, 100.384, 113, 0.081, 558.002, 112, 1.212, 329.725, 111, 0.750, 80.719, 111, 0.387, 216.922, 108, 3.773, 142.450, 107, 2.394, 347.884, 107, 1.821, 306.831, 106, 0.816, 1087.693, 105, 5.945, 328.353, 104, 2.994, 6.220, 103, 0.698, 358.930, 101, 1.057, 92.308, 99, 4.33, 74.52, 98, 3.73, 75.04, 97, 0.69, 977.49, 96, 5.55, 969.62, 95, 0.80, 342.26, 94, 4.54, 28.57, 94, 4.99, 403.13, 91, 5.17, 144.15, 91, 0.22, 333.66, 90, 0.37, 0.96, 90, 3.80, 986.08, 89, 2.19, 74.83, 89, 5.88, 74.73, 89, 4.74, 604.47, 89, 4.44, 154.02, 87, 5.62, 300.61, 86, 2.83, 983.12, 85, 5.80, 6.59, 85, 1.26, 142.14, 84, 1.84, 227.31, 83, 1.88, 387.24, 83, 2.21, 74.94, 83, 5.86, 74.62, 80, 2.98, 526.72, 79, 5.67, 267.47, 78, 2.73, 110.21, 76, 2.78, 88.11, 76, 4.66, 101.87, 76, 5.41, 50.40, 75, 5.37, 373.01, 75, 1.35, 350.33, 74, 6.21, 312.46, 73, 0.58, 367.97, 71, 3.17, 23.58, 71, 3.65, 894.84, 71, 0.56, 92.94, 71, 4.66, 44.73, 70, 1.52, 552.59, 70, 3.74, 546.96, 70, 3.95, 187.70, 69, 2.45, 555.55, 69, 2.42, 235.39, 69, 4.77, 991.71, 67, 0.86, 522.58, 66, 5.05, 30.71, 65, 4.24, 771.30, 65, 0.69, 152.74, 65, 3.74, 536.80, 65, 5.27, 68.19, 64, 2.37, 157.64, 64, 0.10, 681.54, 63, 4.60, 67.88, 63, 2.90, 79.89, 63, 0.29, 119.51, 63, 5.36, 92.05, 63, 0.34, 561.18, 62, 2.68, 130.44, 62, 2.32, 74.03, 61, 0.58, 253.57, + /*R1*/ 1479896, 3.6720571, 74.7815986, 71212, 6.22601, 63.73590, 68627, 6.13411, 149.56320, 24060, 3.14159, 0.00000, 21468, 2.60177, 76.26607, 20857, 5.24625, 11.04570, 11405, 0.01848, 70.84945, 7497, 0.4236, 73.2971, 4244, 1.4169, 85.8273, 3927, 3.1551, 71.8127, 3578, 2.3116, 224.3448, 3506, 2.5835, 138.5175, 3229, 5.2550, 3.9322, 3060, 0.1532, 1.4845, 2564, 0.9808, 148.0787, 2429, 3.9944, 52.6902, 1645, 2.6535, 127.4718, 1584, 1.4305, 78.7138, 1508, 5.0600, 151.0477, 1490, 2.6756, 56.6224, 1413, 4.5746, 202.2534, 1403, 1.3699, 77.7505, 1228, 1.0470, 62.2514, 1033, 0.2646, 131.4039, 992, 2.172, 65.220, 862, 5.055, 351.817, 744, 3.076, 35.164, 687, 2.499, 77.963, 647, 4.473, 70.328, 624, 0.863, 9.561, 604, 0.907, 984.600, 575, 3.231, 447.796, 562, 2.718, 462.023, 530, 5.917, 213.299, 528, 5.151, 2.969, 494, 0.463, 145.631, 487, 0.706, 380.128, 460, 4.223, 12.530, 444, 2.156, 67.668, 406, 1.230, 22.091, 381, 3.851, 3.181, 373, 5.051, 529.691, 348, 1.749, 71.600, 339, 2.538, 18.159, 272, 3.384, 222.860, 269, 6.241, 340.771, 259, 3.921, 59.804, 256, 2.957, 84.343, 255, 3.504, 38.133, 238, 2.049, 269.921, 234, 0.278, 108.461, 225, 3.910, 160.609, 222, 3.647, 137.033, 212, 0.680, 111.430, 206, 1.534, 284.149, 201, 1.249, 69.365, 196, 4.772, 299.126, 189, 4.413, 265.989, 163, 4.341, 33.680, 153, 5.218, 209.367, 151, 1.990, 54.175, 137, 0.403, 195.140, 128, 2.403, 39.618, 117, 0.396, 87.312, 107, 1.230, 225.829, 106, 0.698, 2.448, 106, 0.171, 79.235, 105, 4.436, 305.346, 104, 2.922, 134.585, 104, 1.816, 72.334, 104, 2.576, 191.208, 100, 4.941, 120.358, 97, 3.81, 152.53, 95, 4.03, 82.86, 94, 5.02, 51.21, 93, 3.09, 77.23, 86, 0.53, 145.11, 85, 0.62, 116.43, 85, 5.72, 68.84, 85, 5.56, 344.70, 78, 1.64, 479.29, 77, 0.08, 45.58, 76, 4.20, 73.82, 76, 3.79, 75.74, 72, 4.31, 565.12, 72, 3.71, 408.44, 72, 3.94, 153.50, 71, 2.38, 60.77, 65, 1.56, 106.98, 64, 1.94, 41.64, 63, 4.19, 184.73, 62, 3.24, 422.67, 62, 4.39, 453.42, 62, 3.90, 4.45, 60, 0.60, 74.89, 59, 1.56, 456.39, 58, 5.33, 220.41, 57, 0.84, 146.59, 55, 1.60, 14.98, 54, 3.73, 7.11, 53, 4.45, 426.60, 53, 5.20, 358.93, 53, 3.50, 125.99, 52, 6.09, 404.51, 52, 1.76, 8.08, 51, 0.37, 206.19, 51, 0.53, 490.33, 49, 5.85, 112.91, 49, 4.26, 5.42, 49, 0.94, 99.16, 49, 3.63, 81.00, 48, 1.97, 288.08, 46, 5.35, 152.74, 44, 3.04, 20.61, 43, 1.26, 1514.29, 42, 0.05, 128.96, 42, 2.51, 24.38, 41, 2.34, 277.03, 40, 5.10, 35.42, 39, 5.49, 200.77, 39, 0.74, 347.88, 39, 4.95, 92.94, 38, 2.06, 333.66, 38, 3.62, 173.94, 36, 3.73, 96.87, 34, 3.68, 66.92, 33, 6.26, 1059.38, 33, 1.38, 74.67, 32, 4.38, 221.38, 32, 0.54, 203.74, 31, 0.80, 373.01, 31, 2.05, 230.56, 31, 2.54, 977.49, 30, 0.71, 109.95, 30, 0.19, 387.24, 29, 5.43, 58.11, 29, 3.11, 991.71, 28, 4.77, 415.55, 28, 0.37, 80.20, 27, 2.15, 140.00, 27, 2.03, 536.80, 27, 1.36, 0.96, 26, 4.53, 454.91, 26, 3.47, 144.15, 26, 5.43, 546.96, 26, 2.57, 522.58, 25, 1.80, 143.63, 25, 5.12, 81.37, 25, 0.55, 181.76, 25, 3.04, 14.01, 24, 3.30, 617.81, 24, 2.20, 628.85, 24, 5.67, 443.86, 24, 5.60, 32.20, 24, 4.95, 561.18, 24, 0.66, 46.21, 23, 3.81, 55.14, 23, 5.85, 297.64, 22, 4.82, 135.55, 22, 4.62, 391.17, 22, 4.59, 241.61, 22, 1.23, 41.10, 21, 5.27, 159.12, 21, 4.19, 329.73, 21, 0.24, 465.96, 21, 0.91, 76.48, 20, 3.16, 186.21, 20, 0.66, 66.70, 20, 1.30, 518.65, 20, 4.91, 909.82, + /*R2*/ 22440, 0.69953, 74.78160, 4727, 1.6990, 63.7359, 1682, 4.6483, 70.8494, 1650, 3.0966, 11.0457, 1434, 3.5212, 149.5632, 770, 0.000, 0.000, 500, 6.172, 76.266, 461, 0.767, 3.932, 390, 4.496, 56.622, 390, 5.527, 85.827, 292, 0.204, 52.690, 287, 3.534, 73.297, 273, 3.847, 138.517, 220, 1.964, 131.404, 216, 0.848, 77.963, 205, 3.248, 78.714, 149, 4.898, 127.472, 129, 2.081, 3.181, 117, 4.934, 447.796, 114, 4.787, 145.631, 113, 1.014, 462.023, 104, 3.586, 71.600, 99, 6.16, 224.34, 91, 0.68, 18.16, 89, 0.23, 202.25, 88, 2.93, 62.25, 71, 6.10, 454.91, 64, 3.39, 1.48, 64, 3.96, 67.67, 62, 3.30, 351.82, 59, 5.56, 9.56, 58, 4.91, 22.09, 51, 3.87, 65.22, 49, 3.75, 269.92, 44, 5.90, 71.81, 44, 1.93, 59.80, 42, 6.14, 284.15, 42, 2.62, 151.05, 42, 2.09, 12.53, 37, 5.91, 984.60, 36, 5.40, 77.75, 31, 4.59, 148.08, 31, 2.27, 195.14, 28, 4.58, 77.23, 28, 4.91, 277.03, 27, 3.53, 209.37, 26, 0.66, 120.36, 24, 5.87, 69.36, 23, 1.04, 84.34, 23, 1.71, 160.61, 21, 2.20, 45.58, 20, 2.32, 2.45, 17, 4.37, 54.17, 17, 4.78, 213.30, 17, 1.86, 340.77, 16, 0.40, 265.99, 16, 3.65, 152.74, 15, 5.44, 408.44, 14, 3.39, 358.93, 13, 1.53, 422.67, 13, 5.25, 137.03, 13, 1.26, 134.59, 13, 4.43, 87.31, 13, 3.03, 92.94, 12, 1.33, 51.21, 12, 3.24, 116.43, 12, 5.10, 191.21, 12, 4.66, 41.64, 12, 3.73, 220.41, 12, 4.17, 60.55, 11, 2.03, 7.11, 11, 1.08, 72.33, 10, 1.19, 344.70, 10, 0.33, 70.33, 10, 5.97, 35.16, 10, 3.06, 2.97, 10, 0.39, 415.55, 9, 2.44, 565.12, 9, 6.05, 146.38, 9, 5.19, 225.83, 9, 6.01, 5.42, 9, 5.82, 153.50, 9, 5.25, 347.88, 8, 3.91, 333.66, 8, 4.49, 70.12, 8, 3.72, 14.98, 8, 2.27, 299.13, 8, 2.26, 206.19, 8, 5.72, 55.14, 8, 0.90, 222.86, 7, 1.51, 991.71, 7, 1.18, 96.87, + /*R3*/ 1164, 4.7345, 74.7816, 212, 3.343, 63.736, 196, 2.980, 70.849, 105, 0.958, 11.046, 73, 1.00, 149.56, 72, 0.03, 56.62, 55, 2.59, 3.93, 36, 5.65, 77.96, 34, 3.82, 76.27, 32, 3.60, 131.40, 30, 3.44, 85.83, 28, 0.43, 3.18, 27, 2.55, 52.69, 25, 5.14, 78.71, 19, 5.13, 18.16, 18, 0.00, 0.00, 16, 5.20, 71.60, 16, 0.37, 447.80, 15, 2.97, 145.63, 15, 5.57, 462.02, 15, 3.86, 73.30, 11, 6.03, 138.52, 11, 3.58, 224.34, 8, 2.62, 22.09, 8, 0.30, 127.47, 8, 1.45, 1.48, 7, 5.44, 269.92, 7, 0.01, 151.05, 6, 4.37, 284.15, 6, 4.23, 373.01, 5, 4.16, 195.14, 5, 0.78, 62.25, 5, 1.84, 202.25, 5, 2.78, 120.36, 4, 3.96, 9.56, 4, 1.84, 72.33, 4, 1.86, 152.74, 4, 1.89, 209.37, 4, 1.05, 92.94, 4, 2.00, 65.22, 4, 1.17, 153.50, 4, 3.93, 124.29, 3, 1.54, 148.08, 3, 1.41, 351.82, 3, 2.99, 387.24, 3, 5.84, 160.61, 3, 6.04, 12.53, 3, 0.79, 572.23, 3, 5.65, 134.59, 3, 2.77, 213.30, 3, 1.99, 450.98, + /*R4*/ 53, 3.01, 74.78, 10, 1.91, 56.62, 7, 5.09, 11.05, 7, 5.43, 149.56, 4, 5.23, 131.40, 3, 1.30, 85.83, 3, 3.14, 0.00, 3, 0.44, 63.74, 2, 6.21, 358.93, 2, 0.92, 145.63, 2, 2.23, 440.68}, + //Dnep精度:J2000+-4千年 黄经1角秒 黄纬1角秒 距离40AU/10^6 []float64{ - 100000000,//A的倍率 - 20,188,260,281,293,299,302,359,404,419,422,425,425,638,701,743,746,746,746,//位置索引表 - /*L0*/ 531188633,0.000000000,0.000000000,1798476,2.9010127,38.1330356,1019728,0.4858092,1.4844727,124532,4.830081,36.648563,42064,5.41055,2.96895,37715,6.09222,35.16409,33785,1.24489,76.26607,16483,0.00008,491.55793,9199,4.9375,39.6175,8994,0.2746,175.1661,4216,1.9871,73.2971,3365,1.0359,33.6796,2285,4.2061,4.4534,1434,2.7834,74.7816,900,2.076,109.946,745,3.190,71.813,506,5.748,114.399,400,0.350,1021.249,345,3.462,41.102,340,3.304,77.751,323,2.248,32.195,306,0.497,0.521,287,4.505,0.048,282,2.246,146.594,267,4.889,0.963,252,5.782,388.465,245,1.247,9.561,233,2.505,137.033,227,1.797,453.425,170,3.324,108.461,151,2.192,33.940,150,2.997,5.938,148,0.859,111.430,119,3.677,2.448,109,2.416,183.243,103,0.041,0.261,103,4.404,70.328,102,5.705,0.112,98,2.81,8.08,86,4.23,490.07,82,5.20,493.04,78,4.16,4.19,74,1.33,529.69,72,5.30,350.33,64,3.55,168.05,63,0.15,182.28,58,3.50,145.11,48,1.11,112.91,48,0.13,484.44,48,2.58,219.89,47,4.57,46.21,47,4.50,173.68,47,3.02,498.67,45,5.47,176.65,39,1.67,213.30,39,2.39,2.92, - /*L1*/ 3837687717,0.0000000000,0.0000000000,16604,4.86319,1.48447,15807,2.27923,38.13304,3335,3.6820,76.2661,1306,3.6732,2.9689,605,1.505,35.164,179,3.453,39.618,107,2.451,4.453,106,2.755,33.680,73,5.49,36.65,57,1.86,114.40,57,5.22,0.52,35,4.52,74.78,32,5.90,77.75,30,3.67,388.47,29,5.17,9.56,29,5.17,2.45,26,5.25,168.05,25,4.73,182.28,20,5.79,1021.25,19,1.83,484.44,19,1.32,498.67,15,3.99,32.20,15,4.95,137.03, - /*L2*/ 53893,0.00000,0.00000,296,1.855,1.484,281,1.191,38.133,270,5.721,76.266,23,1.21,2.97,9,4.43,35.16,7,0.54,2.45, - /*L3*/ 31,0.00,0.00,15,1.35,76.27,12,6.04,1.48,12,6.11,38.13, - /*L4*/ 114,3.142,0.000,1,3.18,76.27, - /*L5*/ 1,3.14,0.00, - /*B0*/ 3088623,1.4410437,38.1330356,27780,5.91272,76.26607,27624,0.00000,0.00000,15448,3.50877,39.61751,15355,2.52124,36.64856,2000,1.5100,74.7816,1968,4.3778,1.4845,1015,3.2156,35.1641,606,2.802,73.297,595,2.129,41.102,589,3.187,2.969,402,4.169,114.399,280,1.682,77.751,262,3.767,213.299,254,3.271,453.425,206,4.257,529.691,140,3.530,137.033,99,4.17,33.68,68,4.67,71.81, - /*B1*/ 227279,3.807931,38.133036,1803,1.9758,76.2661,1433,3.1416,0.0000,1386,4.8256,36.6486,1073,6.0805,39.6175,148,3.858,74.782,136,0.478,1.484,70,6.19,35.16,52,5.05,73.30,43,0.31,114.40,37,4.89,41.10,37,5.76,2.97,26,5.22,213.30,19,0.90,453.42,17,4.26,77.75, - /*B2*/ 9691,5.5712,38.1330,79,3.63,76.27,72,0.45,36.65,59,3.14,0.00,30,1.61,39.62, - /*B3*/ 273,1.017,38.133, - /*B4*/ 6,2.67,38.13, - /*B5*/ - /*R0*/ 3007013206,0.0000000000,0.0000000000,27062259,1.32999459,38.13303564,1691764,3.2518614,36.6485629,807831,5.185928,1.484473,537761,4.521139,35.164090,495726,1.571057,491.557929,274572,1.845523,175.166060,135134,3.372206,39.617508,121802,5.797544,76.266071,100895,0.377027,73.297126,69792,3.79617,2.96895,46688,5.74938,33.67962,24594,0.50802,109.94569,16939,1.59422,71.81265,14230,1.07786,74.78160,12012,1.92062,1021.24889,8395,0.6782,146.5943,7572,1.0715,388.4652,5721,2.5906,4.4534,4840,1.9069,41.1020,4483,2.9057,529.6910,4421,1.7499,108.4612,4354,0.6799,32.1951,4270,3.4134,453.4249,3381,0.8481,183.2428,2881,1.9860,137.0330,2879,3.6742,350.3321,2636,3.0976,213.2991,2530,5.7984,490.0735,2523,0.4863,493.0424,2306,2.8096,70.3282,2087,0.6186,33.9402,1977,5.1170,168.0525,1905,1.7219,182.2796,1654,1.9278,145.1098,1499,1.0162,219.8914,1435,1.7001,484.4444,1403,6.0766,173.6816,1403,4.5891,498.6715,1399,0.7622,176.6505,1228,1.5988,77.7505,1129,5.9666,9.5612,835,3.971,114.399,811,3.003,46.210,732,2.104,181.758,705,1.187,256.540,616,2.979,106.977,530,4.241,111.430,502,1.387,5.938,437,2.270,1550.940,422,5.532,525.498,421,1.891,30.711,400,1.256,8.077,382,3.300,983.116,355,2.278,218.407,345,1.359,293.189,333,5.751,39.096,321,1.506,454.909,314,3.959,381.352,309,2.855,72.073,307,0.320,601.764,306,2.725,6244.943,294,4.891,528.206,292,4.024,68.844,281,4.542,44.725,280,1.541,98.900,268,5.133,112.915,251,3.540,312.199,248,3.411,37.612,246,1.015,141.226,240,3.164,143.625, - /*R1*/ 236339,0.704980,38.133036,13220,3.32015,1.48447,8622,6.2163,35.1641,2702,1.8814,39.6175,2155,2.0943,2.9689,2153,5.1687,76.2661,1603,0.0000,0.0000,1464,1.1842,33.6796,1136,3.9189,36.6486,898,5.241,388.465,790,0.533,168.053,760,0.021,182.280,607,1.077,1021.249,572,3.401,484.444,561,2.887,498.671,490,3.468,137.033,271,3.274,71.813,264,0.862,4.453,204,2.418,32.195,155,0.365,41.102,133,3.602,9.561, - /*R2*/ 4247,5.8991,38.1330,218,0.346,1.484,163,2.239,168.053,156,4.594,182.280,127,2.848,35.164,118,5.103,484.444,112,1.190,498.671,99,3.42,175.17,77,0.02,491.56,65,3.46,388.47,50,4.07,76.27,39,6.10,1021.25,37,5.97,2.97,36,5.17,137.03, - /*R3*/ 166,4.552,38.133}, - - } + 100000000, //A的倍率 + 20, 188, 260, 281, 293, 299, 302, 359, 404, 419, 422, 425, 425, 638, 701, 743, 746, 746, 746, //位置索引表 + /*L0*/ 531188633, 0.000000000, 0.000000000, 1798476, 2.9010127, 38.1330356, 1019728, 0.4858092, 1.4844727, 124532, 4.830081, 36.648563, 42064, 5.41055, 2.96895, 37715, 6.09222, 35.16409, 33785, 1.24489, 76.26607, 16483, 0.00008, 491.55793, 9199, 4.9375, 39.6175, 8994, 0.2746, 175.1661, 4216, 1.9871, 73.2971, 3365, 1.0359, 33.6796, 2285, 4.2061, 4.4534, 1434, 2.7834, 74.7816, 900, 2.076, 109.946, 745, 3.190, 71.813, 506, 5.748, 114.399, 400, 0.350, 1021.249, 345, 3.462, 41.102, 340, 3.304, 77.751, 323, 2.248, 32.195, 306, 0.497, 0.521, 287, 4.505, 0.048, 282, 2.246, 146.594, 267, 4.889, 0.963, 252, 5.782, 388.465, 245, 1.247, 9.561, 233, 2.505, 137.033, 227, 1.797, 453.425, 170, 3.324, 108.461, 151, 2.192, 33.940, 150, 2.997, 5.938, 148, 0.859, 111.430, 119, 3.677, 2.448, 109, 2.416, 183.243, 103, 0.041, 0.261, 103, 4.404, 70.328, 102, 5.705, 0.112, 98, 2.81, 8.08, 86, 4.23, 490.07, 82, 5.20, 493.04, 78, 4.16, 4.19, 74, 1.33, 529.69, 72, 5.30, 350.33, 64, 3.55, 168.05, 63, 0.15, 182.28, 58, 3.50, 145.11, 48, 1.11, 112.91, 48, 0.13, 484.44, 48, 2.58, 219.89, 47, 4.57, 46.21, 47, 4.50, 173.68, 47, 3.02, 498.67, 45, 5.47, 176.65, 39, 1.67, 213.30, 39, 2.39, 2.92, + /*L1*/ 3837687717, 0.0000000000, 0.0000000000, 16604, 4.86319, 1.48447, 15807, 2.27923, 38.13304, 3335, 3.6820, 76.2661, 1306, 3.6732, 2.9689, 605, 1.505, 35.164, 179, 3.453, 39.618, 107, 2.451, 4.453, 106, 2.755, 33.680, 73, 5.49, 36.65, 57, 1.86, 114.40, 57, 5.22, 0.52, 35, 4.52, 74.78, 32, 5.90, 77.75, 30, 3.67, 388.47, 29, 5.17, 9.56, 29, 5.17, 2.45, 26, 5.25, 168.05, 25, 4.73, 182.28, 20, 5.79, 1021.25, 19, 1.83, 484.44, 19, 1.32, 498.67, 15, 3.99, 32.20, 15, 4.95, 137.03, + /*L2*/ 53893, 0.00000, 0.00000, 296, 1.855, 1.484, 281, 1.191, 38.133, 270, 5.721, 76.266, 23, 1.21, 2.97, 9, 4.43, 35.16, 7, 0.54, 2.45, + /*L3*/ 31, 0.00, 0.00, 15, 1.35, 76.27, 12, 6.04, 1.48, 12, 6.11, 38.13, + /*L4*/ 114, 3.142, 0.000, 1, 3.18, 76.27, + /*L5*/ 1, 3.14, 0.00, + /*B0*/ 3088623, 1.4410437, 38.1330356, 27780, 5.91272, 76.26607, 27624, 0.00000, 0.00000, 15448, 3.50877, 39.61751, 15355, 2.52124, 36.64856, 2000, 1.5100, 74.7816, 1968, 4.3778, 1.4845, 1015, 3.2156, 35.1641, 606, 2.802, 73.297, 595, 2.129, 41.102, 589, 3.187, 2.969, 402, 4.169, 114.399, 280, 1.682, 77.751, 262, 3.767, 213.299, 254, 3.271, 453.425, 206, 4.257, 529.691, 140, 3.530, 137.033, 99, 4.17, 33.68, 68, 4.67, 71.81, + /*B1*/ 227279, 3.807931, 38.133036, 1803, 1.9758, 76.2661, 1433, 3.1416, 0.0000, 1386, 4.8256, 36.6486, 1073, 6.0805, 39.6175, 148, 3.858, 74.782, 136, 0.478, 1.484, 70, 6.19, 35.16, 52, 5.05, 73.30, 43, 0.31, 114.40, 37, 4.89, 41.10, 37, 5.76, 2.97, 26, 5.22, 213.30, 19, 0.90, 453.42, 17, 4.26, 77.75, + /*B2*/ 9691, 5.5712, 38.1330, 79, 3.63, 76.27, 72, 0.45, 36.65, 59, 3.14, 0.00, 30, 1.61, 39.62, + /*B3*/ 273, 1.017, 38.133, + /*B4*/ 6, 2.67, 38.13, + /*B5*/ + /*R0*/ 3007013206, 0.0000000000, 0.0000000000, 27062259, 1.32999459, 38.13303564, 1691764, 3.2518614, 36.6485629, 807831, 5.185928, 1.484473, 537761, 4.521139, 35.164090, 495726, 1.571057, 491.557929, 274572, 1.845523, 175.166060, 135134, 3.372206, 39.617508, 121802, 5.797544, 76.266071, 100895, 0.377027, 73.297126, 69792, 3.79617, 2.96895, 46688, 5.74938, 33.67962, 24594, 0.50802, 109.94569, 16939, 1.59422, 71.81265, 14230, 1.07786, 74.78160, 12012, 1.92062, 1021.24889, 8395, 0.6782, 146.5943, 7572, 1.0715, 388.4652, 5721, 2.5906, 4.4534, 4840, 1.9069, 41.1020, 4483, 2.9057, 529.6910, 4421, 1.7499, 108.4612, 4354, 0.6799, 32.1951, 4270, 3.4134, 453.4249, 3381, 0.8481, 183.2428, 2881, 1.9860, 137.0330, 2879, 3.6742, 350.3321, 2636, 3.0976, 213.2991, 2530, 5.7984, 490.0735, 2523, 0.4863, 493.0424, 2306, 2.8096, 70.3282, 2087, 0.6186, 33.9402, 1977, 5.1170, 168.0525, 1905, 1.7219, 182.2796, 1654, 1.9278, 145.1098, 1499, 1.0162, 219.8914, 1435, 1.7001, 484.4444, 1403, 6.0766, 173.6816, 1403, 4.5891, 498.6715, 1399, 0.7622, 176.6505, 1228, 1.5988, 77.7505, 1129, 5.9666, 9.5612, 835, 3.971, 114.399, 811, 3.003, 46.210, 732, 2.104, 181.758, 705, 1.187, 256.540, 616, 2.979, 106.977, 530, 4.241, 111.430, 502, 1.387, 5.938, 437, 2.270, 1550.940, 422, 5.532, 525.498, 421, 1.891, 30.711, 400, 1.256, 8.077, 382, 3.300, 983.116, 355, 2.278, 218.407, 345, 1.359, 293.189, 333, 5.751, 39.096, 321, 1.506, 454.909, 314, 3.959, 381.352, 309, 2.855, 72.073, 307, 0.320, 601.764, 306, 2.725, 6244.943, 294, 4.891, 528.206, 292, 4.024, 68.844, 281, 4.542, 44.725, 280, 1.541, 98.900, 268, 5.133, 112.915, 251, 3.540, 312.199, 248, 3.411, 37.612, 246, 1.015, 141.226, 240, 3.164, 143.625, + /*R1*/ 236339, 0.704980, 38.133036, 13220, 3.32015, 1.48447, 8622, 6.2163, 35.1641, 2702, 1.8814, 39.6175, 2155, 2.0943, 2.9689, 2153, 5.1687, 76.2661, 1603, 0.0000, 0.0000, 1464, 1.1842, 33.6796, 1136, 3.9189, 36.6486, 898, 5.241, 388.465, 790, 0.533, 168.053, 760, 0.021, 182.280, 607, 1.077, 1021.249, 572, 3.401, 484.444, 561, 2.887, 498.671, 490, 3.468, 137.033, 271, 3.274, 71.813, 264, 0.862, 4.453, 204, 2.418, 32.195, 155, 0.365, 41.102, 133, 3.602, 9.561, + /*R2*/ 4247, 5.8991, 38.1330, 218, 0.346, 1.484, 163, 2.239, 168.053, 156, 4.594, 182.280, 127, 2.848, 35.164, 118, 5.103, 484.444, 112, 1.190, 498.671, 99, 3.42, 175.17, 77, 0.02, 491.56, 65, 3.46, 388.47, 50, 4.07, 76.27, 39, 6.10, 1021.25, 37, 5.97, 2.97, 36, 5.17, 137.03, + /*R3*/ 166, 4.552, 38.133}, + } + + sata := 0 + if xt == -1 { + xt = 0 + sata = 1 + } + rad := 180.0000 * 3600.0000 / math.Pi + n := -1 + t := (jd - 2451545) / 36525.0000 + t /= 10 //转为儒略千年数 - sata:=0 - if(xt==-1){ - xt=0; - sata=1; + tn := float64(1) + F := XL0[xt] + pn := zn*6 + 1 + N0 := F[pn+1] - F[pn] //N0序列总数 + var N, v float64 + for i := 0; i < 6; i++ { + n1 := F[pn+i] + n2 := F[pn+1+i] + n0 := n2 - n1 + if n0 == 0 { + continue + } + if n < 0 { + N = n2 //确定项数 + } else { + N = math.Floor(3*float64(n)*n0/N0+0.5) + n1 + } + if i != 0 { + N += 3 + } + if N > n2 { + N = n2 } - rad:=180.0000*3600.0000/math.Pi - n:=-1; - t:=(jd-2451545)/36525.0000 - t/=10 //转为儒略千年数 - - tn:=float64(1) - F :=XL0[xt]; - pn:=zn*6+1 - N0 := F[pn+1]-F[pn]; //N0序列总数 - var N,v float64 - for i:=0;i<6;i++{ - n1:=F[pn+i] - n2:=F[pn+1+i] - n0:=n2-n1 - if(n0==0) { - continue - } - if(n<0) { - N=n2 //确定项数 - }else { - N = math.Floor(3*float64(n)*n0/N0+0.5)+n1 - } - if(i!=0) { - N+=3 - } - if(N > n2) { - N=n2 + var c float64 + for j := n1; j < N; j += 3 { + c += F[int(j)] * math.Cos(F[int(j)+1]+t*F[int(j)+2]) } - - var c float64 - for j:=n1;j0 && zn==1 { - return (v*180/math.Pi) - } - if (xt>0 && zn==0){ - return (Limit360(v*180/math.Pi)) - } - - return (v) -} \ No newline at end of file + if zn == 2 { + v += dv / 1000000 + } else { + v += dv / rad + } + } + if zn == 0 && xt == 0 { + if sata != 0 { + return (Limit360(v * 180 / math.Pi)) + } + return (Limit360(v*180/math.Pi + 180)) + } + if zn == 1 && xt == 0 { + if sata != 0 { + return (v * 180 / math.Pi) + } + return (-(v * 180 / math.Pi)) + } + if xt > 0 && zn == 1 { + return (v * 180 / math.Pi) + } + if xt > 0 && zn == 0 { + return (Limit360(v * 180 / math.Pi)) + } + return v +} diff --git a/saturn/saturn.go b/saturn/saturn.go index 9d9364d..7f94e7a 100644 --- a/saturn/saturn.go +++ b/saturn/saturn.go @@ -2,69 +2,239 @@ package saturn import ( "b612.me/astro/basic" + "b612.me/astro/calendar" "b612.me/astro/planet" + "errors" + "time" ) -/* - 土星视黄经 - jde: 世界时UTC -*/ -func SeeLo(jde float64) float64 { - return basic.SaturnSeeLo(basic.TD2UT(jde, true)) +var ( + ERR_SATURN_NEVER_RISE = errors.New("ERROR:极夜,木星今日永远在地平线下!") + ERR_SATURN_NEVER_DOWN = errors.New("ERROR:极昼,木星今日永远在地平线上!") +) + +// ApparentLo 视黄经 +func ApparentLo(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.SaturnApparentLo(basic.TD2UT(jde, true)) } -/* - 土星视黄纬 - jde: 世界时UTC -*/ -func SeeBo(jde float64) float64 { - return basic.SaturnSeeBo(basic.TD2UT(jde, true)) +// ApparentBo 视黄纬 +func ApparentBo(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.SaturnApparentBo(basic.TD2UT(jde, true)) } -/* - 土星视赤经 - jde: 世界时UTC -*/ -func SeeRa(jde float64) float64 { - return basic.SaturnSeeRa(basic.TD2UT(jde, true)) +// ApparentRa 视赤经 +func ApparentRa(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.SaturnApparentRa(basic.TD2UT(jde, true)) } -/* - 土星视赤纬 - jde: 世界时UTC -*/ -func SeeDec(jde float64) float64 { - return basic.SaturnSeeDec(basic.TD2UT(jde, true)) +// ApparentDec 视赤纬 +func ApparentDec(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.SaturnApparentDec(basic.TD2UT(jde, true)) } -/* - 土星视赤经赤纬 - jde: 世界时UTC -*/ -func SeeRaDec(jde float64) (float64, float64) { - return basic.SaturnSeeRaDec(basic.TD2UT(jde, true)) +// ApparentRaDec 视赤经赤纬 +func ApparentRaDec(date time.Time) (float64, float64) { + jde := calendar.Date2JDE(date) + return basic.SaturnApparentRaDec(basic.TD2UT(jde, true)) } -/* - 土星视星等 - jde: 世界时UTC -*/ -func SeeMag(jde float64) float64 { +// ApparentMagnitude 视星等 +func ApparentMagnitude(date time.Time) float64 { + jde := calendar.Date2JDE(date) return basic.SaturnMag(basic.TD2UT(jde, true)) } -/* - 与地球距离(天文单位) - jde: 世界时UTC -*/ -func EarthAway(jde float64) float64 { +// EarthDistance 与地球距离(天文单位) +func EarthDistance(date time.Time) float64 { + jde := calendar.Date2JDE(date) return basic.EarthSaturnAway(basic.TD2UT(jde, true)) } -/* - 与太阳距离(天文单位) - jde: 世界时UTC -*/ -func SunAway(jde float64) float64 { - return planet.WherePlanet(1, 2, basic.TD2UT(jde, true)) +// EarthDistance 与太阳距离(天文单位) +func SunDistance(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return planet.WherePlanet(5, 2, basic.TD2UT(jde, true)) +} + +// Zenith 高度角 +func Zenith(date time.Time, lon, lat float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.SaturnHeight(jde, lon, lat, timezone) +} + +// Azimuth 方位角 +func Azimuth(date time.Time, lon, lat float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.SaturnAzimuth(jde, lon, lat, timezone) +} + +// HourAngle 时角 +// 返回给定经纬度、对应date时区date时刻的时角( +func HourAngle(date time.Time, lon float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.SaturnHourAngle(jde, lon, timezone) +} + +// CulminationTime 中天时间 +// 返回给定经纬度、对应date时区date时刻的中天日期 +func CulminationTime(date time.Time, lon float64) time.Time { + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + calcJde := basic.SaturnCulminationTime(jde, lon, timezone) - timezone/24.00 + return basic.JDE2DateByZone(calcJde, date.Location(), false) +} + +// RiseTime 升起时间 +// date,取日期,时区忽略 +// lon,经度,东正西负 +// lat,纬度,北正南负 +// height,高度 +// aero,true时进行大气修正 +func RiseTime(date time.Time, lon, lat, height float64, aero bool) (time.Time, error) { + var err error + var aeroFloat float64 + if aero { + aeroFloat = 1 + } + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + riseJde := basic.SaturnRiseTime(jde, lon, lat, timezone, aeroFloat, height) + if riseJde == -2 { + err = ERR_SATURN_NEVER_RISE + } + if riseJde == -1 { + err = ERR_SATURN_NEVER_DOWN + } + return basic.JDE2DateByZone(riseJde, date.Location(), true), err +} + +// DownTime 落下时间 +// date,取日期,时区忽略 +// lon,经度,东正西负 +// lat,纬度,北正南负 +// height,高度 +// aero,true时进行大气修正 +func DownTime(date time.Time, lon, lat, height float64, aero bool) (time.Time, error) { + var err error + var aeroFloat float64 + if aero { + aeroFloat = 1 + } + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + riseJde := basic.SaturnDownTime(jde, lon, lat, timezone, aeroFloat, height) + if riseJde == -2 { + err = ERR_SATURN_NEVER_RISE + } + if riseJde == -1 { + err = ERR_SATURN_NEVER_DOWN + } + return basic.JDE2DateByZone(riseJde, date.Location(), true), err +} + +// LastConjunction 上次合日时间 +// 返回上次合日时间 +func LastConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastSaturnConjunction(jde), date.Location(), false) +} + +// NextConjunction 下次合日时间 +// 返回下次合日时间 +func NextConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextSaturnConjunction(jde), date.Location(), false) +} + +// LastOpposition 上次冲日时间 +// 返回上次冲日时间 +func LastOpposition(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastSaturnOpposition(jde), date.Location(), false) +} + +// NextOpposition 下次冲日时间 +// 返回下次冲日时间 +func NextOpposition(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextSaturnOpposition(jde), date.Location(), false) +} + +// LastProgradeToRetrograde 上次留(顺转逆) +// 返回上次顺转逆留的时间 +func LastProgradeToRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastSaturnProgradeToRetrograde(jde), date.Location(), false) +} + +// NextProgradeToRetrograde 下次留(顺转逆) +// 返回下次顺转逆留的时间 +func NextProgradeToRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextSaturnProgradeToRetrograde(jde), date.Location(), false) +} + +// LastRetrogradeToPrograde 上次留(逆转瞬) +// 返回上次逆转瞬留的时间 +func LastRetrogradeToPrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastSaturnRetrogradeToPrograde(jde), date.Location(), false) +} + +// NextRetrogradeToPrograde 上次留(逆转瞬) +//// 返回上次逆转瞬留的时间 +func NextRetrogradeToPrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextSaturnRetrogradeToPrograde(jde), date.Location(), false) +} + +// LastEasternQuadrature 上次东方照时间 +// 返回上次东方照时间 +func LastEasternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastSaturnEasternQuadrature(jde), date.Location(), false) +} + +// NextEasternQuadrature 下次东方照时间 +// 返回下次东方照时间 +func NextEasternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextSaturnEasternQuadrature(jde), date.Location(), false) +} + +// LastWesternQuadrature 上次西方照时间 +// 返回上次西方照时间 +func LastWesternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastSaturnWesternQuadrature(jde), date.Location(), false) +} + +// NextWesternQuadrature 下次西方照时间 +// 返回下次西方照时间 +func NextWesternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextSaturnWesternQuadrature(jde), date.Location(), false) } diff --git a/uranus/uranus.go b/uranus/uranus.go index 655f350..c9aaf91 100644 --- a/uranus/uranus.go +++ b/uranus/uranus.go @@ -2,69 +2,239 @@ package uranus import ( "b612.me/astro/basic" + "b612.me/astro/calendar" "b612.me/astro/planet" + "errors" + "time" ) -/* - 天王星视黄经 - jde: 世界时UTC -*/ -func SeeLo(jde float64) float64 { - return basic.UranusSeeLo(basic.TD2UT(jde, true)) +var ( + ERR_URANUS_NEVER_RISE = errors.New("ERROR:极夜,天王星今日永远在地平线下!") + ERR_URANUS_NEVER_DOWN = errors.New("ERROR:极昼,天王星今日永远在地平线上!") +) + +// ApparentLo 视黄经 +func ApparentLo(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.UranusApparentLo(basic.TD2UT(jde, true)) } -/* - 天王星视黄纬 - jde: 世界时UTC -*/ -func SeeBo(jde float64) float64 { - return basic.UranusSeeBo(basic.TD2UT(jde, true)) +// ApparentBo 视黄纬 +func ApparentBo(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.UranusApparentBo(basic.TD2UT(jde, true)) } -/* - 天王星视赤经 - jde: 世界时UTC -*/ -func SeeRa(jde float64) float64 { - return basic.UranusSeeRa(basic.TD2UT(jde, true)) +// ApparentRa 视赤经 +func ApparentRa(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.UranusApparentRa(basic.TD2UT(jde, true)) } -/* - 天王星视赤纬 - jde: 世界时UTC -*/ -func SeeDec(jde float64) float64 { - return basic.UranusSeeDec(basic.TD2UT(jde, true)) +// ApparentDec 视赤纬 +func ApparentDec(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.UranusApparentDec(basic.TD2UT(jde, true)) } -/* - 天王星视赤经赤纬 - jde: 世界时UTC -*/ -func SeeRaDec(jde float64) (float64, float64) { - return basic.UranusSeeRaDec(basic.TD2UT(jde, true)) +// ApparentRaDec 视赤经赤纬 +func ApparentRaDec(date time.Time) (float64, float64) { + jde := calendar.Date2JDE(date) + return basic.UranusApparentRaDec(basic.TD2UT(jde, true)) } -/* - 天王星视星等 - jde: 世界时UTC -*/ -func SeeMag(jde float64) float64 { +// ApparentMagnitude 视星等 +func ApparentMagnitude(date time.Time) float64 { + jde := calendar.Date2JDE(date) return basic.UranusMag(basic.TD2UT(jde, true)) } -/* - 与地球距离(天文单位) - jde: 世界时UTC -*/ -func EarthAway(jde float64) float64 { +// EarthDistance 与地球距离(天文单位) +func EarthDistance(date time.Time) float64 { + jde := calendar.Date2JDE(date) return basic.EarthUranusAway(basic.TD2UT(jde, true)) } -/* - 与太阳距离(天文单位) - jde: 世界时UTC -*/ -func SunAway(jde float64) float64 { - return planet.WherePlanet(1, 2, basic.TD2UT(jde, true)) +// EarthDistance 与太阳距离(天文单位) +func SunDistance(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return planet.WherePlanet(6, 2, basic.TD2UT(jde, true)) +} + +// Zenith 高度角 +func Zenith(date time.Time, lon, lat float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.UranusHeight(jde, lon, lat, timezone) +} + +// Azimuth 方位角 +func Azimuth(date time.Time, lon, lat float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.UranusAzimuth(jde, lon, lat, timezone) +} + +// HourAngle 时角 +// 返回给定经纬度、对应date时区date时刻的时角( +func HourAngle(date time.Time, lon float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.UranusHourAngle(jde, lon, timezone) +} + +// CulminationTime 中天时间 +// 返回给定经纬度、对应date时区date时刻的中天日期 +func CulminationTime(date time.Time, lon float64) time.Time { + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + calcJde := basic.UranusCulminationTime(jde, lon, timezone) - timezone/24.00 + return basic.JDE2DateByZone(calcJde, date.Location(), false) +} + +// RiseTime 升起时间 +// date,取日期,时区忽略 +// lon,经度,东正西负 +// lat,纬度,北正南负 +// height,高度 +// aero,true时进行大气修正 +func RiseTime(date time.Time, lon, lat, height float64, aero bool) (time.Time, error) { + var err error + var aeroFloat float64 + if aero { + aeroFloat = 1 + } + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + riseJde := basic.UranusRiseTime(jde, lon, lat, timezone, aeroFloat, height) + if riseJde == -2 { + err = ERR_URANUS_NEVER_RISE + } + if riseJde == -1 { + err = ERR_URANUS_NEVER_DOWN + } + return basic.JDE2DateByZone(riseJde, date.Location(), true), err +} + +// DownTime 落下时间 +// date,取日期,时区忽略 +// lon,经度,东正西负 +// lat,纬度,北正南负 +// height,高度 +// aero,true时进行大气修正 +func DownTime(date time.Time, lon, lat, height float64, aero bool) (time.Time, error) { + var err error + var aeroFloat float64 + if aero { + aeroFloat = 1 + } + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + riseJde := basic.UranusDownTime(jde, lon, lat, timezone, aeroFloat, height) + if riseJde == -2 { + err = ERR_URANUS_NEVER_RISE + } + if riseJde == -1 { + err = ERR_URANUS_NEVER_DOWN + } + return basic.JDE2DateByZone(riseJde, date.Location(), true), err +} + +// LastConjunction 上次合日时间 +// 返回上次合日时间 +func LastConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastUranusConjunction(jde), date.Location(), false) +} + +// NextConjunction 下次合日时间 +// 返回下次合日时间 +func NextConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextUranusConjunction(jde), date.Location(), false) +} + +// LastOpposition 上次冲日时间 +// 返回上次冲日时间 +func LastOpposition(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastUranusOpposition(jde), date.Location(), false) +} + +// NextOpposition 下次冲日时间 +// 返回下次冲日时间 +func NextOpposition(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextUranusOpposition(jde), date.Location(), false) +} + +// LastProgradeToRetrograde 上次留(顺转逆) +// 返回上次顺转逆留的时间 +func LastProgradeToRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastUranusProgradeToRetrograde(jde), date.Location(), false) +} + +// NextProgradeToRetrograde 下次留(顺转逆) +// 返回下次顺转逆留的时间 +func NextProgradeToRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextUranusProgradeToRetrograde(jde), date.Location(), false) +} + +// LastRetrogradeToPrograde 上次留(逆转瞬) +// 返回上次逆转瞬留的时间 +func LastRetrogradeToPrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastUranusRetrogradeToPrograde(jde), date.Location(), false) +} + +// NextRetrogradeToPrograde 上次留(逆转瞬) +//// 返回上次逆转瞬留的时间 +func NextRetrogradeToPrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextUranusRetrogradeToPrograde(jde), date.Location(), false) +} + +// LastEasternQuadrature 上次东方照时间 +// 返回上次东方照时间 +func LastEasternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastUranusEasternQuadrature(jde), date.Location(), false) +} + +// NextEasternQuadrature 下次东方照时间 +// 返回下次东方照时间 +func NextEasternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextUranusEasternQuadrature(jde), date.Location(), false) +} + +// LastWesternQuadrature 上次西方照时间 +// 返回上次西方照时间 +func LastWesternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastUranusWesternQuadrature(jde), date.Location(), false) +} + +// NextWesternQuadrature 下次西方照时间 +// 返回下次西方照时间 +func NextWesternQuadrature(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextUranusWesternQuadrature(jde), date.Location(), false) } diff --git a/venus/venus.go b/venus/venus.go index f8e8ea9..ddadd4d 100644 --- a/venus/venus.go +++ b/venus/venus.go @@ -2,69 +2,281 @@ package venus import ( "b612.me/astro/basic" + "b612.me/astro/calendar" "b612.me/astro/planet" + "errors" + "time" ) -/* - 金星视黄经 - jde: 世界时UTC -*/ -func SeeLo(jde float64) float64 { - return basic.VenusSeeLo(basic.TD2UT(jde, true)) +var ( + ERR_VENUS_NEVER_RISE = errors.New("ERROR:极夜,金星今日永远在地平线下!") + ERR_VENUS_NEVER_DOWN = errors.New("ERROR:极昼,金星今日永远在地平线上!") +) + +// ApparentLo 视黄经 +func ApparentLo(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.VenusApparentLo(basic.TD2UT(jde, true)) } -/* - 金星视黄纬 - jde: 世界时UTC -*/ -func SeeBo(jde float64) float64 { - return basic.VenusSeeBo(basic.TD2UT(jde, true)) +// ApparentBo 视黄纬 +func ApparentBo(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.VenusApparentBo(basic.TD2UT(jde, true)) } -/* - 金星视赤经 - jde: 世界时UTC -*/ -func SeeRa(jde float64) float64 { - return basic.VenusSeeRa(basic.TD2UT(jde, true)) +// ApparentRa 视赤经 +func ApparentRa(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.VenusApparentRa(basic.TD2UT(jde, true)) } -/* - 金星视赤纬 - jde: 世界时UTC -*/ -func SeeDec(jde float64) float64 { - return basic.VenusSeeDec(basic.TD2UT(jde, true)) +// ApparentDec 视赤纬 +func ApparentDec(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return basic.VenusApparentDec(basic.TD2UT(jde, true)) } -/* - 金星视赤经赤纬 - jde: 世界时UTC -*/ -func SeeRaDec(jde float64) (float64, float64) { - return basic.VenusSeeRaDec(basic.TD2UT(jde, true)) +// ApparentRaDec 视赤经赤纬 +func ApparentRaDec(date time.Time) (float64, float64) { + jde := calendar.Date2JDE(date) + return basic.VenusApparentRaDec(basic.TD2UT(jde, true)) } -/* - 金星视星等 - jde: 世界时UTC -*/ -func SeeMag(jde float64) float64 { +// ApparentMagnitude 视星等 +func ApparentMagnitude(date time.Time) float64 { + jde := calendar.Date2JDE(date) return basic.VenusMag(basic.TD2UT(jde, true)) } -/* - 与地球距离(天文单位) - jde: 世界时UTC -*/ -func EarthAway(jde float64) float64 { +// EarthDistance 与地球距离(天文单位) +func EarthDistance(date time.Time) float64 { + jde := calendar.Date2JDE(date) return basic.EarthVenusAway(basic.TD2UT(jde, true)) } -/* - 与太阳距离(天文单位) - jde: 世界时UTC -*/ -func SunAway(jde float64) float64 { - return planet.WherePlanet(1, 2, basic.TD2UT(jde, true)) +// EarthDistance 与太阳距离(天文单位) +func SunDistance(date time.Time) float64 { + jde := calendar.Date2JDE(date) + return planet.WherePlanet(2, 2, basic.TD2UT(jde, true)) +} + +// Zenith 高度角 +func Zenith(date time.Time, lon, lat float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.VenusHeight(jde, lon, lat, timezone) +} + +// Azimuth 方位角 +func Azimuth(date time.Time, lon, lat float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.VenusAzimuth(jde, lon, lat, timezone) +} + +// HourAngle 时角 +// 返回给定经纬度、对应date时区date时刻的时角( +func HourAngle(date time.Time, lon float64) float64 { + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + return basic.VenusHourAngle(jde, lon, timezone) +} + +// CulminationTime 中天时间 +// 返回给定经纬度、对应date时区date时刻的中天日期 +func CulminationTime(date time.Time, lon float64) time.Time { + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + calcJde := basic.VenusCulminationTime(jde, lon, timezone) - timezone/24.00 + return basic.JDE2DateByZone(calcJde, date.Location(), false) +} + +// RiseTime 升起时间 +// date,取日期,时区忽略 +// lon,经度,东正西负 +// lat,纬度,北正南负 +// height,高度 +// aero,true时进行大气修正 +func RiseTime(date time.Time, lon, lat, height float64, aero bool) (time.Time, error) { + var err error + var aeroFloat float64 + if aero { + aeroFloat = 1 + } + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + riseJde := basic.VenusRiseTime(jde, lon, lat, timezone, aeroFloat, height) + if riseJde == -2 { + err = ERR_VENUS_NEVER_RISE + } + if riseJde == -1 { + err = ERR_VENUS_NEVER_DOWN + } + return basic.JDE2DateByZone(riseJde, date.Location(), true), err +} + +// DownTime 落下时间 +// date,取日期,时区忽略 +// lon,经度,东正西负 +// lat,纬度,北正南负 +// height,高度 +// aero,true时进行大气修正 +func DownTime(date time.Time, lon, lat, height float64, aero bool) (time.Time, error) { + var err error + var aeroFloat float64 + if aero { + aeroFloat = 1 + } + if date.Hour() > 12 { + date = date.Add(time.Hour * -12) + } + jde := basic.Date2JDE(date) + _, loc := date.Zone() + timezone := float64(loc) / 3600.0 + riseJde := basic.VenusDownTime(jde, lon, lat, timezone, aeroFloat, height) + if riseJde == -2 { + err = ERR_VENUS_NEVER_RISE + } + if riseJde == -1 { + err = ERR_VENUS_NEVER_DOWN + } + return basic.JDE2DateByZone(riseJde, date.Location(), true), err +} + +// LastConjunction 上次合日时间 +// 返回上次合日时间,不区分上合下合 +func LastConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastVenusConjunction(jde), date.Location(), false) +} + +// NextConjunction 下次合日时间 +// 返回下次合日时间,不区分上合下合 +func NextConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextVenusConjunction(jde), date.Location(), false) +} + +// LastInferiorConjunction 上次下合时间 +// 返回上次下合日时间 +func LastInferiorConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastVenusInferiorConjunction(jde), date.Location(), false) +} + +// NextInferiorConjunction 下次下合时间 +// 返回下次合日时间 +func NextInferiorConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextVenusInferiorConjunction(jde), date.Location(), false) +} + +// LastSuperiorConjunction 上次上合时间 +// 返回上次下合时间 +func LastSuperiorConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastVenusSuperiorConjunction(jde), date.Location(), false) +} + +// NextSuperiorConjunction 下次上合时间 +// 返回下次上合时间 +func NextSuperiorConjunction(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextVenusSuperiorConjunction(jde), date.Location(), false) +} + +// LastRetrograde 上次留的时间 +// 返回上次留时间,不区分顺逆 +func LastRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastVenusRetrograde(jde), date.Location(), false) +} + +// NextRetrograde 下次留时间 +// 返回下次留的时间,不区分顺逆 +func NextRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextVenusRetrograde(jde), date.Location(), false) +} + +// LastProgradeToRetrograde 上次留(顺转逆) +// 返回上次顺转逆留的时间 +func LastProgradeToRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastVenusProgradeToRetrograde(jde), date.Location(), false) +} + +// NextProgradeToRetrograde 下次留(顺转逆) +// 返回下次顺转逆留的时间 +func NextProgradeToRetrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextVenusProgradeToRetrograde(jde), date.Location(), false) +} + +// LastRetrogradeToPrograde 上次留(逆转瞬) +// 返回上次逆转瞬留的时间 +func LastRetrogradeToPrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastVenusRetrogradeToPrograde(jde), date.Location(), false) +} + +// NextRetrogradeToPrograde 上次留(逆转瞬) +//// 返回上次逆转瞬留的时间 +func NextRetrogradeToPrograde(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextVenusRetrogradeToPrograde(jde), date.Location(), false) +} + +// LastGreatestElongation 上次大距时间 +// 返回上次大距时间,不区分东西大距 +func LastGreatestElongation(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastVenusGreatestElongation(jde), date.Location(), false) +} + +// NextGreatestElongation 下次大距时间 +// 返回下次大距时间,不区分东西大距 +func NextGreatestElongation(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextVenusGreatestElongation(jde), date.Location(), false) +} + +// LastGreatestElongationEast 上次东大距时间 +// 返回上次东大距时间 +func LastGreatestElongationEast(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastVenusGreatestElongationEast(jde), date.Location(), false) +} + +// NextGreatestElongationEast 下次东大距时间 +// 返回下次东大距时间 +func NextGreatestElongationEast(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextVenusGreatestElongationEast(jde), date.Location(), false) +} + +// LastGreatestElongationWest 上次西大距时间 +// 返回上次西大距时间 +func LastGreatestElongationWest(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.LastVenusGreatestElongationWest(jde), date.Location(), false) +} + +// NextGreatestElongationWest 下次西大距时间 +// 返回下次西大距时间 +func NextGreatestElongationWest(date time.Time) time.Time { + jde := basic.TD2UT(basic.Date2JDE(date.UTC()), true) + return basic.JDE2DateByZone(basic.NextVenusGreatestElongationWest(jde), date.Location(), false) } diff --git a/venus/venus_test.go b/venus/venus_test.go new file mode 100644 index 0000000..3c9eedc --- /dev/null +++ b/venus/venus_test.go @@ -0,0 +1,14 @@ +package venus + +import ( + "fmt" + "testing" + "time" +) + +func TestVenus(t *testing.T) { + date := time.Now().Add(time.Hour * -24) + fmt.Println(CulminationTime(date, 115)) + fmt.Println(RiseTime(date, 115, 23, 0, false)) + fmt.Println(DownTime(date, 115, 23, 0, false)) +}