GPSログ取得に失敗した時の疑似ログ作成方法

2024-11-01

GPS

関連記事

  1. GPSログ 取得アプリと編集アプリ
参考情報

関連記事1のように旅行やツーリング時にGPSログを取得しているのだが、どうしても失敗してしまう事がある。いつの間にかログツールが止まっていた、電池切れた、なぜかGPSが取れなくなった(一度、突然GPSが取れなくなり、スマホを再起動したら取れるようになったが、そこからログが取れてなかったことがある)等。そういう時に、ログを完成させるために疑似的なログを作る方法を考えた。

手順概要
  1. Googleマイマップでルートを作成、KMZデータを出力
  2. カシミール3Dに読み込み
  3. 標高を補正
  4. 時刻が分かる地点の時刻を入力
  5. GPXデータ出力
  6. 間の時刻を補完したGPXデータを作成
    GPXログエディタ:時間変更で、開始時間、終了時間から間を補完できる。アルゴリズムは不明
    ・自作Pythonプログラム:今回はこちらで実施
  7. カシミール3DにGPXファイル読み込んで確認
  8. 停止したけど時刻のわからない地点の時刻を補正、再補完

手順詳細
  1. Googleマイマップでルートを作成、KMZデータを出力
    1. Googleマイマップを開いて、新規地図を作製
    2. 計画したルート等、参考にするデータがあればインポート(計画のマイマップをKMZで出力してからインポートする)
    3. 写真があるなど、時刻が分かっている地点を追加(出発点、到着点も)
      ・元々地図にある地点を選択→地図に追加
      ・上部にあるアイコンメニューの"マーカーを追加"→地図上の地点をクリック
    4. ルートを作る
      1. 上部にあるアイコンメニューの"ルートを追加"
      2. 3で作った地点を目的地を追加しながら順に選んでルートを作成
        1つのルートには10地点までしか登録できないので、それより多い場合はルートを複数作る
      3. 地点間のルートをドラッグして修正(参考にするデータ、記憶を元に)
    5. 参考のために取り込んだレイヤーを削除
    6. 地点を登録したレイヤーを削除
      ルートにも地点情報が含まれているため、そのまま書き出してカシミール3Dに取り込むと、ウェイポイントに2つづつできてしまうため
      *2つできてしまったのでこの手順を書いたが、実際は試していない
    7. 左白枠上部のメニュー(縦3点)→KML/KMZにエクスポート→地図全体(になってるはず)を確認→ダウンロード→ファイル名を付ける
  2. カシミール3Dに読み込み
    1. カシミール3Dを起動
    2. ファイル→GPS各種ファイルを読む(Googleマイマップでエクスポートしたファイルを選ぶ
    *正しく取得したログを読み込み後に読み込んでも、別トラックになるので問題なし
    *以後データを失わないように、ファイル→上書き保存→GPSファイルで随時保存する
  3. 標高を補正(Googleマイマップで作成したGPXには標高データがない(0になってる))
    1. 地図を地理院地図3Dにし、ルート上をスクロールしてすべて表示させる(標高データを読み込ませるため)
      *倍率が標高データに影響するのかどうかは不明
      *地理院地図3Dが最適なのかどうか不明。標高データがある地図が必要なのだろう。GPSログとの統一性を考えると、測地系がどうとかあるのだろうけど。いっそ、GPSログのところも補正してしまえば統一性はあがるだろうけど
    2. 編集→GPSデータ編集
    3. 全ポイントを選択→右クリック(メニューの編集)→標高値の書き換え
    4. 地図から標高を求めて書き換える を選択(デフォルト)→OK
      *地図を読み込んでいないと、データがないと警告がでて、標高0のままになる
  4. 時刻が分かっている地点の時刻を入力(Googleマイマップで作成したGPXの全地点の時刻は、作成した時刻?になっている)
    • 写真から:場所が道端等明確でないの時は、Googleストリートビューと照合して場所を特定
    • レシートから拾う:コンビニ等買い物をしたところ
    • ドラレコから拾う:大変そうなのでやってない
    • (補完に自作Pythonを使う場合)停止したところは、隣り合う2地点を適当な停車時間を想定して入力する。出発点や到着点は、隣の地点に短めの時間差の時刻を入れる。その速度を基準に加減速する。5km/h以下であった場合は、次(前)の区間は5km/hとなる
  5. GPXデータ出力
    1. GPSエディタ上でトラックを選択
    2. ファイル→選択したGPSデータの書き出し
    3. ファイルの種類:GPXファイル(*.GPX)
    4. ファイル名を付けて保存
  6. 間の時刻を補完したGPXデータを作成
    • GPXログエディタ(今回は使用していない)
      1. (5に戻るが)トラックを時刻を入力した地点で分割、個別に保存
      2. 読み込み
      3. 時間変更:日付、開始時間、終了時間を入力し、変更
        *アルゴリズムは不明
      4. 書き出し
    • 自作Pythonプログラム
  7. カシミール3DにGPXファイルを読み込んで確認
    • 表示→表示の設定→GPSライン で 色のパターン:速度(平均)による色分け、色分け範囲は0~60kmぐらい
      平均にすると見た目がマシになる
  8. 停止したけど時刻のわからない地点の時刻を補正、再補完
    1. ここまでで補完したその地点の時刻を確認
    2. 補間前(4)のデータのその地点付近2連続の時刻を、上記を参考に設定
    3. 再補完