角度¶
- class astropy.coordinates.Angle(angle, unit=None, dtype=None, copy=True, **kwargs)[源代码]¶
-
一个或多个角度值,单位等于弧度或度。
角度可以指定为数组、标量、元组(见下文)、字符串,
Quantity
或者别的什么Angle
.输入解析器非常灵活,支持多种格式。下面的示例说明初始化
Angle
对象。第一部分进口:>>> from astropy.coordinates import Angle >>> from astropy import units as u
现在可以提供角度值:
>>> Angle('10.2345d') <Angle 10.2345 deg> >>> Angle(['10.2345d', '-20d']) <Angle [ 10.2345, -20. ] deg> >>> Angle('1:2:30.43 degrees') <Angle 1.04178611 deg> >>> Angle('1 2 0 hours') <Angle 1.03333333 hourangle> >>> Angle(np.arange(1, 8), unit=u.deg) <Angle [1., 2., 3., 4., 5., 6., 7.] deg> >>> Angle('1°2′3″') <Angle 1.03416667 deg> >>> Angle('1°2′3″N') <Angle 1.03416667 deg> >>> Angle('1d2m3.4s') <Angle 1.03427778 deg> >>> Angle('1d2m3.4sS') <Angle -1.03427778 deg> >>> Angle('-1h2m3s') <Angle -1.03416667 hourangle> >>> Angle('-1h2m3sE') <Angle -1.03416667 hourangle> >>> Angle('-1h2.5m') <Angle -1.04166667 hourangle> >>> Angle('-1h2.5mW') <Angle 1.04166667 hourangle> >>> Angle('-1:2.5', unit=u.deg) <Angle -1.04166667 deg> >>> Angle(10.2345 * u.deg) <Angle 10.2345 deg> >>> Angle(Angle(10.2345 * u.deg)) <Angle 10.2345 deg>
- 参数
- 加薪
UnitsError
如果没有提供一个单位或它不是一个角度单位。
属性摘要
角度的值(以度为单位),作为具有
(d, m, s)
成员。以小时为单位的角度值,作为
(h, m, s)
成员。以小时为单位的角度值(只读属性)。
角度的值(以度为单位),作为具有
(sign, d, m, s)
成员。方法总结
is_within_bounds
([lower, upper])检查所有角度是否满足
lower <= angle < upper
to_string
([unit, decimal, sep, precision, ...])角度的字符串表示。
wrap_at
(wrap_angle[, inplace])包装
Angle
在给定的wrap_angle
.属性文档
- dms¶
角度的值(以度为单位),作为具有
(d, m, s)
成员。(这是只读属性。)
- hms¶
以小时为单位的角度值,作为
(h, m, s)
成员。(这是只读属性。)
- hour¶
以小时为单位的角度值(只读属性)。
- signed_dms¶
角度的值(以度为单位),作为具有
(sign, d, m, s)
成员。这个d
,m
,s
因此总是正的,角度的符号由sign
. (这是只读属性。)主要用于
dms
生成对负角度正确的坐标的字符串表示。
方法文件
- is_within_bounds(lower=None, upper=None)[源代码]¶
检查所有角度是否满足
lower <= angle < upper
如果
lower
未指定(或None
)然后不执行下限检查。同样upper
可以不指定。例如::>>> from astropy.coordinates import Angle >>> import astropy.units as u >>> a = Angle([-20, 150, 350] * u.deg) >>> a.is_within_bounds('0d', '360d') False >>> a.is_within_bounds(None, '360d') True >>> a.is_within_bounds(-30 * u.deg, None) True
- to_string(unit=None, decimal=False, sep='fromunit', precision=None, alwayssign=False, pad=False, fields=3, format=None)[源代码]¶
角度的字符串表示。
- 参数
- unit :
UnitBase
可选UnitBase,可选 指定单位。必须是一个角度单位。如果未提供,将使用用于初始化角度的单位。
- decimal可选的布尔
如果
True
,则将使用十进制表示形式,否则返回的字符串将为sexagesimal格式。- sep可选的STR
十六进制表示法中数字之间的分隔符。E、 如果是“:”,结果是
'12:41:11.1241'
. 也可接受2或3个分隔符。例如。,sep='hms'
会给出结果的'12h41m11.1241s'
,或sep='-:'将产生'11-21:17.124'
. 或者,如果单位是度,特殊字符串“fromunit”表示“dms”;如果单位是小时,则表示“hms”。- precision可选的
十进制精度的级别。如果
decimal
是True
,这是原始精度,否则将给出sexagesimal表示法最后一位的精度(秒)。如果None
,或不提供,小数位数由该值决定,并根据需要在0-8位小数之间。- alwayssign可选的布尔
- pad可选的布尔
如果
True
,在需要时包括前导零,以确保十六进制表示的字符数固定。- fields可选的
指定输出sexagesimal表示法时要显示的字段数。例如:
字段==1:
'5d'
字段==2:
'5d45m'
字段==3:
'5d45m32.5s'
默认情况下,显示所有字段。
- format可选的STR
结果的格式。如果未提供,则返回未修饰的字符串。支持的值包括:
“latex”:返回latex格式的字符串
‘LaTeX_Inline’:返回LaTeX格式的字符串,该字符串与
format='latex'
为Angle
实例“unicode”:返回包含非ASCII unicode字符的字符串,例如度符号
- unit :
- 返回
- strreprstr或array
角度的字符串表示。如果角度是一个数组,这将是一个unicode数据类型的数组。
- wrap_at(wrap_angle, inplace=False)[源代码]¶
包装
Angle
在给定的wrap_angle
.此方法强制所有角度值在一个连续的360度范围内,以便
wrap_angle - 360d <= angle < wrap_angle
. 默认情况下,将返回一个新的角度对象,但是如果inplace
论证是True
然后Angle
对象被包装在适当的位置,并且不返回任何内容。例如::
>>> from astropy.coordinates import Angle >>> import astropy.units as u >>> a = Angle([-20.0, 150.0, 350.0] * u.deg) >>> a.wrap_at(360 * u.deg).degree # Wrap into range 0 to 360 degrees array([340., 150., 350.]) >>> a.wrap_at('180d', inplace=True) # Wrap into range -180 to 180 degrees >>> a.degree array([-20., 150., -10.])