緊急地震速報から、P波・S波の予測円の半径を求める - Quarog
この記事は 地震界隈 Advent Calendar 2020 17日目の記事です。
はじめに
Fuku1213と申します。
最近はC#で「Quarog」というPCアプリケーションの開発を行っています。
今回はこのQuarogにある機能の話をします。
※ほぼ初めて、こういった記事を書くので至らない点しかないと思いますがご了承ください。
Quarogについて
QuarogはPC(Windows)向けに開発している地震アプリケーションです。
大まかにわけると
の4機能が備わっています。
また、設定を多種用意し、ユーザーが自分の感覚に合わせカスタマイズできるように制作されています。
緊急地震速報の情報からP波・S波の予測円の半径を求める
準備
前置きはこのぐらいにして本題に入ります。
今回求める予測円の半径を求めるために準備するのは
の4つです。
今回Quarogの開発に用いたsvir.jpなどの緊急地震速報の電文には地震の発生時刻の情報と震源の深さの情報が含まれています。
現在時刻もソフト側でちょっと組めばかんたんに取得・設定できます。
JMA2001走時表はこれをダウンロードしてくればOKです。
これで使う情報の準備はできました。
走時表を使いやすくしておく
多分ほかにもっといいやり方があると思いますが、Quarogでは半径の情報と、深さ10km刻みにしてS・Pにわけて配列に格納しました(アホ)
半径の計算
あとは配列の参照をするコードを用意して、そしてそれをもとに半径を線形補間で求めるだけです。
DepSecというfloat配列に「深さ」と「現在時刻 - 地震の発生時刻 をした秒数」をいれて送ってます。
ただ、走時表は2000kmより大きい値を含んでいないため半径が2000kmを超えた場合は0kmを出力するようにしています。
Quarogでの利用
半径がわかったので、描画させられました。
実際の動作はこちらから確認できます。
https://t.co/VqDP0xkRWx
— Fuku1213 (@fuku121303) March 22, 2021
3月20日の宮城県沖の地震の際の自作ソフトの挙動をまとめました。限定公開に設定してあります。
今後も動作改善に向けていろいろやっていきます。 pic.twitter.com/5ThTu0firN
終わりに
記事を読んでくださりありがとうございました。Quarogは来年早々のリリースを目指して開発中です。どうぞよろしくお願いします。
何か疑問点、改善点等ありましたら、優しくご指導いただけると幸いです。
参考(一部コードの発想)と謝辞
・2点間の線形補間を計算する - Qiita
(線形補間の発想)
・はちさん (@Hachi_713) / Twitter
(走時表を使いやすくしてくれました)
・こんぽさん (@compo031) / Twitter
(Kiwi Monitor カラースキーム 第2版 及び Kiwi Monitor カラースキームのソフトウェア内での使用許可)
・フランソワ (JQuake)さん (@NoneType1) / Twitter
(JQuakeの震度配色の使用許可)
・EarthquakeMap 公開ページ | kichi2004 のソフト公開ページ
(アプリケーション開発の初期段階での地図描画の大まかな発想)
おまけ(震度配色のお話)
Quarogで使用している震度配色は、Kiwi Monitorに強く影響を受けて作られています。
配色は、暖色系色と寒色系色で分けたいと考え、
- 震度1~3を寒色(濃い青→青→水)と変化
- 震度4~7を暖色(黄→橙→濃い橙→赤→濃い赤→黒紫)
と、Kiwi Monitor のように震度の明るさを連続的に変化させました。
(正確には紫は中間色ですが、特別警報と同じような扱いってことで紫にしています)