忍者ブログ
GPS
GPS関連の話題を掲載していきます。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

前回「GT-730F/Lのログデータで何かやってみる其の4」で、とりあえず、カーナビモドキのソフトが完成しました。

しかしながら、あれから、進行方向に対するマップの回転について考えており、基本マップの回転じたいはそのままでは容易ではないことがわかりました。

これは、他のライブラリ等をみつけるとして、そもそも、回転角度をどのように求めるかが非常に気になってきました。といいますのは、ロガーをレシーバとして、シリアルから直接データを取得した場合は角度もNMEAデータの中に含まれているのですが、ログデータのほうには含まれていないためです。

というわけで、何かしら角度を求めるわけですが、これは、お馴染み平面三角法で求めてみます。

すでに、平面といっている時点で、楕円体である地球とマッチングしませんが、おおまかなというところでお許しください。

まずは以下の図を見てください。

図31
図1

いたって単純ですが、図1のように、経度、緯度の2ポイントを基に、角度θを求めてみます。当然ながら、1ポイントではどうにもならないので、前回のポイントを保持しておく必要はあります。

図1から、単純にアークタンジェントを使い角度θが求まります。式的には以下になります。

数式21
数式1

ただし、以前にもいいましたが、通常ではアークタンジェントは-π/2 ~ π/2 までの値しか返しませんので、x方向の+-、y方向の+-まで加味し判断するか、言語によってはatan2のような関数が用意されており、x方向の+-、y方向の+-まで加味し、-π ~ πの値で返してくれるものがあるのでこれを利用するといいでしょう。

まあ、ここまでで、どうにか、角度θは求まるのですが、もし、まっすぐ北に進んだ場合、当然θはπ/2になりますが、まっすぐ進むだけならば、地図を回転させる必要はありません。従い、実際にはπ/2引いておく必要があります。

これで、どうにか、地図の回転角度は求められたのですが、できるならば、いろいろなライブラリに対応できるように、時計周りに、0 ~ 2π の範囲に変換したいところではあります。

とりあえず余談になりましたが、本件、ここまでとします。

拍手[0回]

PR
この記事にコメントする
お名前
タイトル
メール
URL
コメント
パスワード
この記事へのトラックバック
トラックバックURL :
[64]  [63]  [62]  [61]  [60]  [59]  [58]  [57]  [56]  [55]  [54]  [HOME]
カレンダー
11 2024/12 01
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
フリーエリア
最新コメント
最新トラックバック
プロフィール
HN:
Slit
性別:
非公開
バーコード
ブログ内検索
アクセス解析
忍者ブログ / [PR]
/ Designed by 日常のつぼ
Copyright GPS. All Rights Reserved.