見出し画像

【GAS×API】5つの天気予報を自動比較!Chromebookで作る完全無料の「気象DX観測所」

こんにちは、伊藤正章です。IT技術教育とビジネス実践を軸に活動しています。

皆さんは、天気予報を見て「雨が降るはずじゃなかったのに…」と予定を狂わされた経験はありませんか?実務(特に建設や測量などの現場作業)において、天候の読み違いはスケジュールの遅延やコストの増大に直結します。

前回の記事にて、天気予報スマホアプリ市場には多くの広告やノイズが紛れ込んいること。また、天気予報における予想降雨量に対して、観測値による検証がなされていないことに対して危惧の見解を示しました。


はじめに:その天気予報、本当に当たっているのか?

そこで今回は、「どの天気予報APIが一番当たるのか?」を自分自身で検証すべく、5つの気象APIの予測値と実測値を24時間365日、完全自動で比較・可視化するシステムを構築しました。

特別なサーバーやハイスペックなPCは一切不要。普段私が愛用しているChromebook(ブラウザのみ)と、Google Cloudの無料枠を活用した、スマートなDX実践の記録をご紹介します。

構築したシステム「Hack Ninja Weather Observer」の全貌

今回作成したのは、指定した地点(今回は神奈川県川崎市)の「1時間後の降水量予報」と「実際の実測値」を自動で取得し、ダッシュボードに描画するシステムです。

実際に稼働しているレーダー画面は、私のサイト(a-ninja.com)で公開しています。

神奈川県川崎市中原区下新城2丁目における気象予報API精度比較(リアルタイム)

使用した技術スタック(すべて無料・サーバーレス)

  • バックエンド・データベース: Google Apps Script (GAS) + Google スプレッドシート

  • フロントエンド: HTML / JavaScript / Chart.js

  • ホスティング: Firebase Hosting

  • 連携API: OpenWeatherMap, Visual Crossing, Yahoo!気象情報API(YOLP), WeatherAPI.com, Tomorrow.io

実装の3つのポイント(忍のITサバイバル術)

1. GASのトリガー機能で「自動観測員」を配置する

今回の心臓部はGASです。スプレッドシートに記述した main 関数を、GASの「時間ベースのトリガー」機能で1時間ごとに自動実行させます。 これにより、PCの電源を落としていても、クラウド上の「忍び(プログラム)」が毎時休むことなく各APIからJSONデータを取得し、スプレッドシートに記録し続けてくれます。

2. GASを「自作のWeb API」としてデプロイする

蓄積したデータをホームページに表示させるため、GASの doGet 関数を使用し、スプレッドシートの最新24件のデータをJSON形式で出力するAPIを自作しました。 これで、外部のウェブサイトからいつでも最新の観測データにアクセスできるようになります。

3. フロントエンドでの「ブレ吸収」と時差補正

開発中、最も苦労したのがデータのパース(解析)です。GAS側から想定外の形式(配列とオブジェクトの混在)でデータが返ってきたり、UTC(世界標準時)とJST(日本標準時)の時差によってグラフの横軸がズレてしまう問題が発生しました。

これに対しては、フロントエンド(JavaScript)側で**「どんな形式でデータが飛んできても、強制的に正しい形に変換して吸収する」**というロバスト(強靭)な処理を実装しました。現場で起きる想定外のエラーを、システム側でいかに柔軟に吸収するか。これは実務のプログラミングにおいて非常に重要な思考です。

まとめ:武器(ツール)は軽量に、思考は深く

このシステムは、Chromebookのような軽量なデバイスでも、知恵とクラウドを掛け合わせることで、高度なデータ収集・分析基盤を作れることの証明です。

Bansenshukai(万川集海)にも通じる「質素に生き、本質を見極める」というアプローチは、現代のITにもそのまま適用できます。巨大なシステムを最初から組むのではなく、手元のGASとスプレッドシートから小さく始め、徐々に形にしていく。これこそが、30代からの再出発や、これからITを学ぶ方におすすめしたい「サバイバル術」です。

ぜひ、皆さんも身近な課題をGASで自動化してみてください。

【追記:2026年4月25日】システム換装の記録

運用開始後、GASの共有IP制限によりOpen-Meteo APIで「Err(429) Too Many Requests」が多発する事象を確認しました。

これに対し、より安定した稼働を実現するため、データソースを Open-Meteo から Visual Crossing へと換装しました。APIキーによる個別管理に移行したことで、現在は24時間止まることなく、安定した「定点観測」を継続できています。


いいなと思ったら応援しよう!

伊藤正章|サバイバルDXクリエイター:荒野のPip-Boy設計局 忍の知恵と技術への「お布施(チップ)」を賜りたく存じます。頂いた財は、持続可能な社会、子供たち、自然、そしてあなたへの還元(有益な発信・開発)に全額投資いたします。画面下のボタンより、影の立役者たる拙者への御調達をお願い申す。一期一会の御縁に、深き感謝を。