Stravaのデータ2つを1つに結合してみました。

こんにちは

先日の日光ライドでは、サイコンデータが不注意?で途切れてしまい2つになってしまいました。

微妙に悲しいですよね。停止してから開始する迄の間のデータは救えませんが、2分割されたデータをくっつけられると少しはうれしいですね。

経緯は日光ライドの記事に多少書いてありますが、汗ポチ!→タッチパネル誤動作です。

→ 日光にサイクリングに行ってきました(前編)

→ 日光にサイクリングに行ってきました(後編)

PolarFlowはインポートが出来ないので結合は無理なはずですので、Stravaだけやります。

必要なのは、PCと日本語文字コードのUTF-8が扱えるテキストエディターです。

※失敗しても責任は持ちかねますので、自己責任でお願いします。

※獲得高度もおかしい気がします。。何故か分かりませんが。。

状況を整理すると、Strava上では以下の2つの様に2つの走行データとして保存されています。

1つ目

Stravaのデータを結合

2つ目

old2

この2つを1つにしてみます。

まずはStravaではGPXデータとして走行データをダウンロードできます。

Stravaで対象のデータを開いて、左側にあるスパナのマークを選択します。

そうすると、「GPXをエクスポート」って表示されるので、それを選択してGPXデータをダウンロードします。2つとも同じようにダウロードします。

Stravaのデータを結合

2つともダウンロードできました。

Stravaのデータを結合

で、どうもStarvaは同じ時刻のデータを2つは扱えないルールの様なので、元の2つの走行データを、GPXダウンロードした、スパナマークから削除を選択して削除します。

Stravaのデータを結合

削除できたら、一旦ダウロードしたGPXデータを別の場所に保存しておいてください。

壊した時には、これが便りですし、失敗してもダウンロードしたデータをアップロードすれば復元するはずです。これを壊して戻せなくなると、復元不能になるので、必ずバックアップしておいてください。

で、GPXデータの中身を確認します。

こんな感じになってます。

中身はXMLデータという形式になっています。

Stravaのデータを結合

XMLデータはデータをカッコで囲む様な感じで表現します。

例えば時刻だと、<time>で始まり、終わりは</time>で終わります。

同じ単語で、始まり終わりは同じ単語の前にスラッシュ”/”で始まる同じ単語で終わります。

要素は<>でくくります。

それぞれ同じ意味を持つ内容を囲って入れ子の中に、並びのデータを並べる形です。

分かりづらいですが、1つの記録ポイントは<trkpt></trkpt>でくくられています。

この中に、そのデータの記録データが保存されています。

見てみましょう

始まりの<trkpt>の中にはlat=””とlon=””で数字があります。GPSの座標で緯度経度の様です。

中には<ele>は高度かなと思います。<time>は時刻ですね。見た感じGMTの様です。

日本時間だと+9時間したのが日本時刻のJSTかなと。。

ここまでが基本データで補足データとして<extensions>で囲われたデータが記録されています。

<gpxtpx:TrackPointExtension>で記録場所のデータかな?

<gpxtpx:hr>は心拍数、<gpxtpx:cad>はケイデンスですね。

測度が無いのは多分、GPSデータの記録データだからかと思います。

次のデータとの移動距離で測度を測っていると勝手に推測します。

このGPXデータはガーミンが取り決めた規格の用で、過去に書きましたがガーミンのサイトに取り決め情報がありました。しっかり見てないですが以下のサイトに有ったと思います。

→ GPX: the GPS Exchange Format

Stravaのデータを結合

長くなってきたのでちょっと端折ります。

<trk>の中の<name>がデータの保存名だと思います。変更してみましたが、Stravaに取り込み際に画面で入力するため、ここで指定しても無駄なのでそのままで大丈夫です。

<trkseg>~</trkseg>の間に、上記の<trkpt>~</trkpt>に囲われた記録データが沢山保存されています。

見た感じ、全体的な統計データは記録していないので単純に記録ポイントが大量に有るだけのデータの様です。データが幾つ格納されているか、何時間走ったか?等の情報が無いので集計せずに済むので楽ちんでした。

前置きが長くなりましたが、結合してみます。

まずは新たしいgpxデータ(空)を作成します。今回はnew.gpxにしました。

面倒なら最初のデータをコピペして新しい方のファイルを使うので問題ありません。

Stravaのデータを結合

このファイルの中に、1つ目のデータの内容をそのままコピーします。

文字コードはUTF-8なのを確認します。

ファイルの最後の方を見ます。

</trkpt>と</trkseg>の間に改行を入れるなどして隙間を作ります。

(無くても問題ありませんが、分かりやすいように。。)

Stravaのデータを結合

2つ目のデータの前の方を見て、<trkseg>の次の行から、ファイルの最後一番最後の</trkpt>迄をクリップボードにコピーします。

(やり方は、前後をカットしてファイルを前のファイルの間に挿入しても同じです。やりやすいやり方で。。)

Stravaのデータを結合

これで、2つのデータの結合ができました。

