com.docomostar.device.location
クラス Location

Object
  上位を拡張 com.docomostar.device.location.Location

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

測位結果を表します。 このオブジェクトには、緯度・経度・高度・測地系・水平方向の精度といった位置情報、 ならびに測位時刻が格納されています。

緯度や経度の正負の解釈は以下の通りです。

正の角度0負の角度
緯度 北緯 赤道 南緯
経度 東経 本初子午線 西経
例えば、緯度として「-10度」が、経度として「120度」が取得された場合、 このインスタンスは南緯 10 度、東経 120 度の地点を表していることになります。

プログラマが 測位を実施すると、 測位結果が格納されたこのクラスのインスタンスが返却されます。

位置情報 URL のクエリー文字列
位置情報 URL のクエリー文字列として、 Joint RFI 形式と呼ばれる形式が利用できます。
Joint RFI 形式のパラメータを以下の表で記します。
パラメータ オプション/必須 説明
lat 必須 緯度
lon 必須 経度
alt オプション 標高
geo 必須 測地系
  • WGS84 測地系は "wgs84" と表します。
  • 東京測地系は "tokyo" と表します。

このパラメータ値のアルファベット部は小文字をサポートします。
アルファベット部に大文字が含まれていた場合の振る舞いは機種依存です。

x-acc オプション 測位レベル
精度(水平誤差)との関係は以下になります。
精度(水平誤差)からこのパラメータ値への変換規則
水平誤差 パラメータ値
300m 以上 1
50m 以上、300m 未満 2
50m 未満 3
このパラメータ値から精度(水平誤差)への変換規則
パラメータ値 水平誤差
1 2147483647m(ACCURACY_COARSE)
2 299m(ACCURACY_NORMAL)
3 49m(ACCURACY_FINE)


Location オブジェクトの経度に東経 180 度も設定可能です。 Locationオブジェクトの経度に東経 180 度が指定された場合、 西経 180 度に変換されます。

導入されたバージョン:
Star-1.0

フィールドの概要
static int ACCURACY_COARSE
          「測位レベル 1」に対応する精度の最悪値 [m] です(=2147483647)。
static int ACCURACY_FINE
          「測位レベル 3」に対応する精度の最悪値 [m] です(=49)。
static int ACCURACY_NORMAL
          「測位レベル 2」に対応する精度の最悪値 [m] です(=299)。
static int ACCURACY_UNKNOWN
          精度が不明であることを表します(=-1)。
static int ALTITUDE_UNKNOWN
          高度が不明であることを表します(=0x80000000)。
static int PREFIX_DIRECTION
          緯度・経度を表す文字列の表記方法として、 先頭に N/S/W/E を指定することを表します(=0)。
static int PREFIX_SIGN
          緯度・経度を表す文字列の表記方法として、 先頭に (+)/- を指定することを表します(=1)。
 
コンストラクタの概要
Location(Degree latitude, Degree longitude)
          緯度・経度を指定して、このオブジェクトを生成します。
Location(Degree latitude, Degree longitude, int altitude, int datum, long timestamp, int accuracy)
          緯度・経度・高度、基づいている測地系、測位時刻、水平方向の精度を指定して、 このオブジェクトを生成します。
Location(String url)
           位置情報 URL を指定して、このオブジェクトを生成します。
Location(String url, int altitude, long timestamp)
           位置情報 URL、高度、測位時刻 を指定して、このオブジェクトを生成します。
Location(String latitude, String longitude, int altitude, int datum, long timestamp, int accuracy)
           緯度・経度・高度、基づいている測地系、測位時刻、水平方向の精度を指定して、 このオブジェクトを生成します。
 
