如何使用PyEphem计算(alt,az)给定的银河系坐标(GLON,GLAT)?

时间:2012-06-23 12:31:58

标签: python coordinate-transformation astronomy pyephem

对于地球上给定的观测者(lon,lat,时间)和给定的星系坐标(GLON,GLAT),如何用PyEphem计算天空中相应的(alt,az)点?

1 个答案:

答案 0 :(得分:3)

考虑到PyEphem目前的工作方式,有两个步骤可以回答你的问题。首先,您必须将一对星系坐标转换为赤道RA / dec坐标。

import ephem

# Convert a Galactic coordinate to RA and dec                          

galactic_center = ephem.Galactic(0, 0)
eq = ephem.Equatorial(galactic_center)
print 'RA:', eq.ra, 'dec:', eq.dec

→ RA: 17:45:37.20 dec: -28:56:10.2

那些坐标与维基百科为银河系中心提供的坐标非常接近。

现在我们有一个正常的RA / dec坐标,我们只需要弄清楚它现在在天空中的位置。由于PyEphem建立在一个只知道星体和行星之类的天体“物体”的图书馆之上,我们只需要在该位置创建一个假“星”,并询问它的方位角和高度。

# So where is that RA and dec above Boston?
# Pretend that a star or other fixed body is there.

body = ephem.FixedBody()
body._ra = eq.ra
body._dec = eq.dec
body._epoch = eq.epoch

obs = ephem.city('Boston')
obs.date = '2012/6/24 02:00' # 10pm EDT
body.compute(obs)
print 'Az:', body.az, 'Alt:', body.alt

→ Az: 149:07:25.6 Alt: 11:48:43.0

我们可以通过查看当晚波士顿的天空图来检查这个答案是否合理:射手座 - 银河系中心的位置 - 刚好在天空的东南边缘上升,这完全意义上的东南方位角为149°,而低度为11°。