あとはStravaに取り込みます。

Stravaの右上に「+」マークがあります。

押して表示される「アクティビティをアップロード」を選択します。

Stravaのデータを結合

こう言うページが表示されます。

左側の「ファイル」を選択します。

Stravaのデータを結合

表示されるページで、作成したファイルを選択してファイルをアップロードします。

Stravaのデータを結合

参照ボタンを押すと、Windowsの場合はエクスプローラーが表示されますので、結合したファイルを選択して、右下の「開く」ボタンを押せばアップロードされます。

Stravaのデータを結合

アップロードされたら、こんなページが表示されます。

設定内容を指定して、「保存&表示」を押せば完了です。

Stravaのデータを結合

無事結合されました。

Stravaのデータを結合

Stravaのデータを結合

獲得高度がおかしいです。なんでだろう。。

つながる事の方が重要なので、妥協する事にします。(^^;

『Stravaのデータ2つを1つに結合してみました。』へのコメント

  1. 名前:ShimaQ 投稿日:2016/11/13(日) 14:47:38 ID:ad6674f43 返信

    こんにちは。
    なるほどう、こういう風になってるんですね。
    1秒ごとにGPSデータ拾ってるんですね。

    と、試しに以前runtasticからstravaにデータ移行するときにダウンロードしたruntasticのデータを見てみました。
    2.5秒に1回のようです。(゚o゚;;
    この辺が、諸々の誤差の要因でしょうか?
    でも、コレ、1秒に1回GPS拾ってたら、iPhoneのバッテリー、あっ!という間になくなっちゃうでしょうねorz
    緯度経度、高度が小数点以下13桁まで入ってて、データの無駄使いダァ(~_~;)

    ちなみに、stravaのデータダウンロードしてみてみたら、1秒に1回。高度も0.1mまででした。
    この辺はスマホアプリ側の仕様なんでしょうかね?
    (iPhoneのバッテリー持ち、そんなに違わなかったような...)
    サイコンが拾ったデータはどうなってるんでしょう?

    あっ、余計なことでした。どうでもいいことです(^◇^;)

    • 名前:しげ 投稿日:2016/11/13(日) 15:17:31 ID:0aa125322 返信

      ShimaQさん
      コメントありがとうございます。
      Runtasticは2.5秒なんですね。バッテリー対策だとは思います。
      小数点以下13桁までありましたか(笑)
      1度で100kmぐらいの様なので、5桁で1mぐらいまで扱える様です。少し多いですね。
      Stravaの方が細かいんですね。
      多分、スマホで細かく取得しても同じく値が来るだけだと思います(^_^;

  2. 名前:ヤマ 投稿日:2016/11/12(土) 16:41:53 ID:9759d6c70 返信

    お久しぶりです。
    v650の件でお世話になりました、ヤマといいます。

    とても難しいブログで興味がありましたが、自分には出来なそうです(笑)

    もし分かったら教えて頂きたいのですが、スマホとv650を同期させるのに、対応機種みたいなのがあるのでしょうか。。

    自分のはGalaxy note3なんですが、同期が出来なくて困っています。

    • 名前:しげ 投稿日:2016/11/12(土) 17:16:42 ID:d64896293 返信

      ヤマさん
      コメントありがとうございます。
      見た目より、結構簡単なので困ったらやってみてください。困ったら聞いてくれたら、お力になれるかも。

      スマホとの同期ですが、Androidは全機種は対応できてないみたいです。
      私はXperiaZ4を使ってますが、最初の頃はダメで、最近やったら出来てましたが、結構微妙です。
      時々繋がるんですが、繋がらなくなったりします。スマホ側を再起動すると繋がる事が多いので、一度スマホを再起動してみるといいかもしれませんね。
      A360などと接続してるなら、接続先を変更する必要があります。ただし、一度はペアリング出来てないと出てこないので、一度もペアリングしてないなら必要ないと、思います。
      あと、毎回接続時にパスワード?の入力が必要なのですが、私のスマホだと入力画面が後ろに表示されるので、気づくまでかなりかかりました(笑)

      成功した記事のリンクを置いときます。
      http://cycle.photo-blog.jp/archives/6657

  3. 名前:hooligan 投稿日:2016/11/12(土) 12:49:36 ID:a27468f55 返信

    しげさん こんにちは
    やっぱりPC詳しいと凄いですね。まさか2本を1本にしてしまうとは・・・
    これで、汗で分割しても復活できますね(笑)
    今度、PCでわからないことがあればしげさんに伺います。
    その時はよろしくお願いします

    • 名前:しげ 投稿日:2016/11/12(土) 17:08:49 ID:d64896293 返信

      hooliganさん
      コメントありがとうございます。
      できるかな?と思ったらできました。
      文字でーたなので、結構簡単ですよ。
      これで分断しても何とかなりそうです。
      ただ、Polarはインポートできないので、どうにもならないです。(^_^;
      PCは多少分かるので、お力になれるかも。。遠慮なくどうぞ。
      正直、使う方はあんまり強くないです(^_^;