ラックサックマーチ(ラッキング)をしていて不便なのが、”スマートウォッチなどでウォーキングの扱いをされる”ことです。明らかにウォーキングとは比べ物にならない疲労度と負荷なんですけれど、頑張った感がデータで見れないのは悲しい。
ということで、いろんなスポーツのデータ分析が無料で出来るIntervals.icu上で、ラッキングのデータを解析してより自動計測出来るようにしました。

前提:ラックサックマーチの消費カロリー

前にも書いてますけど、スポーツSNSの実質デファクトスタンダードであるStravaや、Garminなどスマートウォッチメーカーからもラッキングは相手にされておらず、そもそも選択できるアクティビティに含まれていない問題がありました。

WHOや厚生労働省が提示している身体活動の強度の目安であるMETsの表には、かなり昔から「運搬」というアクティビティが載っています。しかし

METs活動内容
3.5軽い荷物運び
8.0運搬(重い荷物)
8.3荷物を上の階へ運ぶ
厚生労働省 健康づくりのための身体活動・運動ガイド2023より抜粋

ざっくりしすぎなのよMETs表。

見ての通りなんですけどね、重い・軽いとか主観すぎてアレです。お前は「サイトが重い気がする」とか宣うクライアントかと。
そんなわけでラッキング専門店のECサイト、GoRuckで計算したカロリーを手動で入れたりしてた、というのが前に書いた↓この記事です。

記録はできなくはないんですけど、手動だとめんどくさくなって記録しなくなっちゃうのがよろしくありませんので、これをある程度自動的にやれるように工夫してみました。

※使用上のご注意

このツールで計算できる消費カロリーはGoRuckの計算データの近似値になるように立式しています。表示される消費カロリー値に医学的・運動生理学的なエビデンスは当方では担保しませんのであしからずご了承ください。

Intervals.icuを使おう

Stravaではラッキングは記録できないんですが、Stravaと連動するトレーニング管理ツール「Intervals.icu」を使用します。Strava標準にはないカスタムデータなどを記録したり、JavaScriptを使って自動計算したり出来る仕組みを利用します。
Intervals自体のアカウント作成や基本的な使い方はこちら↓の過去記事で。

ラッキング計測の準備

準備は大事おじさん「準備は大事」

自動計測するうえでいくつか必要な準備がありますので順に書いていきます。

準備1:体重を設定する

今回作ったカロリー計算式では体重を定数として使用しています。Garmin connect、STRAVA、Google Fitなどと連携していればそちらから自動的に体重の値が設定されますが、連携していない場合は個人設定の画面からデフォルトの体重を指定するか、アクティビティ毎の体重の値を入れておいてください。

準備2:アクティビティを記録する

カスタムアクティビティフィールドを追加できるのはアクティビティの詳細ページからのみなので、最低1個はアクティビティが必要です。登録したばかりの方はStravaやGarminと連携して過去のアクティビティを読み込むか、マニュアルアップロードでアクティビティを追加してください。(FIT形式やGPX形式のトレーニングログファイルでアップできますので、直接連携する機能がない他のアプリからも利用できます)

アクティビティのタイプはハイキングなど、空荷でのウォーキング/ランニングとは分けて記録するのをおすすめします。理由は後述します。

準備3:カスタムアクティビティフィールドを追加する

アクティビティを開くと、速度や距離などがグラフでみれるページが表示されます。ここにフィールドを追加していきます。グラフの下の方の「カスタム」をクリックすると追加フィールドの選択ウインドウが開きます。

デフォルト状態だと選択できるものがない状態だと思います。下の方の虫眼鏡アイコンから、他の人が作ったカスタムフィールドが探せます。
もちろんご自身でオリジナルのフィールドを作ることも出来ますが今回は説明割愛、私が作ったものを検索します。

テキストボックスにRuckと入れると出てくる、RuckWeightとRuckCaloriesの両方を追加してください。

アクティビティページ上部に固定数値としてフィールドが追加されます。

最初は数字が「?」になっています。再計算の方法はのちほど。

