概要と要件
JogNote。スマホアプリでランニング中のGPSログを記録したり、SNS機能があったりして気軽に使えて2015年からお世話になっていましたが、2020年3月をもってサービス終了となるアナウンスがありました。
終了にあたり、GPSログやラップログをエクスポートして、他のサービスにインポートできるようにしてくれたようですが、具体的には色々と制約があるようです。 単に別のアプリに移行するだけなら機能を選べば良いので簡単ですが、JogNoteで記録してきたGPSログやラップタイムログを廃棄したくないし、できれば別のアプリにそっくりインポートしてシームレスに参照したいです。
また、私の場合はレース記録を公開する目的も兼ねています。 今までもブログの記事や、レースの記録ページからJogNoteの当該ページにリンクを貼って、過去のレース結果やラップなどの記録を探し易くして使っていました。 このため、そのアプリの登録メンバーでなくゲスト訪問者にも、公開することができるものでないと困ります。
選択肢
JogNoteからインポート可能なアプリとして、有名なところでいうと、
- Runtastic
- Strava
などがあります。 しかしいずれも(おそらく)ゲスト公開ができません。 まあ、ゲスト公開するとサーバー負荷がどっと上がってしまうので、運営上は賢明な選択なのかもしれませんが、私的にはこれらはパスです。
次に考えたのは、現在使っている
- Garmin Connect
にインポートする方策です。
しかし残念ながら、GPSデータ(.gpx形式ファイル)だけをインポートしても、json形式ファイルに記録されているラップタイムデータはインポートされません。。 いやはや困った。。
別の方法として、新たなアプリにシームレスに移行するのをあきらめて、
- JogNote難民救済サイト
- JoggFIle
へ期待を寄せる。。 というのも一手でしょう。
しかし、元々JogNoteは心拍計データをラップタイムデータやGPSデータと紐づけて表示できませんでしたし、これから準備するサイトがどんなものになるのか、ある程度の想像と期待はできますがそれ一本に絞るのも勇気が要ります。
最終案
ということで、現時点で私が最善と考えて取った方法は、以下のような手順でGarmin Connectに取り込むものです。 現時点で、同日に2回以上のワークアウトがある場合は失敗して、.gpxファイルを1個づつ配置して処理しないと生成できない時があるほか、まだまだ不完全かつバグも潜在しています。
ようやくローカルPC上で動作するVB.net版ができました。 phpと同じような動作になるので、使いやすいほうをご使用ください。
VB.net版(Windows専用)
- JogNoteのエクスポートデータのうち、「.json」形式のラップログデータと、「.gpx」データを、「.tcx」テンプレートファイルに埋め込むプログラムを使用し、新たな「.tcx」ファイルを生成する。 その際に、.tcx形式のテンプレートファイルを使用する。
- プロトタイプVB.netプロジェクト
- v0.33 2020-4-12 エラーを抑制
GpxConvert_VB-0.33.zip - v0.32 2020-4-11 GPXファイルが無い時のエラーを抑制
- v0.31 2020-4-5 エンバグ修正
まだ完全ではありませんが、エラー停止はかなり減ったと思います。
GPSファイルが存在しない場合、.tcxファイルは \tcx_w\noGpx フォルダ内に生成されます。 - v0.30 2020-4-5 GPSファイルが存在しない場合もTCXファイル変換を実行し出力するよう改善
- v0.20 JogNoteのワークアウト総カロリーを各LAP距離で分割し反映
- v0.13 ラップデータが1つ以下の場合の不具合を修正
ver0.12 エラー時の例外処理を追加しました。
ver0.1 ダウンロードを、GitHubへのリンクに変更しました。 - GitHubリポジトリ:https://github.com/naao/GpxConvert
- v0.33 2020-4-12 エラーを抑制
- プロトタイプVB.netプロジェクト
- zipファイルを解凍し、できた「json」フォルダ内にJogNoteのエクスポートデータの「.json」形式のラップログデータを。「gpx」フォルダ内にjsonファイルに紐づけられた「.gpx」データをコピーします。gpxファイル名はjsonファイルの中の最後のほうに書かれています。 一度に処理するファイル数は、まあ20個程度までに抑えておくのが無難でしょう。
- 「GpxConvert/bin/Debug」 配下のアプリケーション「GpxConvert.exe」を起動する。 もし起動に失敗したり、動作中に異常終了する場合は、PCに VisualStudio.net 2019 をインストールして、ご自身でアプリケーションをビルドしてください。
- アプリケーションの「変換実行」をクリック
- 「GpxConvert/bin/Debug」 配下の「tcx_w」フォルダ内に出来た「.tcx」ファイルを、Garmin Connectにインポートする。(複数ファイル一括インポート可能)
- STRAVAにもインポートできることを確認しました。
- 各記録を確認し、1件づつ細かな編集を行う。
php版
動作には、phpが動作するWEBサーバーやPCが必要です。 説明は、下のスクリプトの中にコメントで書いてあります。 意味が分からない人は、サーバーサイドスクリプトのphp言語がわかる友人に相談してください。 なお、いつものお約束ですが、このスクリプトを使用して生じたいかなる不具合や損害にも、当方は保障などの対応は致しません、自己責任でお願いします。
新案
|
旧案 | 旧案
いやあ、XMLファイルの「tcx」と、jsonファイルをそのまま合体できるわけもなく、面倒くさいですねえ・・ とか思いつつ、3連休を利用して、何とかある程度の完成度のものができました! |
今後の予定
将来的に、VB.netで作り変えて、JogNoteのデータからGarminの.tcxファイルを直接生成するプログラムを作ろうと考えています。 そうすれば一旦Garmin Connectにインポートしてから1件ずつエクスポートしてファイル名を書き換えて・・という面倒な作業が無くなり作業時間が大幅に短縮できる見込みです。 JogNoteがまだ使えている3月中には何とか作りたいと思います。
→ (2020/1/22追記)gpxファイルには、標高や距離が埋め込まれているわけではないのですね。。 残念。 tcxに変換したとしても、標高などは入らないかも・・? まずは Time、LatitudeDegreesとLongitudeDegrees のみを埋め込んでみてテストします。 今後のテスト次第では、断念もあり得ます、ご容赦を。。
→ (2020/1/24追記) まずはphpスクリプトで、.tcxファイルを直接生成できるようになりました! このページ中ほどのリンクからスクリプトとテンプレートファイルをダウンロードして使用してください。
→ (2020/2/4追記) とりあえずプロトタイプでVB.net版ができました! このページ中ほどのリンクからプロジェクトファイルをダウンロードして使用ください。
以上、参考になれば幸いです。
添付ファイル:
ぺージ情報 | |
---|---|
ぺージ名 : | inc/marathon/JogNote移行 |
ページ別名 : | JogNote |
ページ作成 : | なーお |
閲覧可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
編集可 | |
グループ : | なし |
ユーザー : | なし |