使用角度¶
様々な座標オブジェクトの角度成分は Angle
級友たち。座標オブジェクトの文脈で遭遇する可能性は最も高いが Angle
角度表示が必要な場所では,オブジェクトを単独で使用することも可能である.
創作¶
1つを作ることができます Angle
Objectは非常に柔軟であり,複数の入力オブジェクトタイプやフォーマットをサポートしている.入力角度のタイプは、配列、スカラ、タプル、文字列であってもよい Quantity
あるいはもう1つは Angle
それがそうです。この点は、多くの有効な方法の例を用いて最もよく説明されており、これらの方法は作成することができる Angle
それがそうです。
実例.¶
様々な方法で作成することができます Angle
**
>>> import numpy as np
>>> from astropy import units as u
>>> from astropy.coordinates import Angle
>>> Angle('10.2345d') # String with 'd' abbreviation for degrees
<Angle 10.2345 deg>
>>> Angle(['10.2345d', '-20d']) # Array of strings
<Angle [ 10.2345, -20. ] deg>
>>> Angle('1:2:30.43 degrees') # Sexagesimal degrees
<Angle 1.04178611 deg>
>>> Angle('1 2 0 hours') # Sexagesimal hours
<Angle 1.03333333 hourangle>
>>> Angle(np.arange(1., 8.), unit=u.deg) # Numpy array from 1..7 in degrees
<Angle [1., 2., 3., 4., 5., 6., 7.] deg>
>>> Angle('1°2′3″') # Unicode degree, arcmin and arcsec symbols
<Angle 1.03416667 deg>
>>> Angle('1°2′3″N') # Unicode degree, arcmin, arcsec symbols and direction
<Angle 1.03416667 deg>
>>> Angle('1d2m3.4s') # Degree, arcmin, arcsec.
<Angle 1.03427778 deg>
>>> Angle('1d2m3.4sS') # Degree, arcmin, arcsec, direction.
<Angle -1.03427778 deg>
>>> Angle('-1h2m3s') # Hour, minute, second
<Angle -1.03416667 hourangle>
>>> Angle('-1h2m3sW') # Hour, minute, second, direction
<Angle 1.03416667 hourangle>
>>> Angle((-1, 2, 3), unit=u.deg) # (degree, arcmin, arcsec)
<Angle -1.03416667 deg>
>>> Angle(10.2345 * u.deg) # From a Quantity object in degrees
<Angle 10.2345 deg>
>>> Angle(Angle(10.2345 * u.deg)) # From another Angle object
<Angle 10.2345 deg>
表示法¶
♪the Angle
オブジェクトは,角度値を浮動小数点数や文字列として表現する様々な方式をサポートしている.
実例.¶
表現できる方法はたくさんあります Angle
**
>>> a = Angle(1, u.radian)
>>> a
<Angle 1. rad>
>>> a.radian
1.0
>>> a.degree
57.29577951308232
>>> a.hour
3.8197186342054885
>>> a.hms
hms_tuple(h=3.0, m=49.0, s=10.987083139758766)
>>> a.dms
dms_tuple(d=57.0, m=17.0, s=44.806247096362313)
>>> a.signed_dms
signed_dms_tuple(sign=1.0, d=57.0, m=17.0, s=44.806247096362313)
>>> (-a).dms
dms_tuple(d=-57.0, m=-17.0, s=-44.806247096362313)
>>> (-a).signed_dms
signed_dms_tuple(sign=-1.0, d=57.0, m=17.0, s=44.806247096362313)
>>> a.arcminute
3437.7467707849396
>>> a.to_string()
'1rad'
>>> a.to_string(unit=u.degree)
'57d17m44.8062s'
>>> a.to_string(unit=u.degree, sep=':')
'57:17:44.8062'
>>> a.to_string(unit=u.degree, sep=('deg', 'm', 's'))
'57deg17m44.8062s'
>>> a.to_string(unit=u.hour)
'3h49m10.9871s'
>>> a.to_string(unit=u.hour, decimal=True)
'3.81972'
用法¶
適切な算術演算についても,角度は正しく実行される.
例を引く¶
使用 Angle
算術演算におけるオブジェクト:
>>> a = Angle(1.0, u.radian)
>>> a + 0.5 * u.radian + 2 * a
<Angle 3.5 rad>
>>> np.sin(a / 2)
<Quantity 0.47942554>
>>> a == a
array(True, dtype=bool)
>>> a == (a + a)
array(False, dtype=bool)
Angle
オブジェクトは、座標オブジェクトを作成するために使用されてもよい。
例を引く¶
座標オブジェクトを作成するステップ Angle
**
>>> from astropy.coordinates import ICRS
>>> ICRS(Angle(1, u.deg), Angle(0.5, u.deg))
<ICRS Coordinate: (ra, dec) in deg
(1., 0.5)>
包絡線と境界¶
境界を有するべき角度を処理するために使用することができる2つの実用的な方法がある。♪the wrap_at()
方法は、1つまたは複数の角度を取り、それを単一の360度スライス内に包むことを可能にする。♪the is_within_bounds()
方法は、1つまたは複数の角度が指定された範囲内にあるかどうかを示すブール値を返す。
経度と緯度オブジェクト¶
Longitude
そして Latitude
2つの専門的なサブクラスです Angle
クラスの新しい例では、これらのクラスは、すべての球面座標クラスに使用される。 Longitude
赤道座標、銀河経度、方位等の値(それぞれ赤道座標、銀河座標、Alt−Az座標を表す)を表す。 Latitude
赤緯、銀河緯度、標高に使われています。
経度.経度¶
A Longitude
対象と純 Angle
1つで wrap_angle
財産です。♪the wrap_angle
指定されたオブジェクトが表すすべての角度値は以下の範囲内となる.
wrap_angle - 360 * u.deg <= angle(s) < wrap_angle
デフォルト設定 wrap_angle
360度です。設ける 'wrap_angle=180 * u.deg'
代わりに-180度と+180度の間の値である.設ける wrap_angle
既存の Longitude
対象はその場での再包装角値につながる。例えば:
>>> from astropy.coordinates import Longitude
>>> a = Longitude([-20, 150, 350, 360] * u.deg)
>>> a.degree
array([340., 150., 350., 0.])
>>> a.wrap_angle = 180 * u.deg
>>> a.degree
array([-20., 150., -10., 0.])
緯度.緯度.¶
Latitudeオブジェクトは純粋なLatitudeオブジェクトとは異なる Angle
有界なので、
-90.0 * u.deg <= angle(s) <= +90.0 * u.deg
この範囲を超えた値を設定しようとするいかなる試みも ValueError
それがそうです。