Healpy:Rotator函数给出不同的结果

2024-06-16 09:40:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用以下脚本来计算银河系中心(GC)在银河系坐标系(度)到天体坐标系中的位置:

import healpy as hp
r = hp.Rotator(coord = ['G', 'C'], deg=True)
ri = hp.Rotator(coord = ['C', 'G'], deg=True)
gz, ga = 0., 0.         # position of GC
gz_e, ga_e = r(gz, ga)
print gz_e, ga_e
zg, ag = ri(gz_e, ga_e)
print zg, ag

我得到的结果是:

^{pr2}$

首先,这些数字在天体坐标系和银河系坐标系中都是错误的。有可能我用错了函数(我希望如此),或者函数本身有问题。有人知道出什么问题了吗?在

第二:看起来,我把弧度表示的数字取回来了,对吗?在


Tags: true天体gchpprint坐标系gagz
1条回答
网友
1楼 · 发布于 2024-06-16 09:40:18

deg只指rot中的角,而不是Rotator本身。Rotator需要theta(冷度)和{}(经度),请参见:

import healpy as hp
import numpy as np
r = hp.Rotator(coord = ['G', 'C'])
ri = hp.Rotator(coord = ['C', 'G'])
gz, ga = np.pi/2, 0.         # position of GC
gz_e, ga_e = r(gz, ga)

print("Galactic center in Celestial Coordinates")
print(gz_e, ga_e)
zg, ag = ri(gz_e, ga_e)
print("Back to galactic coordinates")
print(zg, ag)

输出:

^{pr2}$

相关问题 更多 >