2010-12-01 44 views
3

地球の位置(太陽に対する相対)と与えられた日時の軸の回転を計算したい。太陽が0,0,0座標で静止していると仮定するのは大丈夫です。例えば、ムーンズの重力プルに起因する非常に小さな偏向もまた無視することができる。ある程度正確なものは十分です。地球軌道の位置と回転を計算する

私はこれを達成するのに役立つライブラリ/ソース/データがありますか?

+0

「指定された時間で地球の向きを特定する」ことを尋ねる前に、これが私が望むものです。 – Nianliang

答えて

4

aa-56コードwhich can be downloaded from hereには、おそらくあなたのニーズを満たす太陽天体暦が含まれています。高精度の作業のためには、JPLのDE421のようなより正確なものがほしいと思うかもしれませんが、不自然に大きな係数表が含まれています.1度の精度に満足すれば極端な過剰です。

与えられた時間に地球の回転はグリニッジの時空によって与えられます。

T = (JD - 2451545.0)/36525 

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

ジャン・メーウス 『天文アルゴリズム』(!これらの種類の計算の のために持っている良い参照)は、ユリウス日付 JDの面で theta0ための式(度の累積回転角度) を与えます

theta0 = 0 degrees mod 360は、グリニッジ子午線が天体座標の0:00に右上がりに揃えられた瞬間を表します。 Pythonで

+0

+1、上記の式はグリニッジの第12章非現実的な時間(88ページ)で見つかりました! – Nianliang

2

はい。必要なのはEphemerisパッケージです。

JPL has an online Ephemeris serviceあなたのために計算を行います。ウェブに対応していれば、それを打つことができます。

free Ephermeris packageが見つかりましたが、JPLサイトにヒットしたようです。しかし、そこにはJPLのデータベースをダウンロードし、それを処理するためのリンクがあります。したがって、オフラインで作業したい場合や、JPLから手動でデータベースを更新しても構わない場合は、それがオプションになる可能性があります。

2

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は、地球の太陽中心の経度と緯度を与えません。これは、よりよく文書化することができます。

地球の回転については、ここであなたが探している価値があると言えるでしょう。 (通常は時間帯を使用していますが、それを把握する方法は一般的にはっきりしていると思います)。

関連する問題