to.tetramorph.starbase.util
クラス AngleConverter

java.lang.Object
  上位を拡張 to.tetramorph.starbase.util.AngleConverter

public class AngleConverter
extends Object

天体位置や観測地の緯度経度を文字列表現に変換するstaticメソッド群。


フィールドの概要
static int DECIMAL
          10進表記を表す定数
static int SEXAGESIMAL
          60進表記を表す定数
 
メソッドの概要
static double fnac(double x)
          ラジアンで入力された値のアークコサインを角度で返す
static double fnas(double x)
          ラジアンで入力された値のアークサインを角度で返す
static double fnat(double x, double y)
          タンジェントを角度で返す
static double fnc(double x)
          角度入力で cosを計算し値を返す
static double fns(double x)
          角度入力で sinを計算し値を返す
static double fnt(double x)
          角度入力でtanを計算し値を返す
static String formatSignAngle(double value, int degits)
          星座度数の値 ( 0 >= x < 30) を指定小数点で「切り捨て」て文字列で返す。
static String[] formatSignAngles(double[] values, int degits)
          配列で与えられた星座度数の値 ( 0 >= x < 30) を指定小数点で「切り捨て」て 文字列で返す。
static int getAngleUnit()
          システムプロパティの"app.topounit"のキーの値を参照して、単位系を返す。
static String getFormattedLatitude(Double latitude)
          システムプロパティ"app.topounit"のキーから10進/60進数を判定して、 緯度を書式整形して返す。
static String getFormattedLatitude(int unit, Double latitude)
          このオブジェクトの緯度を書式整形して返す。
static String getFormattedLatitude(String latitude)
          緯度を整形して返す。
static String getFormattedLongitude(Double longitude)
          システムプロパティ"app.topounit"のキーから10進/60進数を判定して、 経度を書式整形して返す。
static String getFormattedLongitude(int unit, Double longitude)
          このオブジェクトの経度を書式整形して返す。
static String getFormattedLongitude(String longitude)
          経度を整形して返す。
static String getSignAngle(double value)
          システムプロパティ"app.angleunit"のキーから10進/60進数を判定して、 天体の獣帯座標用に数値を書式整形して返す。
static String getSignAngle2(double value)
          システムプロパティ"app.angleunit"のキーから10進/60進数を判定して、 天体の獣帯座標用に数値を書式整形して返す。
static String getSignAngleConstantLength(double value, int precision)
          浮動小数を指定桁数で切り捨て、左詰めに整形して返す。
static double[] sexagesimal(double decimal)
          10進小数を60進数表現にして返す。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DECIMAL

public static final int DECIMAL
10進表記を表す定数

関連項目:
定数フィールド値

SEXAGESIMAL

public static final int SEXAGESIMAL
60進表記を表す定数

関連項目:
定数フィールド値
メソッドの詳細

formatSignAngle

public static String formatSignAngle(double value,
                                     int degits)
星座度数の値 ( 0 >= x < 30) を指定小数点で「切り捨て」て文字列で返す。 つまりvalue=23.3999 のときdegits=2で切り捨てると23.39。

パラメータ:
value - 天体度数
degits - 小数点何位で切り捨てるか(0〜4)

formatSignAngles

public static String[] formatSignAngles(double[] values,
                                        int degits)
配列で与えられた星座度数の値 ( 0 >= x < 30) を指定小数点で「切り捨て」て 文字列で返す。つまりvalue=23.3999 のときdegits=2で切り捨てると23.39。

パラメータ:
values - 天体度数(複数)
degits - 小数点何位で切り捨てるか(0〜4)

getSignAngleConstantLength

public static String getSignAngleConstantLength(double value,
                                                int precision)
