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

标签 python coordinate-transformation astronomy pyephem

对于地球上给定的观察者(经度、纬度、时间)和给定的银河坐标(GLON、GLAT),我如何使用 PyEphem 计算天空中对应的(alt、az)点?

最佳答案

鉴于 PyEphem 目前的工作方式,有两个步骤可以回答您的问题。首先,您必须将一对银河坐标转换为一对赤道赤经/赤纬坐标。

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

这些坐标非常接近维基百科给出的银心坐标。

现在我们有了一个正常的赤经/赤经坐标,我们只需要弄清楚它现在在天空中的位置。由于 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°。

关于python - 如何使用 PyEphem 计算给定银河坐标(GLON,GLAT)的(alt,az)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11169523/

相关文章:

python - unboundLocalError - 变量是字典中的关键

python - 如何在Python中使用SURF?

javascript - 三个 JS 旋转组,与 View Cube/Orientation Cube 的相机方向相同

android - View.getLocationOnScreen 无法正常工作

python - 将一组 x,y 点匹配到另一个已缩放、旋转、平移且缺少元素的集合

python - 地球到木星距离与 Skyfield

matlab - (Satellite on orbit) - 创建从点到球体的切线锥

python - 当主进程终止时,Celery 启动的进程不会停止

python - 在 reshape 图像阵列时感到困惑

java - OpenGL 中的矩阵变换