2

我正在寻找在特定时间从 Mauna Kea 确定给定 RA/Dec 的(不知名的)恒星的 alt/az。我正在尝试使用 pyephem 计算这些参数,但生成的 alt/az 与其他来源不一致。这是 Keck 对 HAT-P-32 的计算:

import ephem
telescope = ephem.Observer()
telescope.lat =  '19.8210'
telescope.long = '-155.4683'
telescope.elevation = 4154
telescope.date = '2013/1/18 10:04:14'
star = ephem.FixedBody()
star._ra = ephem.degrees('02:04:10.278')
star._dec = ephem.degrees('+46:41:16.21')
star.compute(telescope)
print star.alt, star.az

它返回-28:43:54.0 73:22:55.3,但根据 Stellarium,正确的 alt/az 应该是:62:26:03 349:15:13。我究竟做错了什么?

编辑:更正了以前颠倒的纬度和经度。

4

2 回答 2

1

首先,你的经纬度倒退了;其次,您需要提供十六进制形式的字符串;第三,您需要以小时而不是学位的形式提供 RA:

import ephem
telescope = ephem.Observer()
# Reversed longitude and latitude for Mauna Kea
telescope.lat =    '19:49:28' # from Wikipedia
telescope.long = '-155:28:24'
telescope.elevation = 4154.
telescope.date = '2013/1/18 00:04:14'
star = ephem.FixedBody()
star._ra  = ephem.hours('02:04:10.278') # in hours for RA
star._dec = ephem.degrees('+46:41:16.21')
star.compute(telescope)

这样,你得到:

>>> print star.alt, star.az
29:11:57.2 46:43:19.6
于 2013-02-22T15:37:10.780 回答
0

PyEphem 始终使用 UTC 作为时间,因此程序在任何地方运行时都以相同的方式运行并提供相同的输出。您只需将您使用的日期转换为 UTC,而不是使用您的本地时区,结果与 Stellarium 非常吻合;采用:

telescope.date = '2013/1/18 05:04:14'

结果是这个 alt/az:

62:27:19.0 349:26:19.4

要知道剩余的微小差异来自哪里,我必须研究这两个程序如何处理其计算的每一步;但这能让你足够接近吗?

于 2013-02-23T15:56:39.313 回答