Location

天体位置計算を行うクラス

スーパークラス:

インクルードしているモジュール:

Location::Common モジュール メソッド:

Location::Common.deltaT(date)
ユリウス通日からΔTを計算して返します。
  date  ユリウス通日またはDate オブジェクト
Location::Common.deltaE(t)
Location::Common.deltaP(t)
章動(Δε,Δφ)を返します。
  t  ユリウス通日
Location::Common.obl(t)
黄道傾角を返します。
  t  ユリウス通日

クラス メソッド:

Location.get(key [, n=1])
検索キーから、使用する Location オブジェクトを選択して返します。
  key  観測地座標(Location )検索キー
  n    n 番目にマッチした Location オブジェクトを選択するように指示
Location.new([quality={}])
Location オブジェクトを生成して返します。
  quality  性質定義ハッシュ

パブリック インスタンス メソッド:

Location#longitude
観測地の経度/度(東経を正、西経を負とする)を返します。
Location#latitude
観測地の緯度/度(北緯を正、南緯を負とする)を返します。
Location#height
観測地の高度/kmを返します。
Location#center?
観測地が惑星の中心のとき true を、表面のとき false を返します。
Location#planet
観測地のある惑星のIDを返します。
ただし、現状地球に決め打ちしたコードがあり、地球以外にする事は無意味です。
Location#local_sidereal_time(date)
観測地の地方恒星時/時を返します。
  date  ユリウス通日またはDate オブジェクト
Location#equation_of_time(date)
均時差/日を返します。
  date  ユリウス通日またはDate オブジェクト
Location#obserber_distance
観測地の地心距離/kmを返します。
Location#coordinate(date, system, target)
天体の位置情報を返します。
  date    ユリウス通日またはDate オブジェクト
  system  座標系(1:黄道, 2:赤道, 3:地平)
  target  対象星のID
Location#earth_radius
観測者が見る地球の視半径/円周を返します。
Location#star_radius(date, target)
天体の視半径を返します。
  date    ユリウス通日またはDate オブジェクト
  target  対象星のID
Location#eclipse(date, target1, target2)
2天体の食関連位置情報([角距離/円周, 食分1, 食分2])を返します。
  date     ユリウス通日またはDate オブジェクト
  target1  対象星1のID
  target2  対象星2のID
Location#moon_visibility(date)
日没時に月が見えるかどうかを返します(正:見える, 負:見えない)。
満月に近い場合は考慮されていません。主に新月の初見の確認に用います。
  date    地方時正午通日またはDate オブジェクト
Location#day_event(date, event [, target='0' [, height=-air_effect]])
天体が出没南中する日時を返します。
date が数値の場合はユリウス通日で日時を返します。
dateがDate オブジェクトの場合はDate オブジェクトで日時を返します。
  date    地方時正午通日またはDate オブジェクト
  event   出: -1, 南中: 0, 没: +1
  target  対象星のID(デフォルトは太陽)
  height  閾値高度/度(文字指定可 '0':太陽の上端が地平線, 'T':夜明け/日暮れ)
Location#sun_rise(date [, height=-air_effect])
Location#sun_set(date [, height=-air_effect])
Location#sun_noon(date)
太陽が出没南中する日時を返します。
date が数値の場合はユリウス通日で日時を返します。
dateがDate オブジェクトの場合はDate オブジェクトで日時を返します。
  date    地方時正午通日またはDate オブジェクト
  height  閾値高度/度(文字指定可 '0':太陽の上端が地平線, 'T':夜明け/日暮れ)
Location#year_event(date, event, target [,hs=air_effect [,bs=given by table])
恒星の出没と太陽の位置関係に関するイベントの日時を返します。
date が数値の場合はユリウス通日で日時を返します。
dateがDate オブジェクトの場合はDate オブジェクトで日時を返します。
  date    ユリウス通日またはDate オブジェクト
  event   first visible rising : 0 (=ヘリアカル・ライジング)
          last  visible rising : 1
          last  visible setting: 2
          first visible setting: 3
  target  対象星のID(-FK5星表番号)
  hs      恒星の高度/度(地平線上が正)
  bs      太陽の伏角/度(地平線上が負, よって通常は正です)

ブライベート インスタンス メソッド:

Location#_position(date, target[, base='0'])
指定の天体の位置(太陽中心またはbase天体中心)を返します。
  date    ユリウス通日またはDate オブジェクト
  target  計算対象天体('0':太陽,'3':地球,'A':月,'B':地球の本影,
                       'P':北極,'V':春分点,'Z':天頂)
  base    位置基準天体('0':太陽,'3':地球)
Location#_qualify
Location オブジェクトの性質定義を初期設定します。
@Title     = Location.get のキーとなる天体位置名
@Longitude = 観測地の経度/度(東経を正、西経を負とする)
@Latitude  = 観測地の緯度/度(北緯を正、南緯を負とする)
@Height    = 観測地の高度/km
@Center    = 観測地を天体の中心とするとき真とする
@Planet    = 観測地のある天体のID(ハッシュPlanet_Spec のキー)
@Axis      = 観測地のある天体の地軸の北極(2000年元期)を定義するハッシュ
@Shape     = 観測地のある天体の大きさと形を定義する配列
@Air       = 観測地のある天体の大気効果を定義する配列
@Sid       = 観測地の地方恒星時/時(2000年元期)を求める配列
@Zeros     = 天体の出没計算に用いる各種の「ゼロ」高度を定義するハッシュ