りなざうナビ化++++++++

またこの週末に走ってみた。今度の目標は箱根・芦ノ湖。なんかだんだん遠くになっていってますが(^^;)。

今回はQVGAだけでなくVGAでの動作も試してみた。まぁやっぱり地図が小さくなりすぎて見にくかったが。VGAQVGAを任意に切り替えられればいいんだけど、Javaからではそんな器用な真似はできないしなぁ。

上図は神に誓ってVGA画面モードで測位した結果である。場所は129号と134号が交わる茅ヶ崎のT字路あたりで、関東でよくドライブする人なら結構誰でも知ってる場所だろう。図の通り、T字路を曲がったあたりでちょっと測位が暴れてるが、おおむね正確に測位できている。VGA画面のノイズ?一体それは何の寝言ですか?(^^;)。

ただ、今回実験してみた結果、このツールのVGAモード動作には少々ヤバい問題があることがわかった。どーやらメモリが足りない(^^;)。画面解像度が4倍になってるので、オフスクリーンバッファ容量も当然4倍必要になる。先読みバッファも必然的に多く使われるし、その上にルートデータとGPS測位ログを持つので、動作させてしばらく経過するとメモリオーバーで測位が停止してしまうようなのだ。うーむ、これは困った。QVGA画面モードは表示が壊れる可能性があったりしてあまり素人にお勧めできないから、公開するときはVGA画面を基本にしようと思ってたんだが、このままでは公開できないなぁ・・・。


それはそーと今回、ルート上の残り距離を表示する機能をつけてみた。やはり目的地までの距離がわかるのはありがたいし。もちろん、目的地までの直線距離ではなく、現在地からルート上の最近点を求めた上で、そこから最終地点までの距離を、ちゃんとルート上をたどって算出している。・・・この計算処理が、なかなか手強かったのだが(^^;)。

GPSによる座標は、緯度と経度で得られる。これは地球の中心から見た角度であって、距離に直すためには計算が必要になる。単純に日本周辺での角度あたりの平均距離から計算するのは簡単だが、厳密に計算するためには2地点を指す3次元ベクトルのなす角度を求めて、地球の半径とあわせて算出しなければならないのだ。まぁ高校数学レベルの計算ではあるのだが、方程式を立ててえいえいと解いていくのはなかなか大変だった。何しろ高校生なんてやってたころから、そろそろ20年は経つしなぁ(^^;)。