2010/04/08

VAIO X (12)


 第11回の投稿にわざわざ追記する位、データが納得出来なかったため見直しをしました。GPSの測定誤差は10m位らしいですし、あんなにずれたら軍事用としても使い物になりませんよね(´・ω・`)。

 見直した結果が今回の画像になります。上の図が広域、その拡大が下の図になります。路地を走ったりしてみましたが、しっかり走行位置がプロット出来ました。動作が遅くなる為、今回はマーカー表示は少なくしてあります。


 これならカーナビ的な何かにかなり近いモノを作ることが出来そうです。もう少し時間をかけて作成したいので、無料公開までは少々お待ち下さい。

GPSから取得したデータの加工ポイント

  1. フォーマットはNMEA-0183 (16進数表記)。
  2. その中の緯度・経度情報の小数点以下は60をかけて秒表記にする。 <= 足りなかったもの。
  3. Google Mapでの位置表記は10進数。
  4. 16進数->10進数に変換する際は、度 + 分 / 60 + 秒 / 3600 の式を使用する。

サンプルプログラム (16進数緯度情報を10進数に変更)

QString Main::latitudeToDec( const QString &latitude )
{
QString degree = latitude.left( 2 );
QString minute = latitude.mid( 2, 2 );
QString second = latitude;
second.remove( 0, 4 );
double d = degree.toDouble() + minute.toDouble() / 60
+ second.toDouble() * 60 / 3600;
QString s;
return s.setNum( d, 'g', 24 );
}

0 コメント:

コメントを投稿

Powered By Blogger