4

PyEphemがアングルで何をしているのかを確実に理解したいと思います。

今日の正午に、南緯30度、西経60度の観測者が空を見ているとしましょう。私もです:

obs = ephem.Observer()
obs.lat, obs.lon = '-30', '-60'
obs.date = '2012/6/22 12:00:00'

ここで、特定の方位角と高度を見たときに、観測者が天球のどの部分(RAと赤緯)を見るかを調べたいと思います。できます:

obs.radec_of(az,alt)

ここが私が混乱しているところです。私が理解していることから、PyEphemはすべての角度でラジアンとして機能するので、ラジアンとして入力する必要がazありaltます。では、0°の高度が地平線であり、90°の高度が真上にあり、-90°が地面にまっすぐ向いているというのは本当ですか?その場合、PyEphemは95°の高度を85°と同じと見なしますか、それとも-85°にロールオーバーしますか?

また、観測者が南天の極を見たい場合、これは正しいコードですか?

az = float( ephem.degree('180') )
alt = float( ephem.degree('30') )
ra, dec = obs.radec_of(az,alt)

または、高度を-30°にする必要がありますか?

4

2 に答える 2

4

高度と方位角についてのあなたの理解は正しいように聞こえます。天の南極は、南緯 30 度の人の南の地平線の 30 度上にあります。

ただし、コードに対して 1 つまたは 2 つの修正を加えることができます。

まず、スペルミス。度をラジアンに変換する探している関数には名前が付けられていますephem.degrees()(複数形であることに注意してください) ephem.degree。関数として呼び出そうとすると、例外が発生します。

TypeError: 'float' object is not callable

ephem.degreeは実際には浮動小数点数 0.0174532925199 であるため、これは 1 度にラジアンがいくつあるかです。また、浮動小数点数を関数のように呼び出すことはできません! それを修正すると、例の正しい動作コードが得られます。

az = float(ephem.degrees('180'))
alt = float(ephem.degrees('30'))
ra, dec = obs.radec_of(az,alt)
print ra, dec

→ 12:30:10.05 -89:53:54.7

しかし、コードをもっと簡単にすることができます!

まず、 の戻り値ephem.degrees()はすでに浮動小数点数であるため、そのfloat()周りの呼び出しは実際には必要ありません。あなたはただ言うことができます:

az = ephem.degrees('180')
alt = ephem.degrees('30')

これらの 2 つの値は、 への引数として問題ありませんradec_of()。実際には、もっとうまくやることができます:radec_of()関数は、方位角と高度が伝統的に度で与えられることを知っているので、文字列を関数自体に渡すだけで、文字列内の数値が度で書かれていると仮定します。したがって、必要に応じて変数azalt変数を完全に削除して、次のように言うことができます。

ra, dec = obs.radec_of('180', '30')

最後に、返された赤経と赤緯が南極に近いにもかかわらず、正確に南極になかったのはなぜかと思うかもしれません。

最初の理由は、PyEphem が大気の屈折を考慮に入れているためです。これにより、低高度で地平線上のオブジェクトの見かけの高度が上昇します。大気の影響を無視するようにオブジェクトに指示するObserverと (私たちが住んでいる場所には空気がなく、気圧がゼロであることを伝えることによって)、戻り値はさらに南極に近くなります。

obs.pressure = 0
ra, dec = obs.radec_of('180', '30')
print ra, dec

→ 12:24:25.48 -89:55:15.9

明らかに、それは私たちを近づけます。歳差運動とおそらく章動に関連する 1 つまたは 2 つの問題が残っており、実際に赤緯を完全に -90° まで下げるために取り組む必要があります。

于 2012-06-23T03:48:53.433 に答える
4

あなたの他の質問に答えるために: 95° のような高度は単に 85° と単純に同じであるとは見なされ、 PyEphem はそれが -85° の高度の天底近くで私たちの足よりずっと下にあるとは見なしません。代わりに、95° を次の意味として考えます。「あなたがたどっている方位角の線をずっと上に行き、上、上、上に行き、最終的に天頂に達して 90° になるまで、そしてさらに5 度上に進み続けます。空の反対側で、まったく反対の方位角で 5 度下がります。」</p>

そのため、方位角と高度 (15°、95°) のポイントについて尋ねると、PyEphem はそれを 15° の線をずっと上ってからさらに進んで195° の方位角を下っていき始めると考えます。天頂の反対側の線。したがって、あなたが話している方位角と高度の「正規化された」名前は (195°, 90° – 5°) = (195°, 85°) です。

于 2012-06-23T04:32:44.350 に答える