風景画像による天気予報の可視化
(github.com/lds133)-
風景で天気を可視化する
-
従来の気象観測所では、センサーデータを数値で表示する
-
このようなダッシュボードを読み解くには、特定のパラメータを効率よく見つけて解釈し、可視化するために多くの労力が必要になる
-
風景画像を見ることは自然で、ストレスを減らし、最小限の労力で心地よい視覚体験を提供する
-
以下の方法は、数値データに依存せずに風景画像の中へ天気情報をエンコードする方法を説明する
-
エンコードの原則
-
風景は森の中の小さな家を描いている
-
画像の水平方向の軸は、現在の瞬間から始まり翌日の状況まで広がる24時間のタイムラインを表す
-
垂直方向に配置されたさまざまな風景要素は、天気のイベントや状態を象徴する
-
現在から遠いイベントほど、画像の右側に配置される
-
風景画像には次の情報をエンコードできる:
- タイムラインの把握を簡単にする時刻表示:
- 日の出と日の入りの時刻
- 正午と深夜
- 天気予報情報:
- 風向と風の強さ
- 気温の変動
- 最高気温と最低気温
- 雲量
- 降水量
- 現在の気象条件:
- 気温
- 気圧
- 気象以外のイベント:
- 誕生日
- 祝日
- タイムラインの把握を簡単にする時刻表示:
-
実装
-
画像生成コードは Python の Pillow ライブラリを使って記述されており、OpenWeather のデータに基づいている
-
画像は 296x128 の E-Ink ディスプレイで使用するよう設計されている
-
コードは Python 3.9 でテストされている
-
イベント画像 | 説明
- | 日の出
- | 日の入り
- | 雲量
- | 現在時刻の位置
- | 深夜
- | 正午
- | 南風
- | 東風
- | 西風
- | 北風
- | 雨
-
例
-
風景画像 | 説明
- | 正午ごろで、晴天に少し雲が出る見込み。夜通し北風が吹く見込み。現在の気温は上昇中で、日没後に下がり、日の出前に最低点へ達する見込み。この期間中に風は北東寄りへ変わる見込み
- | 日が昇っており、暑く晴れた天気で弱い南東風が吹く見込み。日没後も気温は高いままで、風は東寄りに変わって夕方を通して強まる見込み
- | 一日中、冷たい雨が降る見込み。南風は夜の間に北東寄りへ変わる見込み
-
コードの実行
-
環境の準備
- Linux
- ./makevenv.sh
- source .venv/bin/activate
- Windows
- makevenv.bat
- .venv/Scripts/Activate
- Linux
-
画像生成テスト
weather_landscape.pyファイルの OWM_KEY 変数を OpenWeather API キーに更新python run_test.py
-
サーバーの実行
python run_server.py
-
ハードウェア
-
ハードウェア構成には ESP32 開発ボードと 2.9 インチ E-Ink ディスプレイモジュールが含まれる
-
現在の構成では、インターネットからソースを取得し、15分ごとに画像を更新する
-
画像生成コードを ESP32 上で MicroPython として使用できるかどうかは不確かである
-
GN⁺のまとめ
-
この記事は、天気情報を視覚的により理解しやすくするために、風景画像へエンコードする方法を説明している
-
風景画像を通じて天気情報を伝えることで、利用者はストレスを減らし、より直感的に情報を理解できる
-
Python と Pillow ライブラリを用いて画像を生成し、OpenWeather API を通じてデータを取得する
-
ESP32 開発ボードと E-Ink ディスプレイを使ったハードウェア実装の可能性も探っている
-
類似機能を持つプロジェクトとして、WeatherFlow、Netatmo Weather Station などがある
1件のコメント
Hacker Newsのコメント
少し調整すれば、このプロジェクトは実際に使えるものになりそう
数年前に、天気に応じてアート作品を選ぶプロジェクトを試したことがある
このプロジェクトはとても面白い
古い写真フレームをOpenAIのDALL-E画像生成器につないだことがある
Yr.noアプリのメイン画面を思い出す
似たようなコンセプトをAndroidの壁紙として使っている
UXの観点では、windy.comが最高の天気レポート体験を提供している
このアイデアはとてもクール
Tad WilliamsのOtherlandシリーズを思い出す
興味深いアイデアだが、画像の意味づけが妙に間違っている部分がある