マラソンのゴールタイムを物理計算で予測!コース別タイムがわかるマラソン攻略シミュレーターを自作

marathon runner silhouette with digital data overlay, pace chart and elevation profile floating around, blue glowing tech elements, modern sports analytics concept, clean minimalist style, dynamic motion blur, white and blue color scheme.

「東京マラソンとおかやまマラソン、同じ調子ならどっちが速く走れる?」 「ベルリンは高速コースって聞くけど、自分だと何分くらい違うの?」

マラソンのタイムはコースによって大きく変わります。でも、その差を具体的な数字で比較できるツールはほとんどありません。

そこで、物理モデル(勾配・風・空気抵抗)に基づいてフィニッシュタイムを予測するシミュレーターを自作しました。開発にはGoogleのAIエージェント環境「Antigravity」を活用しています。世界7大マラソンと日本の主要大会を収録済みで、VDOTや目標タイムを入力するだけで「このコースなら何分でゴールできるか」がわかります。

目次

マラソンのタイムはコースでどのくらい変わるのか?

結論から言うと、同じ走力でもコースによって数分の差が出ます

たとえば、VDOT 44.6(フルマラソン3時間30分相当)のランナーがおかやまマラソンを走ると予想タイムは3:31:26。一方、東京マラソンなら3:30:45。約40秒の差です。

「たった40秒?」と思うかもしれません。でも、サブ3.5を狙っているランナーにとって、この40秒は大きい。コース選びだけでギリギリ届くか届かないかが変わる可能性があります。

さらに起伏の激しいコースと比較すれば、差は数分に広がります。ボストンマラソンの「心臓破りの丘」、ニューヨークの橋の連続——こうした難コースでは、フラットなベルリンと比べて5分以上遅くなることも珍しくありません。

「自己ベストを狙うならどのレースに出るべきか?」という問いに、数字で答えられるツールが欲しかったんです。

マラソン攻略シミュレーターとは?フィニッシュタイムを物理計算で予測

マラソン攻略シミュレーターUI
マラソン攻略シミュレーターUI

マラソン攻略シミュレーターでできること

  • VDOTまたはフルマラソンタイムを入力するだけでゴールタイムを予測
  • 世界7大マラソン+日本主要大会を収録済み
  • 複数コースのタイムを比較して「自己ベストが出やすいレース」を探せる
  • 区間ラップ表でレース当日のペース戦略にも活用可能

このシミュレーターの基本思想は「一定のパワー(出力)で走り切ったらどうなるか」を物理的に計算すること。

上り坂では同じ出力でもペースが落ち、下り坂では上がる。向かい風ではエネルギーを消耗し、追い風では楽になる。こうした物理的な影響をすべて積み上げて、最終的なフィニッシュタイムを導き出します。

収録済みコース一覧

🌍 世界7大マラソン(World Marathon Majors + シドニー) 東京、ボストン、ロンドン、ベルリン、シカゴ、ニューヨークシティ、シドニー

🇯🇵 日本国内主要大会 大阪、別府大分、防府、あおもり桜、新潟シティ、金沢、富山、勝田、大田原、つくば、岡山、福岡、愛媛 など

GPXファイルを追加すれば、収録されていないコースにも対応できます。

実際に試してみる

スマホの方や細かく操作したい方は、下の「全画面表示で使う」ボタンから別タブで開くと快適に入力できます!

この画面でマラソン攻略シミュレーターを直接使用できます

使い方:フルマラソンタイムを入力してゴールタイムを予測する

操作は4ステップで完了します。

STEP
走力を入力

フルマラソンタイム(例:3:30:00)またはVDOTを入力します。タイムを入力すると自動的にVDOTに変換されます。

マラソン攻略シミュレータースマホUI_タイトル・基礎走力.
STEP
コースと気象条件を選択

ドロップダウンからコースを選び、当日の風速・風向きを設定します。風速は予報値をそのまま入力すればOK(内部で地表摩擦や集団遮蔽を考慮して補正します)。

マラソン攻略シミュレータースマホUI_コース・気象条件入力画面
STEP
レース戦略を選択

一定のパワー(出力)以外の走り方を、より細かく条件を設定したい場合に設定するオプションです。

