ラズパイゼロでGPSロガー(標高付き)を作成してみた。

今日は以前ラズパイゼロをGPSロガーにした際に利用したPythonスクリプトをちょっと加工して、標高付きのデータを取得できるようにしてみたので、それを簡単に報告します。

 前回の記事>「ラズパイゼロでGPSロガーを作成してみた。」

使用するGPS受信機はU-BLOX社製のNEO-M8NというGPSチップを搭載した小型のボードです。GPSだけでなくロシアのGLONASS衛星の信号もデフォルトで受信します。これは海外のインターネットショップで70ドルくらいで購入したものです。(前回と全く同じです。)

http://www.csgshop.com/product.php?id_product=170

IMG_1046

違うのはスクリプトだけです。前回はNMEA形式のGPSデータの中から最初に$GNRMCで始まるラインだけを取得しました。しかしこのラインには標高の情報は含まれません。
その代わりに今回は$GNGGAで始まるラインを読み取ります。(GPS受信機によっては$GPGGAの場合があります。)なお、NMEAフォーマットの形式については以下のページを参考にさせてもらいました。
www.hiramine.com/physialcomputing/general/gps_nmeaformat.html

では以下に今回の新しいスクリプトを掲載します。本当にちょっと変更しただけです。

いかがでしょうか?

それでこのスクリプトでロギングされたログファイルをgpspruneというソフトェアで読み込んでKML形式に変換するのですが、この時標高値がマイナスになっているとエラーで読み込めないので、その行は削除してから読み込んで下さい。まぁGPS受信機を起動してロギングを開始したばかりの頃は高さ情報も精度が悪いので、そのような部分があればカットするわけです。

それで早速これを使って自宅近くを自転車でぐるっと回ってみました。これをGoogle Earthで読み込んで表示させたのが下の画像です。

スクリーンショット 2016-09-05 17.13.03

GNSSで計測されたポイントから地面に向かってラインを表示させていますので、標高が実際よりも高すぎるところは壁のように見えます。
うーん、高さ精度は今回は今ひとつですね。田んぼ沿いの開けたあたりは比較的精度が良いです。やっぱり開けたところは沢山の衛星からの電波を捕捉できるからでしょう。反対に建物が込み入っているあたりはやっぱり精度が悪いですね。

ということで今回の結論としては、GPS受信機の高さ情報を得たいなら、なるべく開けたところで使いましょうということですかね?

今日のところはこの辺で。🍧

スポンサーリンク
  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です