見出し画像

アメダス(風)の可視化:仮想粒子の移動

はじめに

 前回に続き、地図上に地域気象観測システム(AMEDAS)の情報を表示する話です。今回は、を表示します。

開発環境

 C言語OpenGLです。今回もCompute Shaderを使っています。もはや言及の必要がないほど、当たり前の技術になりました。

気象情報

 まずは、気象情報を入手します。前回と同様に適当な手段によりJSONファイルを取得してください。

curl https://www.jma.go.jp/bosai/amedas/data/map/YYYYMMDDhhmmss.json --output YYYYMMDDhhmmss.json

 JSONファイルから風速(wind)と風向(windDirection)を取り出します。風向は、16方位です。1が北北東で、時計回りに進み、16が北です。

 神奈川県内における「風」の観測所

可視化

 次に、風を地図上に表示します。ここでは、仮想粒子を用いた動的な表示を行います。以下に手順を示します。
イ)地図上に複数の仮想粒子を無作為に配置します。
ロ)各粒子について、距離が近い順に三つの観測地点を選びます。それら観測地点の風向と風速をカーテシアン座標のベクトルに各々変換します。変換したベクトルを重ね合わせます。このとき、距離による重み付けを行います。
ハ)出来上がった合成ベクトルに沿って粒子を移動させます。
ニ)寿命が尽きた粒子を処分します。
 以上のイからニを繰り返します。

仮想粒子による「風」の可視化

適用例

令和6年6月19日午前5時から午後7時までの観測値です。

風速の大小に応じて粒子の色を塗分けた場合

赤色基調なので温度っぽいですが、風速です。

気温の高低に応じて粒子の色を塗分けた場合

気温と風を同時に表示できてお得です。

濃尾平野の場合

以上

地理院タイルを加工して作成

古往今来得ざれば即ち書き得れば即ち飽くは筆の常也。と云うわけで御座います、この浅ましき乞食めに何卒皆々様のご慈悲をお願い致します。