見直した結果が今回の画像になります。上の図が広域、その拡大が下の図になります。路地を走ったりしてみましたが、しっかり走行位置がプロット出来ました。動作が遅くなる為、今回はマーカー表示は少なくしてあります。
これならカーナビ的な何かにかなり近いモノを作ることが出来そうです。もう少し時間をかけて作成したいので、無料公開までは少々お待ち下さい。
GPSから取得したデータの加工ポイント
- フォーマットはNMEA-0183 (16進数表記)。
- その中の緯度・経度情報の小数点以下は60をかけて秒表記にする。 <= 足りなかったもの。
- Google Mapでの位置表記は10進数。
- 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 );
}
<< 第11回
>> 第13回
0 コメント:
コメントを投稿