ゲリラ豪雨も多いので

ここ数年、夏になるとゲリラ豪雨に遭遇するケースも多くあるのではないでしょうか?

そんなわけで、雷注意報の発令された都道府県を出してみました。

過去1時間で雷注意報の発令された都道府県

作り方は続きにて紹介しています。

 

今回は、気象庁のXMLからデータを取得し、内容を解析、さらにいつものようにGoogle Chartで地図を作ります。

本来、ブラウザでアクセスされた際にリアルタイムで気象庁XMLを参照すればよいのですが、レスポンスに少々時間がかかります。
ブラウザで5秒も10秒も待たされてはとても見られるサイトにはならないので、以下の2段構えにします。

  1. 定期的に気象庁XMLにアクセスしてデータを取得、ファイルに保存するフロー
  2. 保存してあるファイルからマップを作成するフロー

1.気象庁XMLを定期保存

1つ目のフローから早速見てみましょう。

過去時間の注意報を取得、前回実行分のファイルを消す、気象庁XMLにアクセスし、結果を取得

気象庁XMLは2段階でアクセスする構造になっています。
まず、以下のサイトに検索条件を含んだクエリーを発行し、一覧を取得します。

今回は、過去1時間とする条件と、警報、注意報のみを取得するようにしました。 条件の詳細は、以下のサイトにリファレンスが載っています。

ここで取得した情報には、詳細情報へのリンクが一覧として含まれていますので、そのリンクの件数を繰り返して取得します。
順次実行しても良いのですが、時間がかかるのでタイマーコンポーネントを使ってサブフローを呼び出すことにしました。
これで並行した呼び出しとファイル保存を行っています。

2.ファイルを読み込んでマップ表示

さて、2つ目のフローですが、以下の様な感じです。

フォルダの中のXMLを取得し処理を繰り返す、XPathを使ってエリアコードと注意報の種類を取得、GoogleChartのURLを生成、画像として取得

ファイルとして保存したXMLの件数分繰り返すようにしています。 この際にはファイル名に「*.xml」のようにワイルドカードを指定するだけでOKです。

続いて、XPathを使ってデータからエリアコードと雷注意報の有無を調べます。

エリアコードの方は以下の様なXPathになりました。

/jmx:Report/a:Head/a:Headline/a:Information/a:Item/a:Areas/a:Area/a:Code

データの中には、もう少し詳細な地域情報も入っていますが、今回は都道府県レベルでOKなので、Headlineの下だけを取得しています。

雷注意報の方ですが、こちらは以下のようにXPathを作りました。

boolean(/jmx:Report/a:Head/a:Headline/a:Information/a:Item/a:Kind[./a:Code = '14'])

Codeの値が14のKind要素があればTrue、なければFalseが返されます。

これらの情報を元に、Google Chartを使ってマップを作成しています。
なお、今回は画像として返したかったため、古いタイプのGoogleChartを利用しましたが、HTMLやJavaScriptの利用ができれば新しいタイプのものも利用できます。



クラウド版

使い方いろいろ!
手ぶら de ASTERIA Warp
体験 5日間

サーバー準備の手間なくデータ連携ツール「ASTERIA Warp」の
全ての機能を5日間お試しいただけます。

今すぐ体験してみる 書籍の詳細についてはこちらをご覧ください。
基礎と実践 使い方マニュアル
執筆者:森 一弥

執筆者:
森 一弥

ASTERIA Warpシリーズ担当のシニアプロダクトマネージャー。ホワイトペーパーの執筆のほか、開発経験を活かしたASTERIA Warpを使ったデモ作成等を実施。

ASTERIA Warpと色々つないでみた特集!記事はこちら>

「ASTERIA Warp、データ分析、クラウド、業務効率化、最新技術」人気!ホワイトペーパーダウンロード受付中!今すぐチェック

ASTERIA Warp 関連サイトのご紹介

X ASTERIA Warp Developer Network(ADN)サイト

技術情報をお探しの方

ASTERIA Warp Developer Network
(ADN)サイト

ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。

X アステリア製品オンラインコミュニティ

ASTERIA Warpデベロッパーの方

アステリア製品オンラインコミュニティ
Asteria Park

アステリア製品デベロッパー同士をつなげ、技術情報の共有やちょっとしたの疑問解決の場とすることを目的としたコミュニティです。

X ASTERIA Warpユーザーサイト

ASTERIA Warpユーザーの方

ASTERIA Warpユーザーサイト
Login

製品更新版や評価版のダウンロード、各種ドキュメントのご提供、また 技術的なお問合せもこちらで受付ています。

X ASTERIA Warpパートナーサイト

ASTERIA Warpパートナーの方

ASTERIA Warpパートナーサイト
Login

パートナーライセンスの発行や各種ドキュメントのご提供をしています。

ページ先頭へ