私は PyEphem が初めてで、何ができるのか、どのように機能するのかを理解しようとしています。それをブラックボックスとして使用したくなく、得られた数値を盲目的に信頼したくないので、ここで説明されている例を再現したいと思いました。
この例では、1998 年 8 月 10 日 23:10 UT の特定のオブザーバーのオブジェクトの方位角と高度を計算します。次のパラメータが与えられます。
RA = 16時間41.7分、DEC = 36日28分
観測者の緯度は北緯 52 日 30 分、西経 1 日 55 分です。
例 (Excel で再現できます) によると、正解は AZ = 269.14634 度、ALT = 49.169122 度です。
同じ結果を得るために、pyephem を使用して次のコードを作成しました。
day = '1998/8/10 23:10:00'
longitude = ephem.degrees('-1.91667')
latitude = ephem.degrees('52.5')
star = ephem.FixedBody()
star._ra = '16:41:42.0'
star._dec = '36:28:00.0'
observer = ephem.Observer()
observer.date = day
observer.lon = longitude
observer.lat = latitude
star.compute(observer)
print 'Observer', observer
print 'RA', star.ra, 'DEC', star.dec
print 'AZ', star.az, 'ALT', star.alt
プログラムを実行すると、次の出力が得られます。
>>>
Observer <ephem.Observer date='1998/8/10 23:10:00' epoch='2000/1/1 12:00:00' lon=-1:55:00.0 lat=52:30:00.0 elevation=0.0m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
RA 16:41:39.23 DEC 36:28:33.5
AZ 269:09:54.9 ALT 49:10:57.7
AZ + ALT の結果は明らかにこの例とほぼ同じですが、まったく同じではありません。また、RA と DEC が、入力したものと比較して印刷物でわずかに変更されているという事実にも困惑しています。
結果が異なる理由と、結果を再現するために私ができること、またはすべきことを誰かが明らかにするのを手伝ってくれるなら、私はそれを大いに感謝します. ありがとう。
編集:以下の回答で指摘されたタイプミスを修正しました。質問はまだ有効です。
EDIT2 :OK、このリンクからPyEphemによって赤経と赤緯が調整される理由を読みました(そしてある程度理解しました)。私が理解していないのは、大気の屈折を無視させるのと同じように、PyEphem に光の相対論的たわみ、章動、収差の調整を無視させる方法があるかどうかということです。Azimuth の違いは RA と DEC の調整によるものだと推測していますが、確認していただければ幸いです。