2010-12-01 36 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給地球的日心經度和緯度。這可以更好地記錄。

對於地球自轉,也許你可以說你在這裏尋找什麼值。 (通常我們使用一天中的時間,但我認爲一般很清楚該如何掌握!)