※ この記事は、米国 Esri 社のブログ記事「How to map New York Times coronavirus time series data in ArcGIS Pro」を翻訳したものです。
ニューヨーク・タイムズ紙は、2020年1月21日にワシントン州で最初の流行が発生して以来、州や郡 (郡は州の下位行政区分) レベルで米国内のコロナウイルス症例の累積カウントを集計しています。同社が作成したGitHubページにも記載されていますが、彼らは研究者,科学者,政府関係者がパンデミックの拡大をより理解するように、この時系列データを公開することを決めました。このgithubリポジトリは毎日更新され、また、各郡ごとの毎日のコロナウイルスの症例数のレコードを格納しています。公開している(CSVフォーマットの) テーブルは (https://github.com/nytimes/covid-19-data/blob/master/us-counties.csv) で確認いただけますが、各レコード (行) は、ある日の1つの郡での数を表しています。これにより、このデータを使用することで、米国内でのコロナウイルス発生の拡大状況を ArcGIS Pro を使用して簡単に確認することができます。
必要な作業は以下1~3です。
- データをダウンロードしてFGDBにコピーします
- 米国郡のポリゴンレイヤーに「1」でコピーした表を結合します
- タイムスライダーを使用して毎日の変化を表示します。
時系列データのダウンロード
- ArcGIS Online から次の python スクリプトをダウンロードします。
https://www.arcgis.com/home/item.html?id=b42b1e3daf96457b804a1246ee3d4a10 - Zipを解凍し、テキストエディタで UpdateNYTimesCovid19TimeSeries.py を開きます。
- 9行目から11行目までの3つの変数の値を変更します。詳細は以下に記載します。
(a) csvファイルのダウンロード先
(b) ファイル ジオデータベース、またはエンタープライズ ジオデータベースの.sde接続ファイルへのフルパス
(c) 出力テーブルの名前 - ファイルを保存します。
- Python IDLE、Visual Studio Code などのツールを使用するか、コマンド ラインから直接スクリプトを実行します。
このスクリプトを実行するには、ArcGIS Pro がインストールされている必要があります。
- Windowsのコマンドラインから実行する手順は以下の通りです。
- ArcGIS Pro がインストールされているマシンで Windows コマンド プロンプトを開きます。
- pythonフォルダに移動します。
cd C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3
このパスはArcGIS Pro のデフォルトインストール先です。別の場所にインストールした場合は、パスを変更してください。
- コマンドプロンプトに入力
Python "<Python_scriptを保存した場所 >\更新したスクリプトファイル"
と入力して Enter キーを押します。
- 数秒後、時系列 csv ファイルがダウンロードされ、出力先のジオデータベースにテーブルとしてコピーされます。
- 米国の郡のデータは以下からダウンロードします。
https://www.arcgis.com/home/item.html?id=53935d5d1c8540539d290072fcda77c1 - 「10」と同じジオデータベースに米国の郡のデータをコピーします(同じジオデータベースに格納すると描画パフォーマンスが向上します)。
米国の郡レイヤーと時系列テーブルを結合
- ArcGIS Pro を開き、マップを挿入します。
- 米国の郡ポリゴン レイヤーと時系列テーブルの両方を追加します。
- [コンテンツ] ペインから [NY Times Covid-19 Counties] レイヤーを選択します。
- [フィーチャー レイヤー] タブグループの [データ] タブの [リレーションシップ] グループの [結合] メニューで [結合] をクリックします。
- 以下の値を、ジオプロセシングツールに入力します。
・[レイヤー名、またはテーブルビュー]: NY Times Covid-19 Counties
・[レイヤー、テーブルビューのキーとなるフィールド]:FIPS
・[結合テーブル]:NY Times Covid-19 Time Series Cases
・[結合テーブルのキーとなるフィールド]:FIPS - [実行]をクリックします。
- これらのデータは1:Nの関係性になっていて、各郡のポリゴンに対して、時系列テーブルに1つ以上のレコードがあります。例えば、ロサンゼルス郡をクリックすると、ポップアップウィンドウに1つ以上のレコードが表示されます。
- 適切な郡のシンボル設定をします。
タイムスライダーを使って変化を可視化
- 右クリックのコンテキストメニューから「プロパティ」を選択して、「NY Times Covid-19 Counties」レイヤーのプロパティページを開きます。
- 時間タブに切り替えます。
- 「レイヤーの時間」項目から「各フィーチャに一つの時間項目があります」を選択します。
- 「時間フィールド」に「date」項目を設定します。
- データは毎日更新されるので、「ライブフィードデータ」をチェックします。
- OKをクリックします。
- タイムスライダーが表示されます。
- [マップ] タブグループの [時間] タブの [表示] グループで [時間の有効化] をクリックします。
- [現在の時間]グループで、開始を 20201/20 に、間隔を1日に設定します。
- 同じグループで、開始の除外をクリックすると、1日分のデータのみが表示されます - この場合、2020年1月21日分のデータのみが表示されます。開始の除外を設定していない場合、マップには1月20日と21日の両方のデータが表示されます。
- [再生]グループから[再生]をクリックすると、時間を通してアニメーション化し、日々の変化を見ることができます。
結果
Kenneth Field氏はコロナウイルスのデータを 3D で見ることにあまり積極的ではないかもしれませんが、3D データを使用することでパンデミックがどのように拡大したかをより簡単に確認することができるかと思います。
2月と3月第1週の変化を示す結果
パンデミックが郡全体に広がっただけでなく、感染者数が何倍にも増加していることがはっきりとわかります。そして、この変化をチャートで確認することができます。
時系列チャートの可視化
チャートを使用すると、さまざまな視点から結果を見ることができます。ArcGIS Pro のチャートを使用して、時系列表から以下のようなチャートを作成することができます。
データを更新し続ける方法
ニューヨーク・タイムズは、この時系列データセットの日次更新に尽力しています。データの更新は1日1回のため、手動でpythonスクリプトを実行するか、またはタスクスケジューラを使用してデータを定期更新することができます。
- Windowsのタスクスケジューラを開きます。
- 左ペインのタスクスケジューラ ライブラリを右クリックし、「基本タスクの作成」を選択します。
- ウィザードに従って名前を付け、トリガーを設定し、操作のセクションでプログラムの開始を選択します。
- 参照... ボタンをクリックして python の実行ファイルを選択します。
C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3.
- 引数の追加 (オプション)テキストボックスに、 (時系列データのダウンロード) でダウンロードした python スクリプトのフルパスを入力してください。
- ログオンしていなくてもこのタスクを実行させたい場合は、[完了]ボックスをクリックしたときにこのタスクのプロパティダイアログを開くにチェックを入れてください。
- 完了をクリックします。
- タスクのプロパティダイアログを開きます。
- ユーザーがログオンしているかどうかにかかわらずを選択します。
- オプションで、資格情報を保存するかどうかを選択します。
- OKをクリックします。
タスクスケジューラーの設定画面
Q:このデータを共有することは可能でしょうか?
A:はい。オンプレミスの ArcGIS Enterprise にマップ イメージ レイヤーとしてマップを共有することができます (マップ サービスとして公開することもできます)。ただし、いくつかの注意点があります。
参考情報
・アメリカ合衆国の地方行政区分