メソッドの概要
 Degree calculateAzimuth(Location dst)
           このオブジェクトに対応する位置から、 指定された目的地への方位角を計算します。
 double calculateDistance(Location dst)
           このオブジェクトに対応する位置と、指定された目的地との地表面の距離を計算します。
 int getAccuracy()
           水平方向の精度を [m] 単位で取得します。
 int getAltitude()
           高度を取得します。
 int getDatum()
          このオブジェクトの緯度・経度・高度が基づいている測地系を取得します。
 String getJointRFIURL()
           このオブジェクトに対応する位置情報 URL のクエリー文字列 (Joint RFI 形式) を取得します。
 Degree getLatitude()
           緯度を取得します。
 String getLatitudeString(int prefix, int unit)
           緯度の、指定された方位の接頭辞と単位における文字列表現を返します。
 Degree getLongitude()
          経度を取得します。
 String getLongitudeString(int prefix, int unit)
          経度の、指定された方位の接頭辞と単位における文字列表現を返します。
 long getTimestamp()
           測位した時刻をミリ秒単位で取得します。
 Location transform(int datum)
          このオブジェクトを、指定された測地系に変換した Location オブジェクトを取得します。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

ACCURACY_FINE

public static final int ACCURACY_FINE
「測位レベル 3」に対応する精度の最悪値 [m] です(=49)。

関連項目:
getAccuracy(), 定数フィールド値

ACCURACY_NORMAL

public static final int ACCURACY_NORMAL
「測位レベル 2」に対応する精度の最悪値 [m] です(=299)。

関連項目:
getAccuracy(), 定数フィールド値

ACCURACY_COARSE

public static final int ACCURACY_COARSE
「測位レベル 1」に対応する精度の最悪値 [m] です(=2147483647)。

関連項目:
getAccuracy(), 定数フィールド値

ACCURACY_UNKNOWN

public static final int ACCURACY_UNKNOWN
精度が不明であることを表します(=-1)。

関連項目:
getAccuracy(), 定数フィールド値

PREFIX_DIRECTION

public static final int PREFIX_DIRECTION
緯度・経度を表す文字列の表記方法として、 先頭に N/S/W/E を指定することを表します(=0)。

関連項目:
getLatitudeString(int, int), getLongitudeString(int, int), 定数フィールド値

PREFIX_SIGN

public static final int PREFIX_SIGN
緯度・経度を表す文字列の表記方法として、 先頭に (+)/- を指定することを表します(=1)。

関連項目:
getLatitudeString(int, int), getLongitudeString(int, int), 定数フィールド値

ALTITUDE_UNKNOWN

public static final int ALTITUDE_UNKNOWN
高度が不明であることを表します(=0x80000000)。

関連項目:
getAltitude(), 定数フィールド値
コンストラクタの詳細

Location

public Location(Degree latitude,
                Degree longitude)
緯度・経度を指定して、このオブジェクトを生成します。 Location(latitude, longitude, ALTITUDE_UNKNOWN, LocationProvider.DATUM_WGS84, System.currentTimeMillis(), 0) を呼び出すことと等価です。

パラメータ:
latitude - 緯度を表す Degree オブジェクトを指定します。 表現する角度が、区間 [-90度, 90度] に含まれている必要があります。
longitude - 経度を表す Degree オブジェクトを指定します。 表現する角度が、区間 [-180度, 180度]に含まれている必要があります。
例外:
UnsupportedOperationException -
位置情報取得機能をサポートしていない場合に発生します。
NullPointerException -
引数 latitude または longitude に null を指定した場合に発生します。
IllegalArgumentException -
引数 latitude が表現する角度が、 区間 [-90度, 90度] に含まれていない場合に発生します。
IllegalArgumentException -
引数 longitude が表現する角度が、 区間 [-180度, 180度] に含まれていない場合に発生します。

Location

public Location(String url)

位置情報 URL を指定して、このオブジェクトを生成します。 Location(url, ALTITUDE_UNKNOWN, System.currentTimeMillis()) を呼び出すことと等価です。

パラメータ:
url - 位置情報 URL を指定します。クエリー文字列部分だけを指定しても、 ホスト名やプロトコルスキームを含めた完全な URL を指定しても構いません。
例外:
UnsupportedOperationException -
位置情報取得機能をサポートしていない場合に発生します。
NullPointerException -
引数 url に null を指定した場合に発生します。
IllegalArgumentException -
引数 url が、位置情報 URL (またはそのクエリー文字列) として解釈できない場合に発生します。

Location

public Location(Degree latitude,