【オープンイノベーション】vol.4:拡張GPSフォーマット

GPSの標準的な流通フォーマットとして、GPXという形式が良く使われています。(記録フォーマットはNMEAです)
gpxは可読性の高いテキストで記述されていて、オブジェクトの階層構造を持たせられるXML形式になっています。
GPXの1.1では、ユーザ拡張が出来る"extension"という属性があり、今回のプロジェクトでは、マップル、コア、コネクティボ、当社の4社でGPXの拡張フォーマットを定義し、それぞれの開発するソフトウェアでこれを読み書きするようにしました。
GPX1.1
これまでGPXがどこで使われているか?
参考:https://www.topografix.com/gpx_resources.asp
・ガーミンのデータロガー
良く使っていたガーミンのみちびき対応GPSデータロガー"e-Trex30J"では、GPSが直接出力するNMEA形式ではなく、gpx形式でデータが保存されていました。
・Q-GIS
ArcGIS互換のフリーソフトウェアであるQ-GISでは、gpx形式のデータをレイヤとして読み込める機能が搭載されています。gpxをドラッグアンドドロップするだけで読み込み出来ます。

・Google Earth(Pro)
Googleが提供する地図ビューアであるGoogleEarthProでもgpsを読み込むことが出来ます。gpxのデータをちょっと確認したい場合に、ドラッグアンドドロップするだけなので便利です。

gpxは多くのGPS、地図関連のソフトウェアで読み込み、加工ができる標準的(デファクトスタンダード)なデータ形式です。
今回、どのように使うか?
gpxの拡張属性は、ポイントやラインなどのGISオブジェクトの表示スタイルを定義するなどで使われているようですが、今回これを使って実現したいことは下記です。
- GPSと映像の同期のための仕組みを表現したい
- GPSの受信情報を同時に記録したい
- センサーの情報を同時に記録したい
- 利用者のアクション(ゲームパッドボタンの入力)を記録したい
1によって、取得された時刻・位置が取得開始から何ミリ秒経過した時点なのかを(シリアル番号)として記録します。このシリアル番号には、ロギングの開始、停止と測位中のステータスが付与されます。
2は、GPSの受信に係る詳しい情報を記録します。RTK測位のFIX情報や、捕捉している衛星の個数や受信精度を表すDOP値などです。これらは受信精度が良くないポイントデータを後に除去する目的で使います。
3は速度や角度、対象との離隔距離や振動など外部のセンサーから取得する値を、緯度経度と共に記録するために使います。
4は点検作業車が目視で確認している時に、何らかのメモを残しておく時に使います。
GPXの拡張部分を使って、通常の緯度経度、時刻情報に加えて、外部機器からの入力値(同期信号、センサー、ユーザ入力)を同時に記録します。
GPX1.1 Extension属性
特徴
すべてのポイントデータ(時刻・緯度経度)に対して、その時点での速度、進行方向、衛星受信状況、同期シリアル番号、ユーザ入力の属性を持ちます。今回の拡張では、下記の3パートのタグを定義します。これらのタグは、今後の利用目的に合わせて、更に追加していくこともできます。
- 共通
- gpsセクション
- sensorセクション
- inputセクション

定義済みのフィールド
・同期情報
nsc:serial:シーケンス番号(10桁のゼロ埋め整数)
nsc:status:ステータス(start,stop,heartbeat,error)
・衛星情報(gps)
nsc:message :衛星信号情報(NMEA GSVセンテンス)
nsc:sat : 衛星個数
nsc:fix : 受信状態(RTK測位FIX時は"fix")
nsc:hdop : 衛星配置の精度低下率(DOP値水平)
nsc:vdop : 衛星配置の精度低下率(DOP値垂直)
nsc:pdop : 衛星配置の精度低下率
・センサー情報(sensor)
nsc:direction : 進行方位(真北を0として360まで)
nsc:velocity : 移動速度(Km/h)
・ユーザ入力(user)
nsc:input :ゲームパッドに割り当てられた文字列
互換性
・Q-GISでの読み込み
・動画-静止画切り出しツール(今回開発)
・(GoogleEarthPro)
将来の拡張性
- センサー(IoT機器)データ
- テキスト情報
- 静止画(スナップショット)
1:ロガー機器(RaspiやJetsonXavierなどのGPIO端子を持つシングルボードコンピュータ)とIoTセンサーによって、緯度経度情報と同時に取得する物理量を記録するように拡張できる。
離隔距離センサー、加速度センサー、電子コンパス、温度・湿度センサー、振動センサー、ガス検知、赤外線、
2:音声テキスト変換によって、ユーザの入力を自由文のテキスト情報とすることもできる。
撮影時のコメント情報を自由文のテキストとして記録できる。
3:ロガー機器に接続されたカメラから取得する静止画のファイル名を追加することもできる。
点検時のスナップショット(静止画)のファイル名をログと同時に記録しておく。
▼この記事を書いたひと

R&Dセンター 松井 良行
R&Dセンター 室長。コンピュータと共に35年。そしてこれからも!
おすすめの関連記事
- 【機械の目 Vol.2】4K動画から生成した静止画に位置情報を付ける
- 【機械の目 Vol.5】撮影日の異なる同一地点の映像から差分抽出は可能か?
- 【360°映像技術の活かし方・ノウハウ Vol.7】本命が来た!センサー満載の5.7K360°カメラ"ガーミンVIRB360"
- 【360°映像技術の活かし方・ノウハウ vol.9】プロ用360カメラInsta360 TITANを試す!