ラベル

2012/01/25

日本のダムの変遷 1901–2021 – タイムアニメーション on ArcGIS –

ArcGIS 10.0 では、時間属性に基づく地図の時間変化のアニメーションを作成することができる。
ESRI Japan の解説に詳しいので、ここでは細かい設定については割愛するが、ごく初歩的なアニメーション作成の流れを書いておく。

使うデータは、国土交通省提供、国土数値情報 ダムデータ。属性情報はダム年間2005なので、少し古いかもしれない。が、全国のダムを概ねカバーしている。

※なぜここでダムデータなのか?
地形学的には、ダムで塞き止められた人工湖にトラップされる堆積物の量から、その流域の平均侵食速度を見積もる試みが古くから行われてきた(Yoshikawa, 1974; 長谷川ほか, 2005など)。
あるいは、DEMから遷急区間や遷急点を自動抽出した際、そのままでは人工のダムを拾っている場合があるので、ダムデータでそれらを除く必要がある(Hayakawa and Oguchi, 2009)。
といったように、人工物でも地形解析においてダムの位置といのは重要だったりする。
ただ、アニメーションはつくる必要は、とくにない。ただの余興。
ともあれ時空間変化をアニメーション表示することは、プレゼンテーションとしては割と効果的な方法だったりするので、その方法をメモしとこうというわけ。

話を戻して、まずは国土数値情報のページからJPGIS形式をダウンロード。これを、変換ツールを利用してシェープファイルに変換する。デフォルトではW01-05_GA01.shp というシェープファイルが作成された。

投影法の定義などは適宜行うとして、属性テーブルに含まれる竣工年の情報を、「使える」状態にしなくてはならない。
元の竣工年は、「西暦 1980 04 01」と、テキスト形式で入力されているようだ(他の貯水量の数字なども文字列として入っている様子)。なぜか日付は全て4/1。
そこで、シェープファイルを構成するうちの一つ、.dbfファイルを、OpenOfficeなりLibreOfficeのCalcで開く(Excelだと最近のヴァージョンではDBFの保存ができない)。
元の竣工年の列の右側に1列挿入し、ヘッダにはYEARとか記入、それ以下には =int(mid(O4; 4; 4)) と文字列から年を抽出して整数値にする。
基本、シェープファイルの属性テーブルはこのように外部ツールで簡単に編集可能だ。
(ついでに貯水量の右側にも新しい列を挿入し、int()で貯水量のテキストを数値に変換しておくと、あとでシンボルの変更に使える。)

この後、ArcGISでW01-05_GA01.shp をレイヤとして開くと、その属性テーブルにはYEARが数値として入っているのが確認できる(数値は右揃え、文字列は左揃えになっている。YEARの他は全部左揃えの文字列のようだ)。
ここで対象の年を絞るために、YEARフィールドで9999と1900以前を除いて1901–2021のものを選択し、新しいシェープファイルにエクスポートしてレイヤに追加。

レイヤプロパティから「時間」タブに移動し、「このレイヤで時間を有効にする」をチェック。「時間フィールド」はもちろんYEARで、「時間ステップ」は1年にしておくと細かい変化が見られる。「データを累積表示」にチェックすると、時間を追うごとにどんどん増えていく様子がわかる。
(さきほどついでに貯水量を数値化しておけば、その列でシンボルを変更することも可能。レイヤプロパティ>シンボル>数値分類>等級シンボル など。)

メニューバーの上で右クリックして、「アニメーション」ツールバーを呼び出す。
ここで、「タイムアニメーションを作成」すればひとまず「新しいタイムアニメーショントラック」が作成されるのだが、ここら辺の細かい設定がわかりにくい。
「アニメーションマネージャ」や「アニメーションコントロール」や「タイムスライダ」など、設定画面は複数存在する。
そこは、ArcGISのヘルプを参照するのが手っ取り早そう。
結局、キーフレームなどごちゃごちゃいじっていたら、目的のアニメーションができた。
あとはレイアウトヴューにして、レイアウト調整。凡例や時間(挿入>ダイナミックテキスト>データフレーム時間)を配置する。
最後にアニメーションのエクスポートで、AVI形式などに保存。
(このエクスポート中に他のウィンドウをマップ上に持ってくると、それも入ってしまうみたい。)
で、YouTubeにアップロードすればどこからでも見れる。

ここでは時間をかけずに作業したので、見た目はシンプル。
デザインに凝れば、もっとまともな動画も作れそう。
こうして見ると、1950〜60年代に一気に大型のダムが増えた、ってのがよくわかる。