计算地球轨道位置和旋转

时间:2010-12-01 23:47:46

标签: language-agnostic astronomy orbital-mechanics

我想计算给定日期和时间的地球位置(相对于太阳)和轴旋转。可以假设太阳在0,0,0坐标处静止不动。由于例如卫星引力,非常小的偏转也可以忽略不计。在一定程度左右准确的任何东西都足够好。

是否有任何库/源/数据可以帮助我实现这一目标?

3 个答案:

答案 0 :(得分:4)

aa-56代​​码which can be downloaded from here包含一个可能满足您需求的太阳星历。对于高精度工作,你需要比JPL的DE421更准确的东西,但是有一些不方便的大系数表,如果你对1度精度感到满意,它可能是极端的过度杀伤。

地球在给定时间的旋转是由格林威治的恒星时间给出的 Jean Meeus的“天文算法”(这是对这些类型的一个很好的参考 计算!)给出theta0的公式(以度为单位的累积旋转角度) 就朱利安日期而言JD

T = (JD - 2451545.0 ) / 36525

theta0 = 280.46061837 + 360.98564736629*(JD-2451545.0) + 
           0.000387933*T*T - T*T*T/38710000.0

theta0 = 0度mod 360表示格林威治子午线在天体坐标中与右上升0:00对齐的瞬间。

答案 1 :(得分:2)

是。您需要的是Ephemeris包。

JPL has an online Ephemeris service将为您进行计算,因此如果您具备网络功能,则可以点击它。

我也发现了一个free Ephermeris package,但看起来它只是为你点击了JPL网站。但是,有一个链接可以下载JPL的数据库,并让它可以解决这个问题。因此,如果您想要脱机工作并且不介意不时地手动从JPL手动更新数据库,那么这可能是一种选择。

答案 2 :(得分:2)

在Python中,使用ephem库:

>>> import ephem
>>> sun = ephem.Sun()
>>> sun.compute(ephem.now())
>>> sun.hlong, sun.hlat, sun.earth_distance
(69:41:32.6, 0:00:00.2, 0.98602390289306641)

ephem没有提供地球作为一个身体的方便表示,但sun.hlongsun.hlat给出了地球的日心经度和纬度。这可以更好地记录下来。

对于地球自转,也许你可以说出你在这里寻找的价值。 (通常我们会使用一天中的时间,但我认为通常很清楚如何掌握它!)