eTrex 10JのGPSログをPythonで効率的に保存する

 

{{DZ_TITLE}}
eTrex10JというGPSロガーは1つのファイルに追加でデータが蓄積されるタイプです。
その為、バックアップを取るときに、いちいちファイル名に日時をつけたりしています。
このような事は効率化したいですね。

免責事項

このプログラムを使って起こった損害等は補償できません。
自己責任で使ってください。
以下のような事が考えられます。

  • eTrexが使えなくなってしまった
  • PCが壊れた
  • データが消えてしまった
  • データが破損した
  • その他、予期せぬトラブル

プログラム

import os
import win32api
import shutil
import datetime
from datetime import datetime as dt

import gpxpy

target_dir = r'D:\Data\GPS\eTrex 10J'

# Lst Drive
drives = win32api.GetLogicalDriveStrings()
drives = drives.split('\000')[:-1]

# Check file
for drive in drives:
    src_filepath = drive + r"Garmin\GPX\Current\Current.gpx"
    if os.path.exists(src_filepath):
        
        gpx   = gpxpy.parse(open(src_filepath,'r'))
        
        point = gpx.tracks[0].segments[0].points[0]
        time  = point.time + datetime.timedelta(hours=9)
        dest_filename = dt.strftime(time,'%Y%m%d-%H%M%S')+'.gpx'
        dest_filepath = os.path.join(target_dir,dest_filename)
        
        shutil.move(src_filepath, dest_filepath)
        print('"%s" >> "%s"'%(src_filepath,dest_filepath))
        print('Done...')
        
        break

target_dirをGPSファイルを保管したいフォルダ名に変更してください。

target_dir = r'D:\Data\GPS\eTrex 10J'

ファイル名は20200406-193306.pgxみたいな感じになります。
YYYYMMDD-hhmmss というファイル名になります。
GPSの一番最初のLogの日時を拾ってきています。

eTrex10Jのログがいっぱいになって、ログが追加されなくなったら

eTrex10Jの使いづらいところですが、軌跡管理という項目をちょくちょくいじらないといけないです。
特に1秒毎にログをとるとなると、1~2時間程度で『軌跡管理』が必要になります。

測定してLogがいっぱいいっぱいになったら『軌跡管理』で現在の軌跡を『軌跡保存』しないといけません。
で、『現在の軌跡の消去』を押してGPSを保存するエリアを開けてあげる必要があります。

また、上記のツールでは『軌跡保存』で保存したGPXファイルまでは移動しないので、それは手動でコピーしてください。

おすすめ記事

エラーメッセージ集 Pandas徹底解説 - Python
エラーメッセージ集 Pandas徹底解説 - Python
サーバー以外の端末から接続する方法(開発環境版向け、本番環境以外向け) - Django
サーバー以外の端末から接続する方法(開発環境版向け、本番環境以外向け) - Django
数値による条件抽出 - Python Pandas
数値による条件抽出 - Python Pandas
気象庁 台風位置表 をpython foliumで可視化する
気象庁 台風位置表 をpython foliumで可視化する
競馬とかのOdds計算をPythonでしてみる
競馬とかのOdds計算をPythonでしてみる
Linuxでファイルを探す
Linuxでファイルを探す
Supponsered

外部サイト
↓プログラムを学んでみたい場合、学習コースなどもおすすめです!

Comments

comments powered by Disqus