com.nttdocomo.device.location
クラス Degree

Object
  拡張com.nttdocomo.device.location.Degree

public class Degree
extends Object
 [iアプリオプションAPI]

緯度・経度・方位角などの角度を表します。 角度は、DEGREE 単位(浮動小数点数表現、 固定小数点数表現)と DMS 単位を取得可能ですが、 どの場合でも、内部的には DEGREE 単位(浮動小数点数表現)の値が保持されており、 必要に応じてDEGREE 単位(固定小数点数表現)や DMS 単位への変換が行われます。 その際、以下の場合に、得られる値の精度が落ちることに注意してください。

導入されたバージョン:
DoJa-3.0 (505iGPS)、DoJa-4.0LE、DoJa-5.0 (903i)

コンストラクタの概要
Degree(double degree)
          DEGREE 単位(浮動小数点数表現)で角度を指定して、 このオブジェクトを生成します。
Degree(int degree, int minute, float second)
           DMS 単位で角度を指定して、このオブジェクトを生成します。
Degree(int degree, int minute, int centisecond)
          推奨されていません。 DoJa-4.0LE、DoJa-5.0 (903i) 以降では、 このコンストラクタは second 部分を小数点以下第2位までしか扱えないため Degree(int, int, float) に置き換えられました。
Degree(long degree)
          DEGREE 単位(固定小数点数表現)で角度を指定して、 このオブジェクトを生成します。
 
メソッドの概要
 int getCentisecondPart()
          推奨されていません。 DoJa-4.0LE、DoJa-5.0 (903i) 以降では、 このメソッドは second 部分を小数点以下第2位までしか扱えないため getSecondPart() に置き換えられました。
 int getDegreePart()
           この角度を DMS 単位で表した場合の degree 部分を取得します。
 long getFixedPointNumber()
           この角度を DEGREE 単位で表した場合の値を、固定小数点数表現で取得します。
 double getFloatingPointNumber()
           この角度を DEGREE 単位で表した場合の値を、浮動小数点数表現で取得します。
 int getMinutePart()
           この角度を DMS 単位で表した場合の minute 部分を取得します。
 float getSecondPart()
           この角度を DMS 単位で表した場合の second 部分の値を取得します。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Degree

public Degree(int degree,
              int minute,
              int centisecond)
推奨されていません。 DoJa-4.0LE、DoJa-5.0 (903i) 以降では、 このコンストラクタは second 部分を小数点以下第2位までしか扱えないため Degree(int, int, float) に置き換えられました。

DMS 単位で角度を指定して、このオブジェクトを生成します。

-512 度 0 分 0.00 秒以上、511 度 59 分 59.99 秒以下の値が指定できます。 負の角度を指定する場合は、引数 degree を負の値として下さい。 例えば、-40 度 15 分 23.45 秒 を指定したい時には、 new Degree(-40, 15, 2345) とします。

パラメータ:
degree - DMS 単位の degree 部を指定します。 区間 [-512, 512) に含まれている必要があります。
minute - DMS 単位の minute 部を指定します。 区間 [0, 60) に含まれている必要があります。
centisecond - DMS 単位の second 部を100倍した値を指定します。 区間 [0, 6000) に含まれている必要があります。
例外:
UnsupportedOperationException - 位置情報取得機能をサポートしていない場合に発生します。
IllegalArgumentException - 引数 degree が、区間 [-512, 512) に含まれていない場合に発生します。
IllegalArgumentException - 引数 minute が、区間 [0, 60) に含まれていない場合に発生します。
IllegalArgumentException - 引数 centisecond が、 区間 [0, 6000) に含まれていない場合に発生します。
IllegalArgumentException - -512 度 0 分 0.00 秒未満の角度を表現する値の組み合わせや、 511 度 59 分 59.99 秒を超える角度を表現する値の組み合わせが指定された場合に発生します。

Degree

public Degree(int degree,
              int minute,
              float second)

DMS 単位で角度を指定して、このオブジェクトを生成します。

-512 度 0 分 0.0 秒以上、512 度 0 分 0.0 秒未満の値が指定できます。 負の角度を指定する場合は、引数 degree を負の値として下さい。 例えば、-40 度 15 分 23.456 秒 を指定したい時には、 new Degree(-40, 15, 23.456) とします。

引数 second に小数第4位以下が存在する値を与えた場合、 小数第4位で四捨五入されます。

パラメータ:
degree - DMS 単位の degree 部を指定します。 区間 [-512, 512) に含まれている必要があります。
minute - DMS 単位の minute 部を指定します。 区間 [0, 60) に含まれている必要があります。
second - DMS 単位の second 部を指定します。 区間 [0.0, 60.0) に含まれている必要があります。
例外:
UnsupportedOperationException - 位置情報取得機能をサポートしていない場合に発生します。
IllegalArgumentException - 引数 degree が、区間 [-512, 512) に含まれていない場合に発生します。
IllegalArgumentException - 引数 minute が、区間 [0, 60) に含まれていない場合に発生します。
IllegalArgumentException - 引数 second が、 区間 [0.0, 60.0) に含まれていない場合(引数 second が Float.NaN の場合も含む)に発生します。
IllegalArgumentException - -512 度 0 分 0.0 秒未満の角度を表現する値の組み合わせや、 512 度 0 分 0.0 秒以上の角度を表現する値の組み合わせが指定された場合に発生します。
導入されたバージョン:
DoJa-4.0LE、DoJa-5.0 (903i)

