goo blog サービス終了のお知らせ 

ArcGISのデータ作成サポートページ

ArcGISデータ作成に関する情報共有のページです

xyzデータの読み込み&シェープファイル作成(繰返作業)

2013-02-27 10:40:05 | 日記
カンマ区切り(csv)ファイルをジオデータベースに登録して、GIS上で分析する。
取り扱うデータは時系列の状態(ファイル名が0000sec、0010sec、0020sec・・・)で複数。


○条件
ファイルは10秒毎に出力された津波計算結果で約1000個
データの中身は緯度・経度・値

○やりたい作業
csvファイルをジオデータベース上のテーブルに登録
テーブルからシェープファイルを作成(ポイント)
(可能であれば)処理後に表示データのフィルタを設定したり、表示色を設定したい
上記の繰り返し

---------------------------------


※ 処理を行う csv ファイルが単一のフォルダ、または以下のように格納されている必要があり。

例:
Data フォルダ
-20120221 フォルダ
  -0000sec.csv
-0020sec.csv
-20120222 フォルダ
  -0000sec.csv
-0020sec.csv


○事前準備
表示色を一度に設定するに当たり、ArcMap 上で1つの CSV ファイルを使用して、ポイントの作成、シンボルの設定を行い、レイヤ ファイルとして保存しておく必要があり。レイヤ ファイルの保存はシンボル設定を行ったレイヤをコンテンツで右クリックし、[レイヤ ファイルとして保存] から行う。

○操作手順
1.ArcMap を起動し、[ジオプロセシング] メニューの [ModelBuilder] を選択。

2.表示されるモデル ウィンドウの [挿入] メニューから [反復] → [テーブル] を選択。

3.モデルに追加される [テーブルの反復] エレメントをダブルクリックする。

4.[ワークスペース] に CSV ファイルが格納されているフォルダを指定します。上図の「Data」フォルダを指定し、下位フォルダ内の CSV ファイルにも処理を行う場合は [再帰] にチェックを入れる。

5.ArcToolbox を表示し、[変換ツール] → [ジオデータベースへ変換] → [テーブル → テーブル] ツールをモデルにドラッグアンドドロップする。

6.[テーブルの反復] 機能の出力エレメント(テーブル)を [テーブル → テーブル] の [入力行] として接続する。

7.[テーブル → テーブル] をダブルクリックし、[出力場所] でテーブルを出力するジオデータベースを設定する。

8.[名前] に以下にように記述する。

%名前%

※ジオデータベースには数字から始まる名称のテーブルを格納することが出来ないため、「out_」を付与。

上記のように%でエレメント名を囲う記述を行うことで(インライン変数と呼ばれます)で、エレメントに格納されている値を他の設定でも使用することができます。
「テーブルの反復」で一緒に追加される「名前」エレメントに現在ツールを実行しているファイルの名前が格納されます。1つ目の csv ファイルに対してツールの実行が終了すると、次の CSV ファイルの名前が「名前」エレメントに格納、ツールの実行、という処理が繰り返し行われます。

9.ArcToolbox の [データ管理ツール] → [レイヤとテーブル ビュー] → [XYイベント レイヤの作成] ツールをモデルにドラッグアンドドロップする。

10.[テーブル → テーブル] の出力エレメントを [XYイベント レイヤの作成] の [XYテーブル] として接続する。

11.[XYイベント レイヤの作成] をダブルクリックし、[X フィールド]、[Yフィールド]、[空間参照] を設定する。

12.[レイヤ名、またはテーブル ビュー] には [テーブル→テーブル] の出力名と同じ名前を入力する。(今回の場合は「%名前% 」)

13.ArcToolbox の [データ管理ツール] → [フィーチャ] → [フィーチャのコピー] をモデルにドラッグアンドドロップする。

14.[XYイベント レイヤの作成] の出力エレメントを [フィーチャのコピー] の [入力フィーチャ] として接続する。

15.[フィーチャのコピー] をダブルクリックし、[出力フィーチャクラス] に以下のように設定する。

例:
D:\Data\XY\out\%名前%.shp

16.ArcToolbox の [データ管理ツール] → [レイヤとテーブル ビュー] → [フィーチャレイヤの作成] ツールをモデルにドラッグアンドドロップする。

17.[フィーチャのコピー] の出力エレメントを [フィーチャレイヤの作成] の [入力フィーチャ] として接続する。

18.[フィーチャレイヤの作成] をダブルクリックし、[レイヤ名] に「%名前%」を設定する。

19.ArcToolbox の [データ管理ツール] → [レイヤとテーブル ビュー] → [レイヤのシンボル情報を適用] ツールをモデルにドラッグアンドドロップする。

20.[フィーチャレイヤの作成] の出力エレメントを [レイヤのシンボル情報を適用] の [入力レイヤ] として接続する。

21.[レイヤのシンボル情報を適用] をダブルクリックし、[シンボルレイヤ] に事前準備で用意したレイヤ ファイルを設定する。

22.[レイヤのシンボル情報を適用] を右クリックし、[モデル パラメータ]、[マップに追加] を選択し、モデルを実行する。

反復処理やインライン変数の詳細につきましては、以下の web ヘルプも合わせてご参照ください。

「ModelBuider の反復の使用例」
http://help.arcgis.com/ja/arcgisdesktop/10.0/help/index.html#/na/00400000001n000000/

「インライン モデル変数置換の例」
http://help.arcgis.com/ja/arcgisdesktop/10.0/help/index.html#/na/002w0000005w000000/