RxTools で始める測位ロギングとGoogle マップ連携
はじめに
シリーズ3回目の今回は、「RxTools」の機能を使って測位データ取得から見える化までの一連を紹介します。
受信機の接続から、RTK測位、データの記録(ロギング)、そしてGoogle マップで位置を見える化するまでの手順をステップ・バイ・ステップで解説します。
ロギング、ファイル保存
計測を開始したら、測位中のデータをロギング(ログを取得)して、ファイル保存します。
Septentrio 社の受信機から作成されるデータの形式は「SBF(Septentrio Binary Format)ファイル」です。
SBF ファイルについて
Septentrio 社が開発した GNSS 受信機用の独自バイナリデータ形式です。 同社の高精度 GNSS モジュールで取得したデータを記録するための形式です。 ファイルには、衛星からの生観測データ、ドップラー、衛星航法データ、受信機のステータス情報など、高精度測位や研究開発に欠かせない詳細な情報がコンパクトに圧縮されています。
RxControl メニューの「Logging」メニューから「RxControl Logging...」を選びます。
(または 「RxLauncher」より「RxLogger」を起動)
表示されたダイアログボックスで「Global タブ(保存先フォルダ指定等)」、「File Naming タブ(ファイル名指定等)」、「SBF タブ(SBF ファイルにどのような測位情報を含めるかを設定)」等を設定します。
タブごとに設定できる項目が異なりますので、必要に応じて設定します。
本回はシンプルにデフォルト設定で保存する設定にしています。
設定が終わったら、「Start Logging」ボタンをクリックします。
ちなみに下図は「Status タブ」へ切り替えた表示です。
すると、測位データのロギングが開始され、指定したフォルダへ SBF ファイルの保存が開始されます。
「Stop Logging」ボタンをクリックすると、ロギングを停止できます。
停止したら、保存先フォルダに「.sbf」という拡張子のファイルが作成されていることを確認しましょう。
測位データのロギングは、測位中であればいつでも開始・停止できます。必要に応じて、複数回に分けてロギングすることも可能です。
ファイルの変換出力(コンバート)
取得したログデータ(SBF ファイル)は、測位に関するさまざまな情報を含んでいるデータですが、今回は Google マップで可視化するためにファイル形式を「KML」形式に変換します。
変換のために「SBF Converter」を使います。
RxControl メニューの「Tools」から、「SBF Converter」を選びます。
(または 「RxLauncher」より「SBF Converter」を起動)
表示されたダイアログボックスで設定していきます。
「SBF file(s) selection」の項目内、「Single file」の部分で、先ほど保存した SBF ファイルを指定します。
続いて、「Convert to」の項目より、「KML(Google Earth)」にチェックを入れます。
「Options...」ボタンをクリックすると、変換時のオプション設定が可能です。
ちなみに、他の形式にもチェックを入れると、その形式についても一度に変換出力されます。
設定が終わったら、「Convert」ボタンをクリックします。
すると、出力結果のダイアログボックスが表示されます。
「Close」ボタンをクリックして変換出力完了です。
指定したディレクトリに変換されたKMLファイルが作成されていることを確認しましょう。
地図での可視化
変換出力した KML ファイルを使って、地図上に可視化します。
今回は、Google マップの「マイマップ」機能を使います。
まずは、ブラウザで Google アカウントでログインした状態で、 マイマップにアクセスします。
アクセス後、画面左に表示される「新しい地図を作成」ボタンをクリックします。
現れるウインドウより「CREATE」をクリックします。
続いて、新しいマップが表示され、その左上にある情報ウィンドウのレイヤー部分に「インポート」をクリック。
現れるダイアログボックスで、先ほど変換出力した KML ファイルを選択します。
読み込みが終わると、地図上に計測結果が「レイヤーウィンドウ」と「アイコン」で表示されます。
下図の地図上、赤枠にピンアイコン(上/観測局、下/基準局)が表示されているのがわかります。
これでひとまず、地図上にデータを表示することができました!🎉
それぞれのレイヤー名の前にあるチェックボックスをクリックすると、計測した結果の詳細が表示の切り替えができます。
レイヤーまたは地図上のアイコンをクリックすると、計測した結果の情報が表示されます。
ちなみに座標(または2点間の距離)は、吹き出しウィンドウ最下部に表示されています。
【参考】表示項目についての解説
下図の吹き出し内のデータ(文字列)を例に、その情報がどのような意味を持っているのか解説します。
全体的なステータス
RTK with fixed ambiguities (4)日本語訳/整数値バイアスが固定された RTK 測位(ステータス4)
解説/RTK(リアルタイムキネマティック)測位において、最も精度が高い「Fix(固定解)」の状態です。センチメートル級の精度が出ていることを示しています。カッコ内の「(4)」は、測位モードのコード値(後述の PVT Mode)です。
データの詳細解説
データは「測位開始時(First Epoch)」と「測位終了時(Last Epoch)」の2つの時点の情報を表しています。
1.測位開始時(First Epoch)
測位セッションの最初のデータ(エポック)です。
TOW=[358154000ms]
意味/Time of Week(週間ミリ秒)
解説/GPS時間における「その週の日曜日午前0時」からの経過ミリ秒数です。358,154,000ミリ秒は、約99.48時間(日曜日から数えて木曜日の午前3時29分14秒頃)を指します。
PVT Mode=4
意味/ 位置・速度・時刻(Position, Velocity, Time)の算出モード
解説/「4」は一般的に RTK Fixed を意味するコードです。最初から最高精度の測位ができていることがわかります。
NrSv=35
意味/Number of Satellites(使用衛星数)
解説/測位に35機という非常に多くの衛星を使用しています。GPS、GLONASS、Galileo、みちびきなどのマルチGNSSを利用している状態です。
BaseStationID=0
意味/基準局(ベースステーション)のID
解説/RTK 測位の補正データを送ってくれている基準局の ID が「0」であることを示しています。
meanCorrAge=100
意味/平均補正データエイジ(ミリ秒、または1/10秒単位)
解説/基準局から届いた補正データの「新しさ(遅延)」を表します。100(通常は0.1秒〜1秒程度)と非常に小さいため、遅延なくリアルタイムに補正情報が届いている良好な通信状態です。
2. 測位終了時(Last Epoch)
測位セッションの最後のデータ(エポック)です。
TOW=[358642000ms]
意味/終了時の週間ミリ秒
解説/開始時(358,154,000ms)から終了時(358,642,000ms)の差分は488,000ミリ秒(488秒=約8分8秒)です。つまり、約8分間の測位データであることを示しています。
PVT Mode=4
解説/終了時もモード「4(RTK Fixed)」を維持しています。
NrSv=35
解説/終了時も変わらず35機の衛星を捕捉しています。
(SBASprn=0)
意味: SBAS(静止衛星型衛星航法補強システム)のPRN番号
解説: 「0」となっているため、今回の測位ではSBAS(日本の「MSAS」など)による補強信号は使用していない、あるいは不要だった(RTKのみで十分な精度が出ているため)ことを示しています。
←→ 0m
意味: First Epoch とLast Epoch との距離
解説: 今回はアンテナは動かさずに計測したので「0m」と示しています。実際には測位(今回はRTK測位)誤差により、数センチメートル程度あると思われます。
Google マップでは、センチメートルでの表示はしません。
まとめ
このデータは、「約8分間の観測全域にわたって、35機の衛星を補足し、通信遅延もほぼない環境で、終始センチメートル精度のRTK固定解(Fix)を維持した測位ログ」ということできます。おわりに
地図を使って見える化すると、計測の達成感もひとしおです。 一見難しそうな GNSS データの扱いも、RxTools(RxControl ➔ SBF Converter)とGoogle マイマップを組み合わせれば、驚くほど簡単に位置情報を視覚化することができます。 他の GIS(地理情報システム)でもそれぞれに適した形式でデータの可視化が可能です。
今回は可視化の一例をご紹介したに過ぎませんが、計測情報の元になる SBF ファイルは、可視化の他にも、後解析の観点からもとても重要なファイルとなります。
ぜひ今回の手順を参考に、さまざまな場所で高精度位置情報の取得や可視化や解析にチャレンジしてみてください。
