galactocentric_frame_defaults¶
- class astropy.coordinates.builtin_frames.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()
因为它确保了注册表的不变性。看见 astropy:astropy-coordinates-galactocentric-defaults 以获取更多信息。
实例
默认值
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
\(名称)返回银河系中心太阳参数和给定参数集字符串名称的元数据。
自 v4.2 版本弃用.
register
(name, parameters[, references])注册一组参数。
validate
\(值)如果需要,请验证该值并将其转换为其本机类型。
属性文档
- parameters¶
- references¶
方法文件
- classmethod get_from_registry(name: str)[源代码]¶
返回银河系中心太阳参数和给定参数集字符串名称的元数据。此方法确保返回的状态是可变副本,因此所做的任何更改都不会影响注册表状态。
- 返回
- state双关语
字符串名称的注册表副本。至少应包含:
- “参数”:dict
星系中心太阳参数
- “参考资料”双关语 [str,并集[str,Sequence[str] ] ]
“参数”参考。字段是str或str序列。
- 加薪
- KeyError
如果输入到注册表的字符串无效,则检索银河系中心帧的太阳参数。
- classmethod get_solar_params_from_string(arg)[源代码]¶
自 v4.2 版本弃用: get_solar_params_from_string方法已弃用,可能会在将来的版本中删除。使用
get_from_registry
相反。返回给定参数集字符串名称的银河系中心太阳参数。
- 返回
- parameters双关语
从注册表复制银河系中心太阳参数
- 加薪
- KeyError
如果输入到注册表的字符串无效,则检索银河系中心帧的太阳参数。