galactocentric_frame_defaults#
- class astropy.coordinates.galactocentric_frame_defaults[源代码]#
基类:
ScienceState
中的帧属性的默认值的全局设置
Galactocentric
框架。这些常量可能会在的未来版本中更新
astropy
。请注意,在使用Galactocentric
,更改此处的值不会影响通过将值传递给Galactocentric
初始化式。修改这些缺省值只会在使用框架时影响框架属性值,例如,Galactocentric
或Galactocentric()
没有明确的论据。通过指定具有以下参数名的参数来控制pre控件:
“pre-v4.0”:当前默认值,它将默认帧属性值设置为其原始(pre-astropy-v4.0)值。
“v4.0”:Astropy版本4.0中更新的属性值。
“latest”:最新参数集的别名(当前为“v4.0”)
或者,用户定义的参数设置可以注册为
register()
,并用作预先指定的参数集。至少,注册必须具有唯一的名称和参数字典,其关键字为“galcen_coord”、“galcen_distance”、“galcen_v_sun”、“z_sun”、“roll”。参见下面的示例。此类还跟踪属性中所有参数值的引用
references
以及任何进一步的信息。预先指定的选项可以扩展为包含与用户定义的参数设置类似的状态信息,例如,添加参数不确定性。按名称获取参数集和元数据的首选方法是
get_from_registry()
因为它确保了登记处的不变性。看见 控制默认帧参数 以获取更多信息。
实例
默认值
Galactocentric
帧参数可以全局修改:>>> from astropy.coordinates import galactocentric_frame_defaults >>> _ = galactocentric_frame_defaults.set('v4.0') >>> Galactocentric() <Galactocentric Frame (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)> >>> _ = galactocentric_frame_defaults.set('pre-v4.0') >>> Galactocentric() <Galactocentric Frame (galcen_coord=<ICRS Coordinate: (ra, dec) in deg (266.4051, -28.936175)>, galcen_distance=8.3 kpc, galcen_v_sun=(11.1, 232.24, 7.25) km / s, z_sun=27.0 pc, roll=0.0 deg)>
也可以通过将此类用作上下文管理器来更新默认参数:
>>> with galactocentric_frame_defaults.set('pre-v4.0'): ... print(Galactocentric()) <Galactocentric Frame (galcen_coord=<ICRS Coordinate: (ra, dec) in deg (266.4051, -28.936175)>, galcen_distance=8.3 kpc, galcen_v_sun=(11.1, 232.24, 7.25) km / s, z_sun=27.0 pc, roll=0.0 deg)>
同样,更改默认参数值不会影响显式指定的帧属性:
>>> import astropy.units as u >>> with galactocentric_frame_defaults.set('pre-v4.0'): ... print(Galactocentric(galcen_distance=8.0*u.kpc)) <Galactocentric Frame (galcen_coord=<ICRS Coordinate: (ra, dec) in deg (266.4051, -28.936175)>, galcen_distance=8.0 kpc, galcen_v_sun=(11.1, 232.24, 7.25) km / s, z_sun=27.0 pc, roll=0.0 deg)>
可以注册其他参数集,例如使用Dehnen&Binney(1998)对太阳运动的测量。我们还可以添加元数据,例如1-sigma错误。在本例中,我们将修改所需的键“parameters”,更改建议的键“references”以匹配“parameters”,并添加额外的键“error”(可以添加任何键):
>>> state = galactocentric_frame_defaults.get_from_registry("v4.0") >>> state["parameters"]["galcen_v_sun"] = (10.00, 225.25, 7.17) * (u.km / u.s) >>> state["references"]["galcen_v_sun"] = "https://ui.adsabs.harvard.edu/full/1998MNRAS.298..387D" >>> state["error"] = {"galcen_v_sun": (0.36, 0.62, 0.38) * (u.km / u.s)} >>> galactocentric_frame_defaults.register(name="DB1998", **state)
与前面的示例一样,可以使用以下命令检索新参数集:
>>> state = galactocentric_frame_defaults.get_from_registry("DB1998") >>> print(state["error"]["galcen_v_sun"]) [0.36 0.62 0.38] km / s
属性摘要
方法总结
get_from_registry
\(名称)返回银河系中心太阳参数和给定参数集字符串名称的元数据。
register
(name, parameters[, references])注册一组参数。
validate
\(值)如果需要,请验证该值并将其转换为其本机类型。
属性文档
- parameters#
- references#
方法文件
- classmethod get_from_registry(name: str)[源代码]#
返回银河系中心太阳参数和给定参数集字符串名称的元数据。此方法确保返回的状态是可变副本,因此所做的任何更改都不会影响注册表状态。