雨雲レーダーを❝サクッと❞Mapboxにプロットしてみる
その後の話
プロットするCodeSandboxを埋め込んでいたのですが、予想以上にMapboxのAPI usageがあったので消しましたすみません
2021/09/04 追記
面倒くてサボってたら@iedred7584さんがプルリク送ってくださり動くようになりました!
ナウキャストのアプデでズームレベル14まで対応したようなので、それはいつか対応します(今は6固定)
前置き
雨雲レーダーの無料APIがなぁぁぁぁぁぁぁぁぁぁぁぁああああああああああああああああああい
そう、無いんです
いや、無かったが正しい
ここは雨雲レーダーの無料APIがある世界線なので、サクサクっとプロットしていきます
第一章 高解像度降水ナウキャストとの出会い
気象庁が運用している 高解像度降水ナウキャスト というサービスがあります。
これは6段階のズーム機能と、降水量が9段階で分かる機能を備えた、無料で使える雨雲レーダーです。
高解像度降水ナウキャストの利用規約
今回の犠牲者ソースは高解像度降水ナウキャストなので、プログラムからアクセスしても良いかどうかがキモになってきます。
下記 高解像度降水ナウキャスト 使い方→利用上の注意事項 から引用
当ホームページは、通常のブラウザで閲覧することを前提に各種情報を掲載しております。自動巡回ソフト等による、定期的、自動的な気象データ等の収集等は、サーバーに負荷がかかる等の理由から、原則としてご遠慮いただいております。ご理解お願いします。
気象庁 | 著作権・リンク・個人情報保護について から引用
下記気象庁ホームページのコンテンツの利用について
気象庁ホームページで公開している情報(以下「コンテンツ」といいます。)は、どなたでも以下の(1)~(7)に従って、複製、公衆送信、翻訳・変形等の翻案等、自由に利用できます。商用利用も可能です。また、数値データ、簡単な表・グラフ等は著作権の対象ではありませんので、これらについては本利用ルールの適用はなく、自由に利用できます。
コンテンツ利用に当たっては、本利用ルールに同意したものとみなします。
ということで、自動的な気象データ等の収集等は、サーバーに負荷がかかる等の理由から、原則としてご遠慮いただいております
はAPIには適用されないとみなします。
ご遠慮なので深く考えない
第二章 APIの作成
無料APIがある
と言ったな、正確には作ったが正しい。
高解像度降水ナウキャストのラスタイメージを解析
解析というか目grepに近い。
- 1タイル = 256px x 256px
- 雨雲がないピクセルはアルファ値が0、あるピクセルは255
- 0~1mm/h = #f2f2ff
- 1~5mm/h = #a0d2ff
- 5~10mm/h = #218cff
- 10~20mm/h = #0042ff
- 20~30mm/h = #faf500
- 30~50mm/h = #ff9901
- 50~80mm/h = #fe2803
- 80mm/h~ = #b50167
以上を踏まえて適当に変換サーバーを.....
作ったものがこちらになります
普段はNode.jsを使用していますが、画像処理が遅いのとgolangを勉強したかったので、golangで書いています。
日本全範囲のタイルを約2秒で取得できます。
ピクセルを数値に変換してJSONで返しています。詳細はGitHubをご覧ください。
おわり
地味に台湾の雨雲も計測されてて笑った
Discussion
ややグレーながら素晴らしい技術力…
グレーなのが心残りですがありがとうございます!