我希望在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
。我做错了什么?
编辑:修正了之前相反的纬度和经度。
答案 0 :(得分: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
答案 1 :(得分:0)
PyEphem总是使用UTC时间,因此程序运行相同,并在运行的任何地方提供相同的输出。您只需将您使用的日期转换为UTC,而不是使用当地时区,结果与Stellarium非常接近;使用方法:
telescope.date = '2013/1/18 05:04:14'
结果是这个alt / az:
62:27:19.0 349:26:19.4
要知道剩下的小差异来自何处,我将不得不研究两个程序如何处理其计算的每个步骤;但这会让你足够近吗?