アウトポストキャンプ手前
先日から、作成していたGPSデータの解析ソフトウエアがある程度できたので、実際の登山データの解析を始めてみようと思います。今日はその前に、現段階でこのソフトウエアができる事をまずは紹介しておきます。
GPSのトラッキングデータの読み込み
まずは、私の使っているGarmin社のGPS機器、携帯型の地図を表示できるGPSとランニング用の時計のデータを読み込めるようにしました。基本的にトレースしたデータは、Garmin Connectのサイトにアップロードして概要のデータを見る事ができますが、もう少し詳細を解析してみたいという事でプログラムで読み込めるようにしました。実際に機器が使っているデータではなく、サイトからダウンロードできるファイル、「TCXファイル」と「GPXファイル」を読めるようにしました。当初は「GPX」だけにしようと思いましたが、将来的にVivoSmartなどの活動量を測る機器のデータも処理したいので、まずは、「TCX」を読めるようにして、「GPX」も追加でサポートできるようにしました。
これで、Stravaなどのサイトから他の人のデータをダウンロードしてデータを比較する事も出来るようになりました。こちらも、これから先このブログで紹介していきます。
読み込んだ後のデータ処理は?
まずは、読み込んだデータをエクセルなどの表計算ソフトで読めるようにしています。何も処理していないデータを表計算に入れて取りあえず個別にデータを処理してみていろいろ方針を決めました。
そのうえで、プログラムで以下の処理をできるようにしました。
基本的な読み込みデータは、
- 日付時間情報、いわゆるタイムスタンプでファイルの中ではGMT(グリニッジ標準時)で保存されています。
- 距離情報、TCXファイルでは距離情報があります。GPXファイルでは位置情報の緯度と経度から距離を計算する必要があります。ただし、TCXの距離と、一般的な方法で位置情報から計算した距離は一致しませんでした。大きく外れているわけではないので、取りあえずは問題ないと考えています。
- 心拍数、心拍計をつけて記録した場合、心拍数の情報が拡張で保存されます。
- 標高
- スピード、TCXにはあるのですが、実際はどのように計算しているのかはよくわかりません。取りあえず、情報は読み込んでいますが、処理には使用していません。
- 歩数、靴に歩数計をつけると、歩数の情報も記録されます。これも、取りあえずは処理には使用しない予定です。
- 最後が、緯度と経度情報でGPXファイルでは距離情報を計算するのに使っています。解析では、コース上の幾つかの地点を定めて、区間の所要時間等を比較するのに、その位置でのトレースデータを取りだすのに使っています。計算は、ヒュベニの公式を使って計算しています。これらの詳細はインターネット上にたくさん情報がありますので、そちらを参照してください。計算にあたり、WGS84の数値を使って、距離情報に変換しています。
- 日付情報から、スタート時間からの時間を示せるようにしました。
- GPSの記録は通常4~5秒間隔で記録されていますが、完全に等間隔ではありません。実際の登山でこれらの各記録ごとにデータを見る意味は余りないので、サンプル区間を決めて、各区間のデータを平均化して、特異点の影響を少なくするようにしています。だいたい、細かくても、1分間隔ていどのデータで十分ですし、場合によってはもう少し長い時間でのデータでもよいのかもしれません。これらはデータを処理した結果を見ながら、調整していく予定です。
- 取りあえずは、60秒間隔のデータに再構成します。
- 各データの、区間の平均、変化量、平均変化率(変化量を区間の時間で割った値)を求めています。
- さらに、各区間の平均傾斜(標高の変化を移動距離で割ったもの、移動距離Xに対して標高Eの変化率、dE/dX)も求めています。
- コース上の幾つかの地点を選んでその地点付近のデータに位置のラベルを付けています。取りあえずは、選んだ場所の緯度、経度から距離を計算して、だいたい20mから50m範囲のデータにラベルを付けています。
- 休憩を定義して、休憩時のデータにもラベルをつけます。これは、実際の休憩とは一致しませんが、休憩として、単位時間内の移動距離がある値以下の物を休憩と定義します。取りあえずは、1分間に10m移動していない場合はそれを休憩として扱います。
データを見る着目点は、
- ペース(単位時間当たりの移動距離の推移)、これらを心拍数や、標高のデータと合わせて見てみる。
- 休憩時の心拍数のリカバリーの状態
- 区間の傾斜の影響
- 休憩の頻度と、全体の行動時間に占める割合
- 同じ区間のデータを比較してみる。自分の別の登山のデータや他人のデータ
(つづく)
コメント
コメントを投稿