♪ 考える葦 携帯電話のGPS機能 Part5 観天望気 presents 尾瀬で幕営しま専科 
 Home »風景写真 »茨城の風景 »D100の世界 »蕎麦三昧 »温泉三昧 »考える葦 »パンドラの箱 » »HP内検索エンジン 

■ 携帯電話のGPS機能 Part5 (そろそろ本気モード)

 そろそろ本気で携帯電話のGPS機能について、仕様をまとめないと、いけない時期だなぁ。

 自作するiアプリで何が出来るのか? と、いうよりいったい私は何をしたいのか! それが、iアプリを作ると言う事ですからね。

 したい事、その1
 まずは自分の位置を知る。 これは基本です。 緯度経度の値を知る事が出来れば、国土地理院の地図を常時持っていますから、
 自分の居る場所は容易に確認できます。 (だって尾瀬ですから、地図は必需品です。 そうさぁ、そうだとも!)

 で、携帯電話の圏外である尾瀬の地において、SH903iを用いて緯度経度を知りたい私なのです。
 富士通さんの903なら、標準でサポートしている機能ですが、シャープさんではサポートされていません!

 その2
 次には自分の向いている方向を知る。 ザックの中には、ジルバのコンパスがあるし、太陽の位置が判ればある程度の
 勘も働きます。
 (子供の頃、遠足に持っていった水筒には、コンパスが付いていたなぁ。 遭難しなかったのは、あいつのおかげ??だったのかな。)

 でも、今やGPSの機能を使えば、電子コンパスが使えます。 これなら、磁場の乱れた場所でも遭難しないかも!
 富士山麓 青木が原の樹海のように火山性磁場の影響を受ける場所において、携帯GPSは救世主になれるかもね。

 その3
 ついに究極、、、高度を知る。 やっぱ、これだね! 山登りの経験のある人には容易に理解できるでしょうが、自分の高度情報と
 地図があれば、視界のきかない霧の中においても自分の場所を確認出来ます。

 天気の急変は気圧の谷の影響なのですが、気圧計で計る高度は補正するのがなかなか難しいのです。
 普通の高度計は気圧の影響を受けますが、GPSの高度計機能を使えば完璧! こりゃ素晴らしい。

 山麓から山頂を目指すとき、、、登山道における高度情報が判れば、自分の居る位置がどれ程のものか?容易に理解できます。
 この安心感が、安全につながるのです。 焦って行動すると、事故になっちゃいます。

 今や、世界的に通用する言葉、Tsunami(つなみ)の恐怖から自分の命を守ることにおいても、この高度(海抜)情報を
 意識して生活するのは大事なことなのかもね。

 

 これまでは、トラステッドiアプリ(iアプリDX)でないと面白みがないなぁと思っていました。
 ところが、GPSの詳細を調べてみると、通常に実行できるアプリでも結構遊べそうなことが判ってきました。

 通常に実行できるアプリやトラステッドiアプリ(iアプリDX)があるなら、その他が気になります。
 そうだとも! そう、思うよねぇ。 その他のアプリとは、待ち受け画面で実行する待ち受けアプリです。

 これって、2010年高校生ウルトラクイズには出題されること間違いないって!
 判るかなぁ? 判んない、だろうなぁ! そんなコントがありましたが、、、もうここまでくると、支離滅裂です。 

 そんな薀蓄を知る事より、撮影したデジカメ画像のデータの中に、GPSの位置情報が格納されて、閲覧時に地図情報と供に
 利用される時代で、便利だなぁ。 素直な気持ちで現実を楽しむのが一番楽な生き方なのかも知れません。

 

 ここから更に本気モード!

 MODE_STANDALONE  (スタンド アローン♪ 良い響きだねぇ。 携帯が自分だけでやる!と言ってくれてます)
 測位モードを表す定数値で、自律測位を行うことを表します(=2)。

 LocationProvider.getLocation() を呼び出した際に、 基地局からのアシストデータ無しに測位を行います。
 そのため、圏外でも測位できるというメリットが有りますが、 測位精度や測位にかかる時間は、他のモードに比べて劣ります。
 →君のそういう自主性のあるところが良いですねぇ、私は好きです。
  他のモードに比べて劣ります。、、、そんな謙虚さを誉めてあげたいと思いますよ!


 こりゃちょっと、この路線をがんばってみますか!!! そんな私なのです。

 ソースコードの作成

 package SH903i_GPS;

 import com.nttdocomo.ui.*;
 import com.nttdocomo.device.location.Compass; // 電子コンパス機能を提供します。 ‥‥‥期待してるよ!
 import com.nttdocomo.device.location.Degree; // 緯度・経度などの角度を表します。 ‥‥君には頑張ってもらわないとね!
 // 角度は、DEGREE 単位(浮動小数点数表現、 固定小数点数表現)と DMS 単位を取得可能
 import com.nttdocomo.device.location.GPSLocationProvider; // GPS を用いる測位機能を表すクラスです。 ‥‥そうだ、とも!
 import com.nttdocomo.device.location.Location; // 測位結果を表します。  ‥‥ そうさぁ!
 //このオブジェクトには、緯度・経度・高度・測地系・水平方向の精度といった位置情報、 ならびに測位時刻が格納されています。
 import com.nttdocomo.device.location.LocationProvider; // 現在地を測位する機能にアクセスする手段を提供します。



 いやー、色々な呪文を解読しないといけないですねぇ。

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

 これを唱えると、現在地を測位する機能にアクセスする手段を提供します。

 測位する機能にアクセスするには、getLocationProvider() を呼び出し、 測位機能を表すインスタンスを取得する必要があります。
 取得した測位機能インスタンスは、 このクラスのいずれかのサブクラスのインスタンスです。

 インスタンス取得後、 そのインスタンスに対して setMeasurementMode(int) を用いて測位モードを設定することができます。
 実際に設定することが可能な測位モードについては、 getAvailableMeasurementMode() により調べることができます。

 インスタンスに設定されている測位モードは、 getMeasurementMode() によって取得することができます。
 ここで指定した測位モードが測位精度や反応速度に与える影響は機種依存です。
 
 取得したインスタンスの getLocation() メソッドを呼び出すと、 指定した測位モードで現在地の測位を行います。
 その際、iアプリはサスペンドしません。 測位により得られた位置情報は、 測位結果オブジェクトとして返されます。

 本当にこれが日本語か?という文章ですが、、、何とか解読して、唱えるしかないようですねぇ。