Intervalsではアクティビティのタイプごとに表示フィールドのOn/Offが設定できます。私はフィルタで表示わけがしやすいように、ラックサックマーチは”ハイキング”、荷物無しのときは”ウォーキング”で使い分けています。

準備4:デフォルトの荷物の重さを設定する

先ほど追加した2つのフィールド「RuckWeight」「RuckCalories」にはスクリプトが仕込んでありまして、新規アクティビティをアップするか、「アクティビティの分析」を再実行することで自動的に値が入力されます。

RuckWeightには初期状態で10が自動的に設定されますが、お好みの数字に変更できますので設定していきましょう。またチャート下の「カスタム」を開いて、RackWeightの横の鉛筆マークをクリックしてください。

難しそうな詳細設定画面が出てきますが特に何もいじらずに、「スクリプト」のタブをクリックしてください。

スクリプトはこうなってます。

{
    activity.RuckingWeight !== null
    ? activity.RuckingWeight
    : 10 // default value
}

コードの中身を理解する必要はまったくないんですが、要約すると「値が入ってないときは10をいれるやで」という意味。つまりアクティビティをアップした時=値が設定されていない時は10kgで記録・計算されるスクリプトです。

最後の行の「10」を、ご自身が普段ラックサックマーチで使用しているバックパックの重量に書き換えてください(半角英数字で!)。重量を増やしたらその都度ここを書き換えるとあとから再計算する手間が省けます。
書き換え終わったらOKを押して確定してください。

ちなみにバックパックの重量を測るには、旅行用の重量計が便利です。ラックサックマーチ目的では、はかりの精度はそんなに問題にならないので安物で大丈夫ですよ。

いざ自動計算!スクリプトを再実行する

設定が済みましたが、登録済みアクティビティのRuckCaloriesフィールドは、この時点でもまだ表示は「?」のままです。それではカロリーの計算をさせてみましょう。

アクティビティページの右下にある「アクション」メニューの中から、「分析」を選んでください。とりあえず「現在のインターバルを残す」にチェックを入れて「OK」をクリック。

少し待つと「?」になっていたRuckCalories、RuckWeightの項目に値が自動入力されます。

これで1件、カロリーの計算ができたと思います。
うまく計算されない場合は、先程修正したRuckWeightのスクリプトの数字が全角になっていないかを見直してください。

標準で記録される消費カロリーより2~5割ほど値が大きくなっていると思います、これでモチベ爆上がり間違いなしです。

過去のアクティビティもまとめて再計算したい

過去のデータがいっぱいある場合、先程のように1件ずつ再計算するとなるとかなりめんどくさいですが、実はIntervalsは一括処理も出来るすごいヤツです。まずはホームに戻って、デフォルトのカレンダー表示からリスト表示に切り替えましょう。

再計算したいアクティビティ左端のボックスにチェックをいれて、編集メニューから「分析する」をクリックしてください。

ちなみにチェックを入れないと表示されている全データが再計算されます。結構時間がかかってしまうので1つずつチェックをいれていくか、フィルタを駆使して必要なものだけに絞り込んだ方がいいかもしれません。
さきほどアクティビティタイプを「ハイキング」にしたのは、ここでフィルタしやすいようにです。

アクティビティページからやったのと同じダイアログが出ますので、こちらも「現在のインターバルを残す」にしておきましょう。

アクティビティの長さにもよりますが、1件3秒くらいかかりますので気長に待ちましょう。終了したら個別のアクティビティページを見てみると反映されています。

アクティビティの一覧表示モードはスポーツタイプごとのデータ管理にも便利な表示モードです。例えば「今年の自転車の走行距離を見る」とか「この期間の消費カロリーの合計を計算」とか。

今回追加したようなカスタムフィールドも表示・集計対象にすることが出来ますし、タブごとにフィルタや表示項目を変えられます。ここまですべて無料で出来ます。ぜひぜひあなたのトレーニング生活にもご活用ください。


余談:グロス平均速度が表示できるカスタムフィールド

カスタムフィールドのところでチラ見えしている「Gross Ave. Speed」も自作フィールドです。見たまんま、休憩時間を含めたグロス平均速度を表示できるブルベ勢向けの集計項目です。

もしよかったら使ってみてください(はぁと