ルート上の天気を一覧化するアプリを作ってみた

概要
事業のほうが忙しく、走りに行けない日々が続いている。
今回は珍しく、ライドの記録ではない。自分でWebアプリを作ったという話だ。
とはいえ動機は完全にライド由来で、要は「走る前に、ルート上の各地点の天気をまとめて知りたかった」というだけの話である。
実は数年前にも似たようなものを作ってTwitter(現X)に上げたことがあるのだが、あれは事情があって公開できず、結局自分の手元でしか動かない状態のまま止まっていた。今回はそこを作り直して、ようやく誰でも使える形にした。(なぜ当時は公開できなかったのか、という話はいずれ別で書きたい)
作ったものはこちら。
👉 https://ride-weather-app.nacci-dev.workers.dev
無料、登録不要、ブラウザで開くだけで使える。
きっかけ:4月に32度は聞いていない
作ったきっかけは、以前の佐用町ホルモンうどんライドである。
まだ4月中旬だというのにGarminが32度を表示し、福崎のコンビニでアイスを買い込んで一息つくも、その先の加西で「もう無理だ」と引き返し、南下して姫路から輪行。あっさりDNFしたあの日である。
あの時、出発前に天気予報は確認していた。していたのだが、見ていたのは神戸の予報だ。
当たり前だが、神戸駅を8時半に出た時の天気と、加西市を14時に走っている時の天気は、場所も時刻も別物である。
にもかかわらず、出発前に見ているのは「今いる場所の予報」だけ。これでは内陸に入った午後の暑さなど分かるはずもない。
誰しも覚えがあるだろう。峠を越えてトンネルを抜けたら空模様が別物だったり、出発時は快適だったのに日中の暑さでウェア選びを悔やんだり。。。
かといって、ルート上の地名を1つずつ天気アプリに入れて調べるのは面倒すぎる。そもそも「その地点に何時に着くのか」が分からないと、何時の予報を見ればいいのかも分からない。
……という不満を数年抱えていたので、作ることにした。
作ったもの
Ride with GPS のルートを指定すると、ルート上の各地点について「そこに到着する時刻の天気」を一覧表示するアプリだ。
使い方は3ステップ。
- Ride with GPS のルートIDかURLを貼る
- 走行日・出発時刻・平均時速を入れる
- 「天気予報を表示」を押す
これだけで、ルート上の10地点の天気が出る。
Ride with GPS を使っていない場合でも、Strava や Garmin から書き出した GPX / TCX ファイルをアップロードすれば同じように使える。ファイルはブラウザの中だけで読み込まれ、サーバーには送られない。

スマホで開くと、同じ内容が縦に並ぶ。実際に使うのはこちらだ。

ポイントは、平均時速をもとに各地点の到着時刻を計算していること。なので、出てくるのは「その地点の今の天気」ではなく「その地点に、自分が着くであろう時刻の天気」になる。
前回のライドで言えば、平均速度は23.4km/hだった。この数字を入れておけば、「加西市を通過するのは何時で、その時何度か」が出発前に分かるわけだ。
出発を1時間早めたらどうなるか、を試したい時は、出発時刻を変えて再表示すればいい。
気に入っている機能
危ない地点を勝手に教えてくれる
10地点ぶんの数字を1つずつ見比べるのは面倒だ。というか絶対に見ない。
なので、画面の一番上に要約を出すようにした。
- 降水確率50%以上
- 降水量1mm以上
- 風速4m/s超
- 体感温度33度以上/5度以下
- ルート内の気温差が10度以上
- 夜間に到着する地点(ライト点灯推奨)
このどれかに引っかかる地点があると、「C-5〜C-8で体感温度33度以上」といった形で、どのあたりが危ないかをまとめて教えてくれる。該当する地点のカードも色が変わる。

時間帯ごとに一覧できる
天気カードとは別に、地点×時刻をマトリックス(時間帯表)でまとめて見ることもできる。数字が詰まっていて一見とっつきにくいが、全体の傾向を掴むにはこちらが早い。

1地点をじっくり見たいときはカード、全体をざっと見比べたいときはマトリックス、という使い分けだ。
画像として保存できる
山に入れば電波は無くなる。せっかく調べても、走行中に見られなければ意味がない。
というわけで、出発前に予報を画像として保存しておけるようにした。写真アプリから見られるので、圏外だろうが関係ない。
保存されるのはこんな画像だ。地図・標高プロファイル・警告の要約・時間帯表が1枚にまとまっている。

個人的には、これが一番使う機能だと思っている。
URLで共有できる
条件を入れて表示すると、その条件がURLに入る。そのままLINEに投げれば、相手の画面にも同じ内容が出る。当然、相手のアカウント登録などは不要だ。
グループライドの前に「明日こんな感じらしいです」と流すのに使えると思う。
正直なところ、こういう制限がある
自分用に作ったものなので、できないことも多い。
- 予報は5日先まで。使っている無料の天気APIの制限なので、これはどうしようもない
- Ride with GPS のルートは公開設定のものだけ。非公開ルートは読み込めない(GPX / TCX アップロードならこの制限はない)
- 到着時刻は基本が「距離 ÷ 平均時速」。獲得標高と休憩時間の目安を上乗せする補正は用意してある(初期はON)が、補給のコンビニ滞在や登りでの大きな失速まで読めるわけではない。あくまで目安として見てほしい
- 天気予報そのものの精度は、元の予報以上にはならない。当然だが
特に3つ目は重要で、前回のライドも実際には休憩を挟みまくっているので、計算上の到着時刻より確実に遅い。あくまで目安として見てもらえればと思う。
※ もっとも、経験を積んだ人ほど「この距離なら休憩込みでだいたいこれくらい」と頭の中で見積もっているもので、その意味では補正機能はベテランには不要かもしれない。
まとめ
ルート上の天気がまとめて見られるアプリを作った。
※ 半分は、走りに行けないイライラをぶつけた結果でもある。
- 無料・登録不要
- ブラウザで開くだけ(スマホのホーム画面に追加すればアプリっぽく起動する)
- 画像保存すれば圏外でも見られる
👉 https://ride-weather-app.nacci-dev.workers.dev
同じようなサービスは他にもあるが(EPIC Ride Weather 等)、有料だったりアプリのインストールが必要だったりする。ブラウザで開くだけの無料のものが欲しかった、というのが正直なところだ。
不具合や「こういう表示が欲しい」があればコメントにて教えてほしい。自分でも使うので、そのうち直すと思う。
次こそは万全の準備で佐用町にリベンジしたい。