■ まとめ

 携帯で何が判るのかな? その答えがここにあります。 クラス Location で測定結果を調べるだけなのです。

 com.nttdocomo.device.location.Location
 測位結果を表します。 このオブジェクトには、緯度・経度・高度・測地系・水平方向の精度といった位置情報、
 ならびに測位時刻が格納されています。
 プログラマが 測位を実施すると、 測位結果が格納されたこのクラスのインスタンスが返却されます。



 ここで突然私の二重人格者、N氏の登場です。 (最近、あまりここには登場していなかったのですけれどね!)

 そうね! 大体ね! ネットで、地球の裏側の天気が判る時代です。 でも、身近な人の考えている事が判らない時代なのです。

 GPS機能を調査してiアプリを開発するより、他人が何を考えているのかを考える方が大事じゃないのかなぁ。



 N氏からもそう言われていますので、、、N氏にとって、私は何を考えているのか難解な人種なようですねぇ。

 PS. 最近このN氏なる者が自分の事ではないかと思っている(疑っている)人が私の間近にいます。

 安心してください。 N氏は貴方ではありません。 私の心の中に住むもう一人の私なのです。

 ネットの世界で、リアリティを追求してはいけません。 全ては、夢の中のことなのです。

 携帯電話で、GPS機能を論議する、、、こんな世界が、、、実在するはずないでしょ!

 自分がN氏という些細なことにはこだわらずに、、、、このサイトに決別することを決断するだけの勇気を持ちましょう!

 そうすれば、明日の夜からもう悪夢に魘されることはありませんから!!!
 

尾瀬で幕営しま専科
Copyright © 2002-2007 観天望気 All Rights Reserved.
inserted by FC2 system