コンテンツにスキップ

イベントデータを取得する

xData Edge環境で、EvWHのイベントデータをAPIを使って取得する方法を説明します。イベントデータを投入するに従いEvWHにデータを投入ししていることが前提になっています。説明で使用するコードやデータはこちらからダウンロードできます。

1. イベントデータの取得

イベントデータ取得API(mapserv.eventdata)を利用して、EvWHのイベントデータを取得します。 イベントデータを取得するためには、取得するイベントデータのテーブル名・カラム・時間・空間情報を指定する必要があります。 今回はテーブルevent.rain_jma_tbl_0から以下の条件でイベントデータを取得します。

  • カラム: start_datetime, end_datetime, rainfall
  • 時間: start_datetime >= 2019-10-12 00:00:00 かつ start_datetime < 2019-10-13 00:00:00
  • 空間: 緯度35度から36度, 経度139度から140度の矩形

この実装例がget_event.pyです。 EdgeをインストールしたVMでget_event.py を実行する際に、以下のように結果をファイルに保存し、次項で可視化します。

python3 get_event.py >2019-10-kanagawa.json

2. イベントデータの可視化

ここでは可視化にQGISを使用します。QGISはこちらからダウンロードできます。

QGISを起動したら、XYZTilesOpenStreetMapを選択し、関東付近を拡大します。 図1 get_event.pyを実行した結果はGeoJSON形式で出力されるので、前項で保存したファイルを地図上にドラッグ&ドロップします。

レイヤから「2019-10-kanagawa - result」が追加されるので、そのプロパティを選択し、以下の設定をします。

  • シンボロジメニュー
    • 連続値による定義に変更
    • rainfallに設定
    • シンボルでマーカーの大きさを拡大
    • 分類ボタンを押下し、シンボル-の組を作成

図2

  • 時系列メニュー
    • 動的時系列コントロールをオン
    • 開始フィールド/終了フィールドがそれぞれ start_datetime/end_datetimeになっていることを確認

図3

設定が完了したらOKを押下します。

次にQGISのメイン画面で時系列コントローラパネルを押下し、時系列コントローラを表示します。

図4

時系列コントローラからアニメーション時系列ナビ 図6 を選択し、アニメーション範囲として、2019-10-12 00:00:00 から 2019-10-13 00:00:00 を設定し再生ボタンを押下すると、時間に応じて各測定局の降雨量の大小が赤〜白で表示されます。

図5