Conversation
|
|
||
| ただ、毎日眺めているうちに、どこか使い切れていない感覚が残る。Garminは膨大な数字を出してくれるのに、「結局どこが悪かったのか」には踏み込んでくれない。 | ||
|
|
||
| 直近の土浦かすみがうらマラソンがまさにそれだった。前半をゆっくり入りすぎて17km関門をギリギリ通過、焦って残り15kmを急激に上げたら腹痛が来て後半は完全に崩れた。ペース配分の問題なのか、スタミナなのか、フォームなのか。感覚ではなんとなくわかるが、数値で裏付けられない。 |
There was a problem hiding this comment.
🚫 [textlint] <eslint.rules.ja-technical-writing/no-doubled-joshi> reported by reviewdog 🐶
一文に二回以上利用されている助詞 "が" がみつかりました。
次の助詞が連続しているため、文を読みにくくしています。
- "が"
- "が"
同じ助詞を連続して利用しない、文の中で順番を入れ替える、文を分割するなどを検討してください。
(ja-technical-writing/no-doubled-joshi)
|
|
||
| - ケイデンス:1 分間に何歩踏んでいるか。一般的に 170〜180 歩/分 | ||
| が効率的とされている | ||
| - 上下動:体が上下に動く幅。前に進むために使えるエネルギーが、上下動に無駄遣いさ |
There was a problem hiding this comment.
🚫 [textlint] <eslint.rules.ja-technical-writing/no-doubled-joshi> reported by reviewdog 🐶
一文に二回以上利用されている助詞 "に" がみつかりました。
次の助詞が連続しているため、文を読みにくくしています。
- "に"
- "に"
同じ助詞を連続して利用しない、文の中で順番を入れ替える、文を分割するなどを検討してください。
(ja-technical-writing/no-doubled-joshi)
| - ランニングパワー:自転車でいうパワーメーターと同じ概念。出力の安定性や疲労によ | ||
| る低下が数値でわかる | ||
|
|
||
| ただ、それを見ても「良いのか悪いのか」「どう直せばいいのか」まではわからない。それがこのプロジェクトを作った動機だ。 |
There was a problem hiding this comment.
🚫 [textlint] <eslint.rules.ja-technical-writing/no-doubled-joshi> reported by reviewdog 🐶
一文に二回以上利用されている助詞 "か" がみつかりました。
次の助詞が連続しているため、文を読みにくくしています。
- "か"
- "か"
同じ助詞を連続して利用しない、文の中で順番を入れ替える、文を分割するなどを検討してください。
(ja-technical-writing/no-doubled-joshi)
|
|
||
| #### ペース変動の深刻さ | ||
|
|
||
| **ペース変動係数(CV)28.01%** — これはマラソンとして極めて高い数値です。理想は5%以下、10%でも「不安定」と評価されるレベルに対し、約6倍です。 |
There was a problem hiding this comment.
🚫 [textlint] <eslint.rules.spellcheck-tech-word> reported by reviewdog 🐶
%で => %で (spellcheck-tech-word)
| | Z4(80–90%: 166–186 bpm) | 26分38秒 | 7.3% | 閾値付近 | | ||
| | Z5(90–100%: 186–207 bpm) | 8分04秒 | 2.2% | 無酸素域 | | ||
|
|
||
| **心拍ベースでは理想的な分布**です。Z3に66%、Z2+Z3で85%はマラソンとして適切な有酸素強度帯です。心肺系のコントロールは良好と評価できます。 |
There was a problem hiding this comment.
🚫 [textlint] <eslint.rules.spellcheck-tech-word> reported by reviewdog 🐶
%は => %は (spellcheck-tech-word)
| **目標: 現在150 spm → まず160 spm、最終的に170 spm** | ||
|
|
||
| - 週2回、メトロノームアプリ(160 BPM設定)に合わせて20〜30分のイージーランを行う | ||
| - 最初の4週間は160 spmに慣れることに集中し、その後4週間で165 spm、さらに170 spmへ |
There was a problem hiding this comment.
🚫 [textlint] <eslint.rules.ja-technical-writing/no-doubled-joshi> reported by reviewdog 🐶
一文に二回以上利用されている助詞 "に" がみつかりました。
次の助詞が連続しているため、文を読みにくくしています。
- "に"
- "に"
同じ助詞を連続して利用しない、文の中で順番を入れ替える、文を分割するなどを検討してください。
(ja-technical-writing/no-doubled-joshi)
|
|
||
| #### アドバイス3: レース中の歩行戦略を「計画的」に変える | ||
|
|
||
| **目標: ペースCV 28% → 15%以下(計画的Run-Walkなら10%前後が可能)** |
There was a problem hiding this comment.
🚫 [textlint] <eslint.rules.spellcheck-tech-word> reported by reviewdog 🐶
%以 => %以 (spellcheck-tech-word)
|
|
||
| #### アドバイス5: 垂直比を改善するドリルを導入する | ||
|
|
||
| **目標: 垂直比9.55% → 8.5%以下** |
There was a problem hiding this comment.
🚫 [textlint] <eslint.rules.spellcheck-tech-word> reported by reviewdog 🐶
%以 => %以 (spellcheck-tech-word)
|
|
||
| # FIT ファイルのパース | ||
|
|
||
| Garmin デバイスが保存するデータ形式は `.fit` はバイナリフォーマットのため、テキストエディタでは読めない。`fitparse` というライブラリを使えば、これを数行で読み込める。このファイルは Garmin Connect の「アクティビティ」画面から手動でダウンロードできる(エクスポート → オリジナル形式)。 |
There was a problem hiding this comment.
🚫 [textlint] <eslint.rules.ja-technical-writing/no-doubled-joshi> reported by reviewdog 🐶
一文に二回以上利用されている助詞 "は" がみつかりました。
次の助詞が連続しているため、文を読みにくくしています。
- "は"
- "は"
同じ助詞を連続して利用しない、文の中で順番を入れ替える、文を分割するなどを検討してください。
(ja-technical-writing/no-doubled-joshi)
|
|
||
| ## enhanced_speed と speed の使い分け | ||
|
|
||
| 新しいデバイスでは `speed` と `enhanced_speed` の両方のカラムが存在することがある。精度の高い `enhanced_speed` を優先して使う必要がある。 |
There was a problem hiding this comment.
🚫 [textlint] <eslint.rules.ja-technical-writing/no-doubled-joshi> reported by reviewdog 🐶
一文に二回以上利用されている助詞 "が" がみつかりました。
次の助詞が連続しているため、文を読みにくくしています。
- "が"
- "が"
同じ助詞を連続して利用しない、文の中で順番を入れ替える、文を分割するなどを検討してください。
(ja-technical-writing/no-doubled-joshi)
| --race-name "土浦かすみがうらマラソン2026" | ||
| ``` | ||
|
|
||
| コマンド一つでレースデータを渡すと、ブラウザで見られるレポートが生成される。 |
There was a problem hiding this comment.
[textlint-fix] reported by reviewdog 🐶
| コマンド一つでレースデータを渡すと、ブラウザで見られるレポートが生成される。 | |
| コマンド1つでレースデータを渡すと、ブラウザで見られるレポートが生成される。 |
|
|
||
| まず、フルマラソンを最後まで走り切ったことを評価します。6時間台での完走は、42.195kmという距離に対して身体が最後まで「動き続けた」ことの証明です。 | ||
|
|
||
| しかしデータは、**心肺系には余裕があったにもかかわらず、脚の筋持久力が先に限界を迎えた**ことを明確に示しています。心拍ドリフトはわずか-3.1 bpmと心肺系は安定していた一方、ペースは前半8:13/kmから後半8:56/kmへ+43秒/km(8.7%)失速し、パワー出力も30〜40W低下しました。 |
There was a problem hiding this comment.
[textlint-fix] reported by reviewdog 🐶
| しかしデータは、**心肺系には余裕があったにもかかわらず、脚の筋持久力が先に限界を迎えた**ことを明確に示しています。心拍ドリフトはわずか-3.1 bpmと心肺系は安定していた一方、ペースは前半8:13/kmから後半8:56/kmへ+43秒/km(8.7%)失速し、パワー出力も30〜40W低下しました。 | |
| しかしデータは、**心肺系には余裕があったにもかかわらず、脚の筋持久力が先に限界を迎えた**ことを明確に示しています。心拍ドリフトはわずか-3.1 bpmと心肺系は安定していた一方、ペースは前半8:13/kmから後半8:56/kmへ+43秒/km(8.7%)失速し、パワー出力も30〜40W低下しました。 |
|
|
||
| #### ペース変動の深刻さ | ||
|
|
||
| **ペース変動係数(CV)28.01%** — これはマラソンとして極めて高い数値です。理想は5%以下、10%でも「不安定」と評価されるレベルに対し、約6倍です。 |
There was a problem hiding this comment.
[textlint-fix] reported by reviewdog 🐶
| **ペース変動係数(CV)28.01%** — これはマラソンとして極めて高い数値です。理想は5%以下、10%でも「不安定」と評価されるレベルに対し、約6倍です。 | |
| **ペース変動係数(CV)28.01%** — これはマラソンとして極めて高い数値です。理想は5%以下、10%でも「不安定」と評価されるレベルに対し、約6倍です。 |
| | Z1(50–60%: 104–124 bpm) | 19分27秒 | 5.3% | 回復・歩行区間 | | ||
| | Z2(60–70%: 124–145 bpm) | 1時間10分 | 19.1% | 軽い有酸素 | | ||
| | Z3(70–80%: 145–166 bpm) | 4時間02分 | **66.1%** | 有酸素の中核帯 | | ||
| | Z4(80–90%: 166–186 bpm) | 26分38秒 | 7.3% | 閾値付近 | | ||
| | Z5(90–100%: 186–207 bpm) | 8分04秒 | 2.2% | 無酸素域 | |
There was a problem hiding this comment.
[textlint-fix] reported by reviewdog 🐶
| | Z1(50–60%: 104–124 bpm) | 19分27秒 | 5.3% | 回復・歩行区間 | | |
| | Z2(60–70%: 124–145 bpm) | 1時間10分 | 19.1% | 軽い有酸素 | | |
| | Z3(70–80%: 145–166 bpm) | 4時間02分 | **66.1%** | 有酸素の中核帯 | | |
| | Z4(80–90%: 166–186 bpm) | 26分38秒 | 7.3% | 閾値付近 | | |
| | Z5(90–100%: 186–207 bpm) | 8分04秒 | 2.2% | 無酸素域 | | |
| | Z1(50–60%: 104–124 bpm) | 19分27秒 | 5.3% | 回復・歩行区間 | | |
| | Z2(60–70%: 124–145 bpm) | 1時間10分 | 19.1% | 軽い有酸素 | | |
| | Z3(70–80%: 145–166 bpm) | 4時間02分 | **66.1%** | 有酸素の中核帯 | | |
| | Z4(80–90%: 166–186 bpm) | 26分38秒 | 7.3% | 閾値付近 | | |
| | Z5(90–100%: 186–207 bpm) | 8分04秒 | 2.2% | 無酸素域 | |
| | Z4(80–90%: 166–186 bpm) | 26分38秒 | 7.3% | 閾値付近 | | ||
| | Z5(90–100%: 186–207 bpm) | 8分04秒 | 2.2% | 無酸素域 | | ||
|
|
||
| **心拍ベースでは理想的な分布**です。Z3に66%、Z2+Z3で85%はマラソンとして適切な有酸素強度帯です。心肺系のコントロールは良好と評価できます。 |
There was a problem hiding this comment.
[textlint-fix] reported by reviewdog 🐶
| **心拍ベースでは理想的な分布**です。Z3に66%、Z2+Z3で85%はマラソンとして適切な有酸素強度帯です。心肺系のコントロールは良好と評価できます。 | |
| **心拍ベースでは理想的な分布**です。Z3に66%、Z2+Z3で85%はマラソンとして適切な有酸素強度帯です。心肺系のコントロールは良好と評価できます。 |
| - **具体策**: 30分ごとにジェル1本(約100 kcal)を摂取。6時間で12本、計1,200 kcal | ||
| - エイドステーションでの長時間停止を避け、歩きながら補給する練習をロングランで行う | ||
|
|
||
| **まとめ**: あなたの最大の強みは**心肺系の安定性**(Z3に66%滞在、ドリフト-3.1 bpm)です。心肺はすでにサブ5.5を狙えるベースがあります。課題は明確で、**ケイデンス改善(150→170 spm)と筋持久力の強化**の2点に集中すれば、次回のフルマラソンで大幅なタイム短縮が期待できます。まずは3ヶ月間、ケイデンスドリルと筋力補強を継続してください。次のレースでは5時間30分以内を現実的な目標として設定できます。 |
There was a problem hiding this comment.
[textlint-fix] reported by reviewdog 🐶
| **まとめ**: あなたの最大の強みは**心肺系の安定性**(Z3に66%滞在、ドリフト-3.1 bpm)です。心肺はすでにサブ5.5を狙えるベースがあります。課題は明確で、**ケイデンス改善(150→170 spm)と筋持久力の強化**の2点に集中すれば、次回のフルマラソンで大幅なタイム短縮が期待できます。まずは3ヶ月間、ケイデンスドリルと筋力補強を継続してください。次のレースでは5時間30分以内を現実的な目標として設定できます。 | |
| **まとめ**: あなたの最大の強みは**心肺系の安定性**(Z3に66%滞在、ドリフト-3.1 bpm)です。心肺はすでにサブ5.5を狙えるベースがあります。課題は明確で、**ケイデンス改善(150→170 spm)と筋持久力の強化**の2点に集中すれば、次回のフルマラソンで大幅なタイム短縮が期待できます。まずは3ヶ月間、ケイデンスドリルと筋力補強を継続してください。次のレースでは5時間30分以内を現実的な目標として設定できます。 |
| pace_cv = p_series.std() / p_series.mean() * 100 | ||
| ``` | ||
|
|
||
| 先ほどの実例レポートでは CV が **28.01%** と算出された。理想の 5% 以下どころか 6 倍近い値で、「非常にペースが不安定なレースだった」という事実を数値として示している。 |
There was a problem hiding this comment.
[textlint-fix] reported by reviewdog 🐶
| 先ほどの実例レポートでは CV が **28.01%** と算出された。理想の 5% 以下どころか 6 倍近い値で、「非常にペースが不安定なレースだった」という事実を数値として示している。 | |
| 先ほどの実例レポートでは CV が **28.01%** と算出された。理想の 5% 以下どころか 6 倍近い値で、「非常にペースが不安定なレースだった」という事実を数値として示している。 |
|
|
||
| ## 2. 心拍数分析(`hr_analyzer.py`) | ||
|
|
||
| Garmin の 5 ゾーン基準(最大心拍の 50/60/70/80/90/100%)に従ってゾーン分布を算出する。加えて、前後半の平均心拍差(心拍ドリフト)とペースとの相関係数も計算する。 |
There was a problem hiding this comment.
[textlint-fix] reported by reviewdog 🐶
| Garmin の 5 ゾーン基準(最大心拍の 50/60/70/80/90/100%)に従ってゾーン分布を算出する。加えて、前後半の平均心拍差(心拍ドリフト)とペースとの相関係数も計算する。 | |
| Garmin の 5 ゾーン基準(最大心拍の 50/60/70/80/90/100%)に従ってゾーン分布を算出する。加えて、前後半の平均心拍差(心拍ドリフト)とペースとの相関係数も計算する。 |
|
|
||
| ## 3. フォーム分析(`form_analyzer.py`) | ||
|
|
||
| ケイデンス・上下動・接地時間・垂直比を前後半で比較する。さらに、独自の **フォームスコア(100 点満点)** を算出して「どこをどう改善すべきか」を定量化している。閾値はランニングエコノミー研究で一般的に参照される市民ランナー向けの目安値(ケイデンス 170〜180 spm、垂直比 8% 以下、接地時間 250ms 以下が効率的とされる)をもとに設定した。 |
There was a problem hiding this comment.
[textlint-fix] reported by reviewdog 🐶
| ケイデンス・上下動・接地時間・垂直比を前後半で比較する。さらに、独自の **フォームスコア(100 点満点)** を算出して「どこをどう改善すべきか」を定量化している。閾値はランニングエコノミー研究で一般的に参照される市民ランナー向けの目安値(ケイデンス 170〜180 spm、垂直比 8% 以下、接地時間 250ms 以下が効率的とされる)をもとに設定した。 | |
| ケイデンス・上下動・接地時間・垂直比を前後半で比較する。さらに、独自の **フォームスコア(100 点満点)** を算出して「どこをどう改善すべきか」を定量化している。閾値はランニングエコノミー研究で一般的に参照される市民ランナー向けの目安値(ケイデンス 170〜180 spm、垂直比 8% 以下、接地時間 250ms 以下が効率的とされる)をもとに設定した。 |
|
|
||
| 技術スタックは Python + fitparse + pandas + Plotly + Claude CLI だけ。特別なインフラも不要で、ローカルで完結する。 | ||
|
|
||
| このツールを作る前と後では、レースの振り返り方が変わった。「なんとなく後半きつかった」が「CV 28%・心拍ドリフト +12bpm・接地時間後半+18ms」という数値に変わり、次の練習で何を優先すべきかが具体的になる。土浦のレースも、ペース急変→腹痛という因果がデータ上ではっきり見えた。 |
There was a problem hiding this comment.
[textlint-fix] reported by reviewdog 🐶
| このツールを作る前と後では、レースの振り返り方が変わった。「なんとなく後半きつかった」が「CV 28%・心拍ドリフト +12bpm・接地時間後半+18ms」という数値に変わり、次の練習で何を優先すべきかが具体的になる。土浦のレースも、ペース急変→腹痛という因果がデータ上ではっきり見えた。 | |
| このツールを作る前と後では、レースの振り返り方が変わった。「なんとなく後半きつかった」が「CV 28%・心拍ドリフト +12bpm・接地時間後半+18ms」という数値に変わり、次の練習で何を優先すべきかが具体的になる。土浦のレースも、ペース急変→腹痛という因果がデータ上ではっきり見えた。 |
No description provided.