最新のQGIS(3.14以降)では時系列のデータを順番に表示する機能が付属しています。
属性値を元にシンボルを時系列順にアニメーションで表示する機能です。
GISデータを以下のようなアニメーションで表示できます。
これは国土数値情報の鉄道データを使用して鉄道の供用開始年が古いものから順番に重ねて表示しています。現存する鉄道区間のみを表示しています。
データの準備
国土数値情報の「4.交通」分野に含まれる「鉄道時系列データ」を使用します。
国土数値情報の詳細は国土数値情報のデータをQGISで表示する手順を画像で解説をご確認ください。
このデータは日本最初の鉄道が開業した1872年以降の鉄道路線の位置を示すラインデータです。
鉄道の区間ごとに「供用開始年」の属性値を持っています。
「N05_004」フィールドが当該区間の供用が開始された年のデータです。
この属性値を使用して、供用された順番に鉄道の区間が表示されるアニメーションを作成できます。
データ形式を変更する
時系列をアニメーションで表示するためには「日付」か「日付時刻」形式の属性値が必要です。
供用開始年が入力されている「N05_004」フィールドは「文字列」形式であるため、このままではアニメーション表示ができません。
フィールド計算機を使用してデータ形式を変更したフィールドを作成します。
鉄道路線のレイヤ名の上で右クリックし、出てきたメニューから「属性テーブルを開く」を選択します。
編集モードに切り替えて、ツールバーから「フィールド計算機を開く」を選択します。
編集モードへの切り替えは一番左にある鉛筆マークのアイコン、フィールド計算機を開くには右の方にあるそろばんマークのアイコンをクリックします。
「フィールド計算機」ウインドウが表示されるので以下のように設定を行います。
- 「新しいフィールドを作る」にチェックを入れる
- 「出力する属性(フィールド)の名前」欄に「供用開始年」と入力
- 「フィールド型」欄は「日付(Date)」を選択
- 「式」欄に以下の条件式を入力します。
"N05_004" + '-01-01'
「日付」形式の場合は「YYYY-MM-DD」というフォーマットでデータを入力します。
国土数値情報のデータでは年の情報しか入っていないため、供用開始年が入っている”N05_004″ フィールドに「-01-01」という文字を付加して1月1日時点の情報としています。
なお、「日付時刻」の場合は「YYYY-MM-DD HH:MM:SS+nn」というフォーマットになります。
ここまで入力できたら「OK」をクリックします。
編集モードを終了させてファイルを保存します。
これでデータ形式の変更は完了です。
アニメーションで表示するための設定
データの準備ができたので時系列のアニメーションで表示するための設定をします。
鉄道路線のレイヤ名の上で右クリックし、出てきたメニューから「プロパティ」を選択します。
「レイヤプロパティ」ウインドウの左側に並んでいる文字列から「時系列」を選択します。
上部にある「時系列」のチェックボックスにチェックを入れます。
- 「設定」欄は「Date/Time型の単一フィールド」を選択
- 「フィールド」欄は時間のデータが入っているフィールドを選択(今回の場合は上で作成した「供用開始年」)
- 「地物を累積表示」チェックボックスにチェックを入れる
これで時系列の設定は完了です。
見やすくするための設定
そのままだと線が重なり見づらくなるので見やすくするための設定も行います。
まず表示する地物を少なくします。
このデータには廃線になった区間も収録されていますが、今回は現存する区間のみを表示します。
「N05_005e」フィールドが「設置期間(設置終了)」についての属性値です。
ここに「9999」と入力されている区間が、現存が明らかにされている区間です。
鉄道路線のレイヤ名の上で右クリックし、出てきたメニューから「フィルタ」を選択します。
「クエリビルダ」ウインドウの「プロバイダ特有のフィルタ式」欄に以下の条件式を入力します。
"N05_005e" = '9999'
「OK」をクリックして地図に戻ると現存する区間のみが表示されています。
続いて鉄道路線の色を変更します。
今回のように「地物を累積表示」のチェックボックスにチェックを入れていると表示された地物が消えずに新しい地物が表示されていきます。
同じ色の線だと密集している場所では、変化が良くわからなくなります。
供用開始年が古い区間は黒系統、新しい区間は緑系統に変更します。
また、古い区間の上に新しい区間が表示されるように「地物描画順序の制御」から「供用開始年」で「昇順」で表示されるように設定しました。
アニメーションを再生する
全ての準備が整いましたのでアニメーションの再生をしてみます。
まず、アニメーションを操作するためのパネルを表示します。
メニューバーの「ビュー」から「パネル」を選択し、出てくるメニューの中から「時系列コントローラ」を選択します。
すると地図の上部に「時系列コントローラ」が出現します。
上部に配置されている「再生や停止、巻き戻しなどのアニメーションのコントローラ」の他に以下の項目の設定が行えます。
- 「範囲」欄では、アニメーション表示する期間を設定します。初期状態では最初から最後までの範囲が指定されています。全てをアニメーション表示するのであれば変更する必要はありません。
- 「ステップ」欄では、一回のアニメーションで表示する期間を設定します。今回使用しているデータは1870年から2019年の約150年間のデータです。例えば「表示する間隔」を「50年」と指定すると、3コマでアニメーションが終了します。今回は「1年(year)」と指定します。
- 「詳細設定」欄では、アニメーションのフレームレートを設定します。右上の歯車をクリックすると設定できます。フレームレートとは、1秒間に何コマ表示するかです。「フレーム数/秒」欄に直接数字を入力します。今回は「10.00」と指定します。
入力できたらコントローラの一番左にある巻き戻しボタンをクリックします。
そして、右から三つ目の再生ボタンをクリックするとアニメーションが開始されます。
まとめ
いかがでしょうか?
データの準備さえうまくできれば簡単な設定で時系列アニメーションを作成できます。
プラグインを必要とせず標準の機能だけでできるので便利です。
余談ですが、上の説明では現存する区間のみを表示しましたがそれ以外の区間も表示した図面を作成しました。
赤色の区間は現存していない区間です(厳密には「不明」なものも入っています)。
北海道で赤色の線がかなり目立ちます。
JR北海道の苦境と鉄道路線の廃線についての報道をたびたび耳にしますが、実際にこの図面を見るとすでに廃線された区間がとても多いことが良くわかります。