2

PyEphem を使用して太陽の緯度と経度を計算しようとしましたが、理解できないのは、太陽の経度と星座を計算するときです

>>> sun = ephem.Sun()
>>> sun.compute('2011/05/04')
>>> print ephem.Ecliptic(sun).lon
43:02:58.8

43:02:58.8 は 13.02 おうし座ですが、星座を取得しようとすると

>>> print ephem.constellation(sun)
('Ari', 'Aries')

それは牡羊座と言っています何が間違っているのかわかりません誰か助けてください

4

2 に答える 2

3

良い質問!

予想とは異なる回答が得られる理由は 2 つあります。

まず、天文学者が現在使用している星座の境界は、1875 年にたまたま黄道があった位置を使用して確立されました。得られる答えは数度ずれます。実際に 1875 座標で経度を知るには、次のように尋ねる必要があります。

import ephem
sun = ephem.Sun()
sun.compute('2011/05/04')
print "Today's coordinates:", ephem.Ecliptic(sun).lon
sun.compute('2011/05/04', epoch='1875')
print "In 1875 coordinates:", ephem.Ecliptic(sun).lon

このスクリプトを実行すると、次の出力が得られます。

Today's coordinates: 43:02:58.8
In 1875 coordinates: 41:18:14.1

これにより、結果からエラーの原因が 1 つ取り除かれます。PyEphem関数は、1875 とは異なるconstellation()を持つボディを引数として指定した場合、星座境界のテーブルで空の位置を検索する前に、座標を 1875 に自動的に変換することに注意してください。epoch

あなたが直面している他の問題は、公式の星座の境界線が、雄羊 (おうし座) やうろこ (てんびん座) などの形を形成する空の星の実際のグループを示していることです。そして、これらの数値は、黄道を横切る正確に 30° にまたがるそれぞれに近づくことさえありません (返される角度から 30° を差し引いているので、予想どおりでしたか?)。黄道に沿ってあらゆる角度で星座を印刷すると、(a) 星座の幅が大きく異なることがわかり、(b) へびつかい座の一部があるため、12 ではなく 13 の星座が黄道を横切っていることがわかります。 1875年の黄道に沿って。

参考になる参考資料を次に示します。

http://en.wikipedia.org/wiki/Constellation#IAU_constellations

http://en.wikipedia.org/wiki/Precession

于 2013-04-20T15:00:18.820 に答える
0

牡羊座にあります。Beta Ariを参照として使用した私の計算は次のとおりです。

>>> sun = e.Sun()
>>> sun.compute('2011/05/04')
>>> e.Ecliptic(sun).lon
43:02:58.8
>>> beta_ari = e.readdb('Sheratan,f|S|A5,01:54:38.5|98.74,28:48:28.9|-110.41,2.65,2000,0')
>>> beta_ari.compute('2011/05/04')
>>> e.Ecliptic(beta_ari).lon
36:53:55.2
>>> e.Ecliptic(sun).lon - e.Ecliptic(beta_ari).lon
0.10735523133236013
>>> e.degrees(e.Ecliptic(sun).lon - e.Ecliptic(beta_ari).lon)
6:09:03.6

黄道線上の太陽はベータ アリから 6:09 度離れているので、まだ牡羊座にあります。その日付を使用する他のプログラムでもこの結果を再確認しましたが、結果は同じです。

于 2013-05-21T17:40:23.307 に答える