You dont have javascript enabled! Please enable it!
Tutorials

東京都の新型コロナウイルス感染症の状況を可視化

前提条件

本記事の内容を試すために、WireCloud の稼働環境が必要です。”WireCloudのセットアップ” の記事を参考にして環境を作成してください。

Widget のインストール

ダッシュボードを作成するために必要なウィジェットをインストールします。WireCloud にログインして、ウィジェットのマーケットプレイスに移動します。マーケットプレイスから以下のウィジェットをインストールします。ウィジェットのバージョンに注意してください。これらのウィジェットやオペレータを既にインストール済みの場合、この手順は不要です。

  • FISUDA/ngsi-source/4.2.0b2
  • FISUDA/ngsi-entity-filter/0.1.2
  • FISUDA/labels-to-dataserie/0.3.2
  • FISUDA/line-chart-generator/0.1.1
  • FISUDA/cumulative-list/0.1.0
  • FISUDA/pie-chart-generator/0.3.4a2
  • CoNWeT/value-list-filter/0.1.3
  • CoNWeT/highcharts/0.1.4

 

利用するオープンデータ

東京都オープンデータカタログサイトホームページに「新型コロナウイルス感染症にかかるオープンデータ」が公開されています。

  • 東京都_新型コロナウイルス陽性患者発表詳細
  • 東京都 新型コロナ受診相談窓口相談件数
  • 東京都 新型コロナコールセンター相談件数

これらのオープンデータを WireCloud で可視化します。

新型コロナウイルス陽性患者数を可視化

新型コロナウイルス要請患者について、性別、年代、日別の陽性患者数、陽性患者数の累計のグラフを作成します。

利用するNGSIデータ

東京都_新型コロナウイルス陽性患者発表詳細のオープンデータはCSVファイルで公開されています。これを FIWARE Orion に保存するために NGSI形式のデータに変換する必要があります。このため、以下のようなデータモデルに変換しました。

陽性患者の性別

陽性患者の性別比率を円グラフで表示します。

陽性患者の値リストを作成

NGSI source オペレータを使って、Orion から、エンティティ・タイプ “Patients” のエンティティをすべて取り出し、 Value List Filter にワイヤリングして、陽性患者の値リストを作成します。この結果を、Labels to dataserie オペレータに入力して、ラベル毎の値を集計します。ここでのラベルは、”男性” や “女性” です。

ワイヤリング

ウィジェットを以下のようにワイヤリングして、ウィジェットの設定値を変更します。

NGSI source オペレータ の設定

  • NGSI server URL: https://orion.lab.letsfiware.jp/
  • FIWARE-ServicePath: /tutorial/covid19
  • NGSI entity types: Patients
  • buffering: チェックをつける

Value List Filter オペレータの設定

“Patients” のエンティティから、gender 属性の値を取り出す設定を追加します。

  • Attribute: gender

Labels to dataserie オペレータの設定

特に設定はありません

オペレータによりデータの処理結果

Value List Filterの処理結果は以下のようになります。これは、複数の “Patients” のエンティティから、gender 属性の値をリストにしたものです。これが、Labels to dataserie オペレータへの入力になります。

Labels to dataserie オペレータによる処理結果は、以下のようになります。ラベルとラベルの件数が、Reduced label serie (左側の結果) と Data serie (右側の結果) のエンドポイントから出力されます。

円グラフの作成

陽性患者の性別の比率を円グラフにするため、Pie Chart Generator オペレータ で、Lables to dataserie の処理結果から Chata Data Model を作成し、Highcharts ウィジェットに送ります。ワイヤリングは以下の通りです。

以下のようなグラフが表示されれば、正しく設定できています。

陽性患者の年代

陽性患者の年代比率のグラフも、陽性患者の性別と同様に作成できます。

ワイヤリング

陽性患者の性別のグラフ化で作成した、同じウィジェットを使い、それらをワイヤリングします。NGSI source の Entities の出力エンドポイントから、Value List Filter, Labels to dataserie, Pie Chart Generator, Highcharts の順でウィジェットを接続します。

Value List Filter オペレータの設定

新しく追加した、Value List Filter には、”Patients” のエンティティから、age 属性の値を取り出す設定を追加します。

  • Attribute: age

陽性患者の年代比率の円グラフ

以下のようなグラフが表示されれば、正しく設定できています。

日別の陽性患者数

日別の陽性患者数をカラム・グラフで表示します。日別の陽性患者の数値は、Patients エンティティの publishedDate の件数を集計することで算出します。これは先ほどの陽性患者の性別や年代の場合と同様に、Value List Filter と Labels to dataserie を利用します。

ワイヤリング

Value List Filter と Labels to dataserie を新たに追加し、NGSI source オペレータのEntities エンドポイントから Value List Filter と Labels to dataserie  に以下の図のようにワイヤリングします。

Value List Filter オペレータの設定

“Patients” のエンティティから、publishedDate 属性の値を取り出す設定を追加します。

  • Attribute: publishedDate

出力結果

Labels to dataserie オペレータによる処理結果は、以下のようになります。publishedDate ラベルとその件数が、Reduced label serie (左側の結果) と Data serie (右側の結果) のエンドポイントから出力されます。

カラム・グラフの作成

日別の陽性患者数をカラム・グラフにするため、Line Chart Generator オペレータ で、Lables to dataserie の処理結果から Chata Data Model を作成し、Highcharts ウィジェットに送ります。ワイヤリングは以下の通りです。

Line chart generator オペレータの設定

カラム・グラフを表示するため、Chart Type を指定します。

  • Chart Type: column

以下のようなグラフが表示されれば、正しく設定できています。

陽性患者数の累計

最後に、陽性患者数の累計をカラム・グラフで表示します。Labels to dataserie オペレータの Data serie エンドポイントから出力される、日別の要請患者数から累計を算出します。これには、Cumulative list オペレータを使用します。

ワイヤリング

Cumulative list オペレータ, Line chart generator オペレータ, Highcharts ウィジェットを追加し、以下のワイヤリングを行います。

  • Labels to dataserie の Data serie エンドポイントと Cumulative list の In エンドポイントを接続
  • Labels to dataserie の Reduced label serie エンドポイントと Line char generator の Timestamp List エンドポイントを接続
  • Cumulative list の Out エンドポイントと Line char generator の Data Serie エンドポイントを接続
  • Line char generator の Chart Data Model エンドポイントと Highcharts の Highcharts Options を接続

Cumulative list オペレータによる累計算出

Cumulative list オペレータの入力値 (図の左側) と出力値 (図の右側) の例を示します。

陽性患者数の累計グラフ

以下のようなグラフが表示されれば、正しく設定できています。

完成イメージ

大きいイメージを表示

大きいイメージを表示

Let’s FIWARE Tutorialsセットアップ WireCloud のセットアップ オープンデータの可視化 避難場所のオープンデータを可視化 ...
error: Alert: Content is protected !!