浮動小数を指定桁数で切り捨て、左詰めに整形して返す。 たとえば小数点2位で整形した場合次のようになる。
 " 6.71"
 "12.33"
 "12.0 "
 " 0.0 "
 つまり整数部が10以下のときは行頭がスペースで埋まり、小数部2位がゼロなら、
 そこもスペースで埋まり、つねに5文字に整形される。
 整数部が0以下または30かそれ以上の場合は、IllegalArgumentExceptionが出る。
 

パラメータ:
value - 浮動小数
precision - 精度。2を指定するとコンマ二桁まで。
例外:
IllegalArgumentException

getSignAngle

public static String getSignAngle(double value)
システムプロパティ"app.angleunit"のキーから10進/60進数を判定して、 天体の獣帯座標用に数値を書式整形して返す。 10進の場合は、getSignAngleConstantLength()でprecisionに2を指定した 文字列を返す。60進数の場合は" 2.23'"という文字列を返す。 いずれにせよ小数点以下は2位で固定されている。 負数を入力した場合の動作は保証されない。


getSignAngle2

public static String getSignAngle2(double value)
システムプロパティ"app.angleunit"のキーから10進/60進数を判定して、 天体の獣帯座標用に数値を書式整形して返す。 整数部、小数部ともに二桁で10進の場合"02.33"等。60進の場合は"02.33'"等。 60進である識別は末尾のシングルクォート。


sexagesimal

public static double[] sexagesimal(double decimal)
10進小数を60進数表現にして返す。
 戻り値を表示する際の例
    System.out.printf("%d %d %f\n",(int)v[1],(int)v[2],v[3]);
 

パラメータ:
decimal - 十進小数
戻り値:
戻り値の[0]は符号で、正の値のときは1.0、負のときは-1.0、ゼロのときは0.0。 [1]は度、または時の位。[2]は分、[3]は秒とその端数。 [0],[1],[2]はかならず整数が戻る。

getFormattedLongitude

public static String getFormattedLongitude(int unit,
                                           Double longitude)
このオブジェクトの経度を書式整形して返す。 引数で十進表記、六十進表記を指定できる。

パラメータ:
unit - DECIMAL または SEXAGESIMAL
longitude - 経度

getFormattedLatitude

public static String getFormattedLatitude(int unit,
                                          Double latitude)
このオブジェクトの緯度を書式整形して返す。 引数で十進表記、六十進表記を指定できる。

パラメータ:
unit - DECIMAL または SEXAGESIMAL
latitude - 緯度

getAngleUnit

public static int getAngleUnit()
システムプロパティの"app.topounit"のキーの値を参照して、単位系を返す。

戻り値:
SEXAGESIMAL, DECIMALのどちらか。

getFormattedLatitude

public static String getFormattedLatitude(Double latitude)
システムプロパティ"app.topounit"のキーから10進/60進数を判定して、 緯度を書式整形して返す。


getFormattedLongitude

public static String getFormattedLongitude(Double longitude)
システムプロパティ"app.topounit"のキーから10進/60進数を判定して、 経度を書式整形して返す。


getFormattedLongitude

public static String getFormattedLongitude(String longitude)
経度を整形して返す。東経なら"135.5E" 西経なら"135.5W"などとなる。

パラメータ:
longitude - 文字列表現の経度
戻り値:
整形された経度

getFormattedLatitude

public static String getFormattedLatitude(String latitude)
緯度を整形して返す。北緯なら"35.5N" 南緯なら"-45.5S"などとなる。

パラメータ:
latitude - 文字列表現の緯度
戻り値:
整形された緯度

fnc

public static double fnc(double x)
角度入力で cosを計算し値を返す


fns

public static double fns(double x)
角度入力で sinを計算し値を返す


fnt

public static double fnt(double x)
角度入力でtanを計算し値を返す


fnac

public static double fnac(double x)
ラジアンで入力された値のアークコサインを角度で返す


fnas

public static double fnas(double x)
ラジアンで入力された値のアークサインを角度で返す


fnat

public static double fnat(double x,
                          double y)
タンジェントを角度で返す