Degree

public Degree(long degree)
DEGREE 単位(固定小数点数表現)で角度を指定して、 このオブジェクトを生成します。

パラメータ:
degree - 角度を、2-31度を1に換算した整数値で指定します。 -1099511627776 (0xFFFFFF0000000000) 以上 1099511627775 (0x000000FFFFFFFFFF) 以下の値 (41ビットで表現できる値。約±512度) が指定できます。
例外:
UnsupportedOperationException - 位置情報取得機能をサポートしていない場合に発生します。
IllegalArgumentException - 引数 degree に -1099511627776 (0xFFFFFF0000000000) 未満を指定した場合や、 1099511627775 (0x000000FFFFFFFFFF) を超える値を指定した場合に発生します。

Degree

public Degree(double degree)
DEGREE 単位(浮動小数点数表現)で角度を指定して、 このオブジェクトを生成します。

パラメータ:
degree - 角度を浮動小数点数表現で指定します。 区間 [-512.0, 512.0) に含まれている値が指定できます。
例外:
UnsupportedOperationException - 位置情報取得機能をサポートしていない場合に発生します。
IllegalArgumentException - 引数 degree に区間 [-512.0, 512.0) に含まれていない値が指定された場合や、 Double.NaN が指定された場合に発生します。
導入されたバージョン:
DoJa-4.0LE、DoJa-5.0 (903i)
メソッドの詳細

getDegreePart

public int getDegreePart()

この角度を DMS 単位で表した場合の degree 部分を取得します。 値域についての正規化は行われません。 すなわち、コンストラクタで +200 度と指定した場合には 200 が、 -250 度と指定した場合には -250 が返されます。

取得した値には、 DMS 単位への変換に伴なう丸め誤差が含まれている可能性があります。

戻り値:
DMS 単位で表した場合の degree 部分を返します。

getMinutePart

public int getMinutePart()

この角度を DMS 単位で表した場合の minute 部分を取得します。

取得した値には、 DMS 単位への変換に伴なう丸め誤差が含まれている可能性があります。

戻り値:
DMS 単位で表した場合の minute 部分を返します。

getCentisecondPart

public int getCentisecondPart()
推奨されていません。 DoJa-4.0LE、DoJa-5.0 (903i) 以降では、 このメソッドは second 部分を小数点以下第2位までしか扱えないため getSecondPart() に置き換えられました。

この角度を DMS 単位で表した場合の second 部分を 100 倍した値を取得します。

取得した値には、 DMS 単位への変換に伴なう丸め誤差が含まれている可能性があります。

戻り値:
DMS 単位で表した場合の second 部分を 100 倍した値を返します。

getSecondPart

public float getSecondPart()

この角度を DMS 単位で表した場合の second 部分の値を取得します。

取得した値には、 DMS 単位への変換に伴なう丸め誤差が含まれている可能性があります。

戻り値:
DMS 単位で表した場合の second 部分を返します。
導入されたバージョン:
DoJa-4.0LE、DoJa-5.0 (903i)

getFixedPointNumber

public long getFixedPointNumber()

この角度を DEGREE 単位で表した場合の値を、固定小数点数表現で取得します。 下位31ビットが小数部を表します。 すなわち、2-31度を1とした整数が返ります。

値域についての正規化は行われません。 すなわち、コンストラクタで +250.0 度と指定した場合には (250 << 31)が、 -210.0 度と指定した場合には (-210 << 31) が返されます。

このオブジェクトが Degree(int,int,int)Degree(int,int,float) によって生成された場合、取得した値には DEGREE 単位への変換に伴なう丸め誤差が含まれている可能性があります。 また、このオブジェクトが Degree(double) によって生成された場合、 浮動小数点数表現から固定小数点数表現への変換に伴う丸め誤差が含まれている可能性があります。

一方、このオブジェクトが Degree(long) によって生成された場合、取得した値には誤差は含まれません。

戻り値:
DEGREE 単位(固定小数点数表現)で表した場合の値を返します。

getFloatingPointNumber

public double getFloatingPointNumber()

この角度を DEGREE 単位で表した場合の値を、浮動小数点数表現で取得します。

値域についての正規化は行われません。 すなわち、コンストラクタで +250.0 度と指定した場合には 250.0 が、 -210.0 度と指定した場合には -210.0 が返されます。

このオブジェクトが Degree(int,int,int)Degree(int,int,float) によって生成された場合、取得した値には DEGREE 単位への変換に伴なう丸め誤差が含まれている可能性があります。

一方、このオブジェクトが Degree(long)Degree(double) によって生成された場合、取得した値には誤差は含まれません。

戻り値:
DEGREE 単位(浮動小数点数表現)で表した場合の値を返します。
導入されたバージョン:
DoJa-4.0LE、DoJa-5.0 (903i)


NTT DOCOMO,INC.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。