スキップしてメイン コンテンツに移動

Mt. Whitney登山を科学する (1)

アウトポストキャンプ手前

先日から、作成していた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移動していない場合はそれを休憩として扱います。
これを処理したデータもエクセルで読めるようにして、取りあえずグラフ等はエクセルで描くことにしました。将来的にはプロットするプログラムも書く予定ですが当面はこれでデータを見る事を優先しています。

データを見る着目点は、
  • ペース(単位時間当たりの移動距離の推移)、これらを心拍数や、標高のデータと合わせて見てみる。
  • 休憩時の心拍数のリカバリーの状態
  • 区間の傾斜の影響
  • 休憩の頻度と、全体の行動時間に占める割合
  • 同じ区間のデータを比較してみる。自分の別の登山のデータや他人のデータ
とこんなところに着目してデータを見てみる事にします。有意差があるかどうかはわかりませんが、取りあえず見てみる事にします。

(つづく)




コメント

このブログの人気の投稿

BaoFeng UV-5R ~ 中華トランシーバ その後

BaoFeng UV-5R  格安の中国製トランシーバーを入手して約1ヶ月余りたちました。その後の報告です。 静かなアメリカのV/UHF帯  まだ家にアンテナを立てたりしていませんので、基本的には付属のアンテナに取りあえずつけた、マグネットベースのアンテナで時折144MHz帯と、430MHz帯のFMを聞いています。前の投稿で少し触れましたが、私の住む北カリフォルニア(サンフランシスコ近郊)では、殆ど普通のFM(Simplex)での交信を耳にしません。耳にする交信はほぼ、リピーター経由の物と言うのが現状です。一方で、リピーターの数はかなりの数があって、インターネットで調べると、この辺りはどこに行っても複数のリピーターにアクセスできますし、周辺の高い山の上などにも設置されていて、リピータのカバーエリアも網羅されている感じです。  そんなわけで、普通のアナログのFMで使えるチャネル(FM Simplex)は、144MHz帯で26チャネル、430MHz帯に至っては3チャネルしかありません。一方でかなりの帯域がリピータ用として割り当てられています。 BaoFengを使うたってにあたって  最初は、アマチュアバンド内をスキャンして誰か交信していなか探していたのですが、このモデルのスキャンは余り速くはなく、かなりの時間がかかってしまいます。実際に話をしているのを見つけるには、もう少し的を絞らないと効率が悪いので、必要なチャネルをプログラムして、プログラムしたチャネルをスキャンする方が効率がよい事に気づきました。今回入手した、UV-5Rというモデルは、全部で128チャネルをプログラムする事ができます。この辺は、日本の八重洲とか、ICOM、KENWOODなどの物は1000チャネルとかプログラムできるので、それを考えると少ないと言えますが、実用上は取りあえず、大きな問題ではないようです。  それで、まずはどのようにプログラムするかですが、まずは、全部で29あるFM Simplexのチャネル29をプログラムする事にしました。実態を考えると余り使うケースはないと思いますが、それでもハイキングなどに行ったときに仲間と連絡に使うには便利ですが、周波数を覚えるのも大変なので予めプログラムしておくことにしました。これで、128チャンネルのうち、29が決まったので

バッティングセンター ~サンフランシスコ ベイエリアにもあります!

折れた金属バット! サンフランシスコベイエリアのバッティングセンター 今週も暑さでアウトドア関係は休止中でした。実際は風もあって気温はそこそこ高いのですが割りとすごし易い週末でした。日本語の補習校の集中授業があって子供たちもちょっと大変なので、現地校が夏休みに入っても遠出を控えました。 本格的な夏休みの家族イベントももう暫く先送りという事になっています。 そんな中この週末はバッティングセンターに行ってきました。 バッティングセンターは「Batting Cage」と呼ばれていて、数はそれほど多くないもののこのエリアにも幾つかあって、たまに行って遊んでいます。今日は All Star Academy   というSanta Claraの施設に行ってきました。     2901 Mead Ave Santa Clara 95051 に行ってきました。平日は正午から午後9時まで週末の土日は、午前9時から午後6時まで営業しているようです。 日本では屋外にゴルフの打ちっぱなしの練習場のようにネットを張って営業している施設が多いと思いますが、このエリアでは日本に近い屋外営業もありますが、倉庫などの屋内にネットを張って営業しているタイプの施設も多く、今回の施設は屋内タイプでした。 システムは、プリペイカードを買って1回(20球)で3ドルで、幾つか球速の違うブースを選んで遊ぶところでした。バット、ヘルメットは無料で貸してもらえました。野球とソフトボールも選択できまるようになっていて、子供たちは球速の遅いブースやスローピッチのソフトボールを選んで楽しんでいました。 日差しが強く暑い夏のアクティビティには屋内のバッティングセンターも悪くないようでした。 金属バットが折れた! さて、家族で楽しんでいたのですがちょっとしたハプニングが一件ありました。比較的球速の早いブース(60マイル/時間のソフトボール)で遊んでいたところ球がバットの根元に近い部分にあたり明らかに違う音がしたと思ったら、次の球を打ったところなんと金属バットが真っ二つに折れてしまいました。 幸い折れたバットは人のいない方に飛んで怪我はありませんでしたが、ちょっとびっくりしました。 折れた破片も係りの人がすぐに回収して事なきも得ましたが、金属バットも折れるのですねぇ~

GPSデータの解析 (3) ~ TCXファイルの中身

TCXのデータの例 実際のデータは? 実際、取りあえず試用のプログラムは既にあって、データを読み込めるようになっています。でも、興味がある方もいらっしゃるみたいなので、もう少し詳しい中身について今日は書いてみます。 上の例が、TCXファイルの例です。これは、昨年Mt.Whitneyに行った時の冒頭のデータを一部抽出した物です。一連のデータとして、時刻、位置情報(緯度と経度)、標高、心拍数などが入っています。TCXファイルには、距離も入っているのが分かるかと思います。これは、スタートからの積算距離になっています。 先にも書きましたが、TCXファイル自体は、XMLファイルなので、ファイルはタグを基に、そのタグの階層で構成されています。例では一部を抜き出していますが、「Trackpoint」というタグは別の上位の階層のタグに含まれていて、この前後には、別の「Trackpoint」が同じレベルで羅列されているような形式になっています。このタグ一つ一つが個々の時刻のデータになるわけです。 この「Trackpoint」の下位には、個々のデータが別のタグで含まれているのが分かるかと思います。 基本的に、各タグのデータは最初の「<>」で囲まれた所からスタートして、</>という、同じタグで、先頭に「/」が入った所で終わる様になっています。 つまり、個々のGPSのトラックデータが欲しい場合は、このTCXファイルの場合、「Trackpoint」というタグを探して、その中のデータを抜き出していけばよい事になります。ファイルも、テキスト形式のファイルなので、少々プログラムに慣れた方ならば簡単なプログラムでデータを抜き出すことができるわけです。 GPXファイルは? GPXの同じデータの例 さて、これが同じ時刻のデータをGPXファイルから抜き出してみました。こちらも同じXML形式なので、似ていますが、少し書き方が違うのが分かるかと思います。こちらの場合は、「trkpt」というタグに個々の時刻のデータがあります。位置情報は最初の「trkpt」のタグの中に埋め込まれていて、その後に、個々のデータが少し別のタグで入っているのが分かるかと思います。こちらの場合、積算距離の情報は入っていないので、位置情報から自分で計算する必要があります。これは、調べてみたのですが、少