マラソン攻略シミュレータースマホUI_レース戦略入力画面
STEP
シミュレーション実行

シミュレーション実行ボタンを押すと、予想フィニッシュタイムが表示されます。

マラソン攻略シミュレータースマホUI_シミュレーション実行ボタン

レース戦略のオプション

一定のパワー(出力)以外の走り方を、より細かく条件を設定したい場合は、以下のオプションも使えます。コースプロフィールによって最適な走り方が異なりますので試してみて下さい。

スプリット配分

  • イーブン:一定の出力を維持(デフォルト)
  • ポジティブ:前半の出力配分を上げる。(後半タレを許容)
  • ネガティブ:後半の出力配分を上げる(前半を抑える)

上り坂のパワー設定

坂道でどのくらい頑張るかを調整。100%なら平地と同じ出力(デフォルト)。100%以上なら坂道で攻めて下りで温存する設定。100%未満なら坂道で温存して下で攻める設定です。

坂道で頑張りすぎると逆効果? 「上り坂パワー」を上げすぎると、予想タイムがかえって遅くなることがあります。坂道でエネルギーを使いすぎると、残りの距離でペースを落とさざるを得なくなるためです。物理モデルだからこそ見える「頑張りすぎないことの重要性」ですね。

結果画面の見方

シミュレーション結果では、以下の情報が得られます。

クイックサマリー

  • 予想タイム:ゴール予測タイム
  • 平均ペース:全体の平均ペース
  • 基礎走力(平地相当ペース):入力したフルマラソンタイムの平均ペース
  • 獲得標高:コース全体で登った高さ(標高差)の合計
  • コース難易度(Toughness):独自の難易度スコア:

ペース戦略チャート

推奨ペース(赤線)とコースの標高プロファイル(グレー背景)を重ねて表示。どこでペースが落ち、どこで稼げるかが視覚的にわかります。

マラソン攻略シミュレーター_出力結果_ペース戦略チャート

コース平面図

マラソン攻略シミュレーター_シミュレーション結果_コース平面図

区間ラップ表

1kmごとの推奨ラップと通過タイムを一覧表示。レース当日にリストバンドにメモして活用できます。

マラソン攻略シミュレーター_シミュレーション結果_区間ラップ表

フィニッシュタイム予測がメインですが、副産物として「どこで攻めてどこで耐えるか」のペース戦略も手に入ります。

コース比較機能:自己ベストが出やすいレースを探す

このシミュレーターで一番使ってほしい機能がこれです。

画面下部の「コース比較」セクションでは、現在の設定(走力・戦略・気象)のまま別コースのシミュレーションを実行できます。

比較できる指標

  • 予想タイム:どのくらい速い/遅いか
  • 獲得標高:累積で登る高さの違い
  • コース難易度(Toughness):独自の難易度スコア

世界7大マラソンがすべて収録されているので、「自分の走力でベルリンを走ったら何分?ボストンの坂はどのくらい影響する?」といった比較が簡単にできます。

たとえば下図のように、おかやまマラソン(3:31:26)と東京マラソン(3:30:45)を比較すると、東京のほうが41秒速いという結果に。獲得標高も116m→97mと約20m少なく、フラットなコースであることが数字で確認できます。

マラソン攻略シミュレーター_出力結果_コース比較

活用例

  • サブ3.5をギリギリ狙える走力なら、よりフラットなコースを選ぶ
  • 坂に強い脚質なら、あえて起伏コースで他のランナーと差をつける
  • 海外遠征の候補を絞り込む

コース選びも立派なレース戦略。どのレースにエントリーするかで、目標達成の確率は変わります。

計算の仕組み:勾配・風・空気抵抗の物理モデル

せっかくなので、内部でどんな計算をしているかも紹介します。

Minettiの勾配エネルギーコスト式 2002年に発表された論文に基づくモデルで、勾配ごとのランニング効率を計算します。上り坂ではエネルギー消費が増え、下り坂では減る——その度合いを定量化しています。

空気抵抗の計算 ランナーの投影面積と空気密度、対気速度の二乗に比例する抗力を計算。風速は予報値の50%を実効風速として使用します(地表摩擦と集団遮蔽効果を考慮)。

