本文主要是介绍天文学中的坐标系(astropy),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
观测到的天文物体的视向速度受到几种投影效应的影响,例如地球的自转和轨道运动、太阳围绕银河系中心的运动、银河系在本星系群内的运动等。为了能够解释观测到的径向速度,必须把它转换成适当的静止坐标系。
对于太阳附近的物体来说,一个有用的静止框架是所谓的质心静止标准(BSR)框架,它使用太阳系的质心作为参考点。BSR框架通常被称为日心静止标准(HSR)框架。然而,后者(HSR)使用太阳的质心作为参考点,而不是太阳系的质心。然而,在大多数情况下,质心速度和日心速度之间的差异相当小,可以忽略不计。
对于位于银河系中距离太阳较远的天体,人们通常使用局部静止标准( local standard-of-rest :LSR)框架作为视向速度的参考。LSR框架下了太阳相对于银河系的旋转速度大约16.55km/s。LSR框架中的径向速度可以由质心速度通过LSR框架中的径向速度可由质心速度计算.
介绍如何使用astropy中计算日心直角坐标系和银心直角坐标系下的3D位置以及速度
日心直角坐标系
左手坐标系,GC为银心,NGC为北银极,Gcrotation:银河系转动方向。
注意:注意将l,b单位为deg。D为距离
使用astropy进行换算:
from astropy.coordinates import SkyCoord
from astropy import units as ura= 120.*u.deg
dec= 30.*u.deg
distance= 1.2*u.kpc
c= apycoords.SkyCoord(ra=ra,dec=dec,distance=distance,frame='icrs')
print("(X,Y,Z) in (kpc,kpc,kpc)")
print("\t",c.galactic.cartesian)
# 速度
print(c.velocity)
银心直角坐标系
右手坐标系。
from astropy import units as u
from astropy.coordinates import SkyCoord,Galactocentricra,dec= 302.70213542915, 33.31981934943
pmra,pmdec=-5.061,-0.377
dist=321
rv= -17
age=46
pos= SkyCoord(ra=ra*u.deg,dec= dec*u.deg,distance=dist*u.pc,pm_ra_cosdec=pmra*u.mas/u.yr,pm_dec=pmdec*u.mas/u.yr,radial_velocity=rv*u.km/u.s,frame='icrs')#将所有点换到银心为中心的直角坐标系
pos1 = pos.transform_to(Galactocentric)
print('position:',pos1)
print('Velocuuty:',pos1.velocity)
参考:沈老师wiki相关介绍
Jo Bovy:Dynamics and Astrophysics of Galaxies
astropy
这篇关于天文学中的坐标系(astropy)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!