今さら聞けない ModelBuilder 入門 3: リスト変数で複数データを一括処理

今回は複数のデータに対して同じ処理を一括で行う方法として、リスト変数を使ったモデルの作成をご紹介します。

リスト変数とは?
1つ以上の値を含む変数です。たとえば、入力フィーチャクラスの変数をリスト変数に設定すると、複数の入力フィーチャクラスを処理するモデルを作成できます。

リスト変数に設定するには、設定したい変数を右クリック → [プロパティ] → [一般] タブで [リスト値] をクリックします。

リスト変数に設定

入力フィーチャと出力フィーチャクラスがリスト変数に設定されます。

リスト変数に設定

リスト変数を使ったモデルを作成する

それでは、実際にモデルを作成する手順をご紹介します。例として、道路と鉄道データをある範囲でクリップし、バッファを実行するモデルを作成します。

1.ModelBuilder ウィンドウに、[クリップ] ツールと [バッファ] ツールをドラッグ&ドロップします。

[クリップ] ツールと [バッファ] ツールをドラッグ&ドロップ

2. [接続] Model_03_04 をクリックし、[クリップ] ツールの「出力フィーチャクラス」変数をクリックし、次に [バッファ] ツールをクリックします。メニューが表示されるので、[入力フィーチャ] を選択します。

バッファの入力フィーチャの選択

3. [クリップ] ツールを右クリック → [変数の作成] → [パラメータから] → [入力フィーチャ] を選択します。

クリップの入力フィーチャの選択

4. 「入力フィーチャ」変数が追加されます。

入力フィーチャ変数の追加

5. 「入力フィーチャ」変数を右クリック → [プロパティ] → [一般] タブで [リスト値] をクリックし、OK をクリックします。

リスト値の選択
6. 「入力フィーチャ」と「出力フィーチャクラス」変数がリスト変数に設定されます。

「入力フィーチャ」と「出力フィーチャクラス」変数がリスト変数に設定

7. クリップ フィーチャを指定します。クリップする範囲のデータを ModelBuilder ウィンドウにドラッグ&ドロップします。 [接続] をクリックし、範囲のデータをクリックし、次に [クリップ] ツールをクリックして表示されるメニューから、[クリップ フィーチャ] を選択します。

クリップ フィーチャの設定

8. 「バッファの距離」変数を追加します。[バッファ] ツールを右クリック → [変数の作成] → [パラメータから] → [バッファの距離] を選択します。

バッファ距離変数の追加

9. バッファの距離を入力フィーチャごとに設定したいので、「バッファの距離」変数もリスト変数に設定します。 「バッファの距離」変数を右クリック → [プロパティ] → [一般] タブで [リスト値] をクリックし、OK をクリックします。

バッファ距離変数のリスト値の設定

10. 「バッファの距離」変数がリスト変数になります。

「バッファの距離」変数がリスト変数に
11. 「入力フィーチャ」変数にデータを追加します。「入力フィーチャ」変数をダブルクリックして、バッチ グリッドを開きます。1行目を右クリック → [データの追加(複数)] を選択します。

「入力フィーチャ」変数にデータを追加

12. 入力するデータの格納場所に移動し、Ctrl キーを押しながら複数のデータを選択します。[追加] をクリックします。

入力フィーチャの選択

13. 「入力フィーチャ」変数のダイアログにデータが追加されます。OK をクリックし、ダイアログを閉じます。

入力フィーチャの選択完了

14. 「バッファの距離」変数をダブルクリックして、バッチ グリッドを開きます。

バッファの距離変数の設定

15. [行の追加] Model_03_18_2 をクリックします。

行の追加

16. 各行にバッファの距離を入力します。1行目が道路、2 行目が鉄道のバッファの距離になります。距離の単位がメートルの場合は「Meters」、キロメートルの場合は「Kilometers」と数字の後に入力します。OK をクリックして、ダイアログを閉じます。

バッファ距離の入力

17. [バッファ] ツールの出力フィーチャクラスの名前や場所を変更したい場合は、「出力フィーチャクラス」変数をダブルクリックして、バッチ グリッドを開きます。

行に直接、出力場所とフィーチャクラス名を入力します。
または、行番号をダブルクリックして、各行のダイアログを開き、出力場所とフィーチャクラス名を指定し、OKをクリックしてダイアログを閉じます。

出力フィーチャクラスの設定

これで、リスト変数を使用したモデルが作成できました。

入力データをリスト変数にし、さらにツールのパラメータ値をリスト変数に設定することで、一括処理を細かく設定できます。次回はバッチ グリッドの便利な使い方をご紹介します。

関連リンク
今さら聞けない ModelBuilder 入門 1: ModelBuilder って何?
今さら聞けない ModelBuilder 入門 2 :モデルの保存
今さら聞けない ModelBuilder 入門 4 :バッチ グリッドの便利な入力方法