半乳中心

class astropy.coordinates.builtin_frames.Galactocentric(*args, **kwargs)[源代码]

基类:BaseCoordinateFrame

坐标系银河系中的坐标或坐标系。

此帧允许指定太阳银河系中心距离、太阳在银河系中平面上方的高度以及相对于银河系中心的太阳运动。然而,由于没有银河系中心参考系的现代标准定义,因此如果代码中的精度很重要,则应注意该类中使用的默认值。该帧参数的默认值取自2014年帧的原始定义。因此,与Gaia等最近可能进行的测量相比,默认值有些过时。但是,可以在运行时通过在中设置参数集名称来更改默认值 galactocentric_frame_defaults .

当前默认参数集为 "pre-v4.0" ,表明之前采用了这些参数 astropy 版本4.0。定期更新的参数集可以通过设置 galactocentric_frame_defaults.set ('latest') ,在将来的版本中可能会添加其他参数集名称。要查找当前默认参数的派生自的科学论文,请使用 galcen.frame_attribute_references (何处) galcen 是此框架的一个实例),即使更改了默认参数集,它也将更新。

假设太阳的位置在最后一个右手系的x轴上。也就是说,x轴从太阳投影到银河系中平面的位置指向银河系中心,大致朝 \((l,b) = (0^\circ,0^\circ)\) . 对于默认转换 (\({{\rm roll}}=0^\circ\) ),y轴大致指向银河经度 \(l=90^\circ\) ,z轴大致指向北极 (\(b=90^\circ\)

要更详细地了解此转换背后的数学原理,请参阅文档 astropy:coordinates-galactocentric

帧属性列在下 其他参数 .

参数
dataBaseRepresentation 子类实例BaseRepresentation子类实例

表示对象或 None 没有数据(或使用坐标分量参数,请参见下文)。

xQuantity 可选数量,可选

笛卡尔,银河中心的 \(x\) 定位部件。

yQuantity 可选数量,可选

笛卡尔,银河中心的 \(y\) 定位部件。

zQuantity 可选数量,可选

笛卡尔,银河中心的 \(z\) 定位部件。

v_xQuantity 可选数量,可选

笛卡尔,银河中心的 \(v_x\) 速度分量。

v_yQuantity 可选数量,可选

笛卡尔,银河中心的 \(v_y\) 速度分量。

v_zQuantity 可选数量,可选

笛卡尔,银河中心的 \(v_z\) 速度分量。

representation_typeBaseRepresentation 子类,str,可选BaseRepresentation子类,str,可选

表示类或表示类的字符串名称。这将设置预期的输入表示类,从而更改传入数据的预期关键字参数。例如,传递 representation_type='cartesian' 将使类期望具有笛卡尔名称的位置数据,即 x, y, z 在大多数情况下,除非通过 frame_specific_representation_info 。要查看此框架的名称,请查看 <this frame>().representation_info

differential_typeBaseDifferential 子类,str,dict,可选基差分子类,str,dict,可选

差分类别或差分类别词典(当前仅支持带有关键字‘s’的速度差异)。这将设置预期的输入差异类,从而更改传入数据的预期关键字参数。例如,传递 differential_type='cartesian' 将使类期待带有参数名称的速度数据 v_x, v_y, v_z 除非通过以下方式重写 frame_specific_representation_info 。要查看此框架的名称,请查看 <this frame>().representation_info

copy可选的布尔

如果 True (默认),复制输入坐标阵列。只能作为关键字参数传入。

其他参数
galcen_coordICRS ,可选,仅关键字ICR,可选,仅关键字

星系中心的ICRS坐标。

galcen_distanceQuantity ,可选,仅关键字数量,可选,仅关键字

从太阳到银河系中心的距离。

galcen_v_sun笛卡尔(CartesianDifferential,Quantity) [“速度”] ,可选,仅关键字

太阳的速度 在星系中心的框架里 作为笛卡尔速度分量。

z_sun数量 [‘长度’] ,可选,仅关键字

从太阳到银河系中平面的距离。

rollAngle ,可选,仅关键字角度,可选,仅关键字

围绕最终x轴旋转的角度,相对于银河系的方向。例如,如果滚动角度为0,则最终的x-z平面将与银河系坐标x-z平面对齐。除非你真的知道这意味着什么,否则你不应该改变这一点!

实例

要使用默认帧属性转换到银河系中心帧,请将未实例化的类名传递给 transform_to() A方法 SkyCoord 对象:

>>> import astropy.units as u
>>> import astropy.coordinates as coord
>>> c = coord.SkyCoord(ra=[158.3122, 24.5] * u.degree,
...                    dec=[-17.3, 81.52] * u.degree,
...                    distance=[11.5, 24.12] * u.kpc,
...                    frame='icrs')
>>> c.transform_to(coord.Galactocentric) 
<SkyCoord (Galactocentric: galcen_coord=<ICRS Coordinate: (ra, dec) in deg
    (266.4051, -28.936175)>, galcen_distance=8.122 kpc, galcen_v_sun=(12.9, 245.6, 7.78) km / s, z_sun=20.8 pc, roll=0.0 deg): (x, y, z) in kpc
    [( -9.43489286, -9.40062188, 6.51345359),
     (-21.11044918, 18.76334013, 7.83175149)]>

要指定一组自定义参数,在初始化银河系中心帧对象时必须包括额外的关键字参数:

>>> c.transform_to(coord.Galactocentric(galcen_distance=8.1*u.kpc)) 
<SkyCoord (Galactocentric: galcen_coord=<ICRS Coordinate: (ra, dec) in deg
    (266.4051, -28.936175)>, galcen_distance=8.1 kpc, galcen_v_sun=(12.9, 245.6, 7.78) km / s, z_sun=20.8 pc, roll=0.0 deg): (x, y, z) in kpc
    [( -9.41284763, -9.40062188, 6.51346272),
     (-21.08839478, 18.76334013, 7.83184184)]>

同样,从银河系中心坐标系到另一个坐标系:

>>> c = coord.SkyCoord(x=[-8.3, 4.5] * u.kpc,
...                    y=[0., 81.52] * u.kpc,
...                    z=[0.027, 24.12] * u.kpc,
...                    frame=coord.Galactocentric)
>>> c.transform_to(coord.ICRS) 
<SkyCoord (ICRS): (ra, dec, distance) in (deg, deg, kpc)
    [( 88.22423301, 29.88672864,  0.17813456),
     (289.72864549, 49.9865043 , 85.93949064)]>

或者,根据银河系中心的定制规格:

>>> c = coord.SkyCoord(x=[-8.0, 4.5] * u.kpc,
...                    y=[0., 81.52] * u.kpc,
...                    z=[21.0, 24120.0] * u.pc,
...                    frame=coord.Galactocentric,
...                    z_sun=21 * u.pc, galcen_distance=8. * u.kpc)
>>> c.transform_to(coord.ICRS) 
<SkyCoord (ICRS): (ra, dec, distance) in (deg, deg, kpc)
    [( 86.2585249 , 28.85773187, 2.75625475e-05),
     (289.77285255, 50.06290457, 8.59216010e+01)]>

属性摘要

default_differential 

差异数据的默认表示法(例如,速度)

default_representation 

职位数据的默认表示法

frame_attributes 

frame_specific_representation_info 

帧特定组件名称的映射

galcen_coord 

galcen_distance 

galcen_v_sun 

name 

roll 

z_sun 

方法总结

get_roll0 \()

使最终z轴与银河系yz平面相匹配所需的附加滚动角(关于最终x轴)。

属性文档

default_differential

差异数据的默认表示法(例如,速度)

default_representation

职位数据的默认表示法

frame_attributes = {'galcen_coord': <astropy.coordinates.attributes.CoordinateAttribute object>, 'galcen_distance': <astropy.coordinates.attributes.QuantityAttribute object>, 'galcen_v_sun': <astropy.coordinates.attributes.DifferentialAttribute object>, 'roll': <astropy.coordinates.attributes.QuantityAttribute object>, 'z_sun': <astropy.coordinates.attributes.QuantityAttribute object>}
frame_specific_representation_info

帧特定组件名称的映射

galcen_coord = None
galcen_distance = None
galcen_v_sun = None
name = 'galactocentric'
roll = None
z_sun = None

方法文件

classmethod get_roll0()[源代码]

使最终z轴与银河系yz平面相匹配所需的附加滚动角(关于最终x轴)。设置 roll 此方法的返回值将删除此旋转,从而允许使用 Galactocentric 在更一般的情况下框架。