5m精度のリサンプリング GPXデータは記録間隔がバラバラなので、すべて5m等間隔にリサンプリング。元データの粗密に関わらず一貫した勾配計算を実現しています。

標高データの平滑化 GPSの標高データにはノイズが多いため、移動平均フィルタで平滑化。Garmin Connectの「獲得標高」と合わせ込む適切な窓幅にしています。

距離正規化 GPS誤差を考慮し、全行程を正確に42.195kmになるようスケーリング。

開発の裏側:AIエージェントに「任せて」作った

Google Antigravity

このアプリは、Googleの次世代AI開発環境「Antigravity」を使って開発しました。

Antigravityは「エージェントファースト」を掲げるIDEで、人間が「作りたいもの」を指示すると、AIエージェントが計画・実装・検証まで自律的に進めてくれます。物理モデルの実装、Streamlit UIの構築、GPXデータの処理ロジックなど、従来なら数週間かかる開発作業を大幅に短縮できました。

「こういうツールが欲しい」というアイデアさえあれば、AIと一緒に形にできる時代になりました。Antigravityの使い方についても、別の機会に紹介できればと思います。

今後のアップデート予定

今後は以下の機能追加を検討しています。

  • 給水ポイントごとの通過タイム予測
  • 心拍数ドリフトを考慮したスタミナ減衰モデル
  • 気温上昇によるペースダウン補正

フィードバックをもらいながら改善していく予定です。

よくある質問(FAQ)

Q. 体重を入力する項目がありませんが、結果に影響しませんか?

Q

A. シンプル化のため、内部的には標準体重(60kg)で計算しています。ただし、体重が重い人は空気抵抗を受ける面積も大きくなるというスケーリングを導入しているため、ペース配分の傾向(どこで速く走るべきか)は体重に関わらず正しく算出されます。絶対的なタイムよりも、コース間の相対比較に活用してください。

Q. ラップ表で一部の区間だけ極端に速かったり遅かったりするのはなぜ?

A. 5m刻みで詳細に計算しているため、短い急坂がある区間はその影響がダイレクトに反映されます。たとえば1km区間の中に100mだけ急な上り坂があると、その区間のラップは遅くなります。また、トンネルなどGPS信号が途切れた箇所は平地として補正しているため、実際と異なる場合があります。

Q. 「上り坂パワー」を上げたのに予想タイムが遅くなりました。バグですか?

A. バグではなく、物理的に正しい挙動です。上り坂で出力を上げると、その区間では確かにタイムを稼げます。しかし、エネルギーを前半で使いすぎると、残りの長い距離でペースを維持できなくなります。結果としてトータルでは遅くなることがあります。「頑張りすぎない」ことの重要性を示す、このシミュレーターならではの気づきです。

Q. 風速はどのように計算に反映されますか?

A. 入力した風速の50%を実効風速として計算しています。これは、地表付近では建物や樹木による摩擦で風が弱まること、また集団走では前のランナーが風よけになることを考慮したものです。天気予報の風速をそのまま入力すれば、現実的な影響度が反映されます。

Q. 自分が走る予定のコースが収録されていません。追加できますか?

A. GPXファイルがあれば追加可能です。連絡いただければ追加します。

👉お問い合わせ

まとめ:コース選びもレース戦略のうち

マラソン攻略シミュレーターは、物理モデルに基づいてフィニッシュタイムを予測するツールです。

  • VDOTまたはタイム入力だけでゴールタイムがわかる
  • 世界7大マラソン+日本主要大会を収録済み
  • コース比較で「自己ベストが出やすいレース」を探せる
  • 区間ラップ表でレース当日の戦略にも使える

「どのレースに出るか」は、トレーニングと同じくらい重要な戦略的判断です。自分の走力と相性の良いコースを見つけて、次の自己ベスト更新を狙ってみてください。

経験則だけに頼らず、数字で判断したい方はぜひ試してみてください。

トレーニング計画も立てたい方へ

コースを決めたら、次は日々のトレーニングです。AIマラソンコーチ(AMC)なら、あなたの目標に合わせた練習プランを自動生成できます。

関連記事

この記事が役立ったらシェア

コメント

コメントする

目次