GPSトレースアプリの開発

今,研究室ではGPSを用いて何かをしようとしている.

GPSから受信しているデータはNMEAフォーマットと呼ばれるもので
GPSのNMEAフォーマット
このサイトに記載されているように,$GPGGAから緯度と経度を取得するようにした.

また,簡単にGPSデータのトレースが行えるように,今回はMapにピンを自動で打つFootPrints
という名前でUWPのアプリを作ることにした.

f:id:kyoshitomi:20180526223624g:plain

アプリの動きはこんな感じ.
GIFでは,GPSをあえて不安定な動作をさせている.

初期の座標はシアトルだけど,シアトルと移動後の航空写真のデータの質に差がありすぎ...
自動車の大きさも4倍くらい違うし.

ポイントは
最初のサイトにも書かれていたけど,度と分で書かれた座標を直接使うことができないことだ.
こんな感じでデータの変換を行った.

static double GpggaToDegree(string snum)
{
  double num = double.Parse(snum);
  num /= 100;
  double min = num % 1;
  double deg = num - min;

  return deg + min/60*100;
}

久しぶりにUWPとPrismを使った.Main(Config)画面が寂しいが,今後の要求に対応するための領域として確保しておく.エラーの処理もしないと.

gitlab.com