2010-12-01 104 views
3

我想计算给定日期和时间的地球位置(相对于太阳)和轴旋转。可以假设太阳在0,0,0坐标处是静止的。由于例如月亮引力的原因,很小的偏转也可以忽略。任何准确的一度左右都足够好。计算地球轨道位置和旋转

有没有任何库/源/数据可以帮助我实现这个目标?

+0

在问“确定给定时间的地球方向”之前,发现这是我想要的。 – Nianliang 2014-07-20 04:59:46

回答

4

aa-56码,which can be downloaded from here,包括一个太阳能星历,可能会满足您的需求。对于高精度的工作,你需要像JPL的DE421那样更精确的工作,但是有一些不方便的大系数表,如果你对1度精度感到满意,这可能是极端的矫枉过正。

地球的旋转在给定的时间由格林威治恒星时间给出。
琼·米斯‘天文算法’(!一个很好的参考,以对这些各种各样的计算 )给出了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对齐的瞬间。

+0

+1,在格林威治的第12章恒星时间(第88页)找到上面的公式! – Nianliang 2014-07-20 04:55:20

2

是的。你需要的是一个Ephemeris包。

JPL has an online Ephemeris service会为你做计算,所以如果你有网络能力,你可以打这个。

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

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给地球的日心经度和纬度。这可以更好地记录。

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