チュートリアル: ModelBuilder を使用したツールの作成
このチュートリアルの手順に従うことで、モデル ツールの作成処理を段階的に実行できます。このチュートリアルでは、モデル変数をモデル パラメータとして公開することによって、ModelBuilder でのツールの実行チュートリアルで構築されたモデルを実用的なツールに作り変えます。
モデル ツール作成の全般的な概要については、ModelBuilder を使用したツールの作成の概要 をご参照ください。
このチュートリアルを開始する前に、ArcGIS for Desktop(ArcGIS for Desktop Basic、ArcGIS for Desktop Standard、または ArcGIS for Desktop Advanced)がインストールされていることを確認してください。このチュートリアルに必要なデータ(ArcGIS for Desktop の CD に収録)は、デフォルトでは C:\arcgis\ArcTutor にインストールされます。チュートリアルのシナリオは架空のものであり、元のデータはチュートリアルに合わせて変更されています。
元のデータへの変更を回避するために、ModelBuilder フォルダを C:\arcgis\ArcTutor からコンピュータ上の C ドライブにコピーしてください。別のドライブまたは格納場所にデータをコピーする場合、そのコピー先のドライブを下記のすべての手順において同様に使用するようにしてください。
- マップ ドキュメントを開く
- モデルの作成
- ツール パラメータの設定
- モデル パラメータの作成
- モデル エレメントの名前の変更
- モデル パラメータの順序の設定
- モデル パラメータのタイプの設定
- モデル パラメータに対するフィルタの設定
- 出力データのシンボルの設定
- 中間データの管理
- 一般的なモデル プロパティの変更
- モデルのドキュメント化
1 - マップ ドキュメントを開く
Windows エクスプローラで C:\ModelBuilder フォルダの場所を参照し、Extract Vegetation.mxd をダブルクリックします。ArcMap が起動し、マップ ドキュメントが開きます。または、
- [スタート] → [すべてのプログラム] → [ArcGIS] → [ArcMap 10.2.2] の順にクリックして、ArcMap を起動します。
-
[ArcMap - はじめに] ダイアログ ボックスで、[既存のマップ] → [詳細検索] の順にクリックします。
[ArcMap ドキュメントを開く] ダイアログ ボックスが表示されます。
- C:\ModelBuilder フォルダの場所を参照し、Extract Vegetation.mxd を選択して、[開く] をクリックします。
Extract Vegetation.mxd が開きます。
2 - 初期モデルの作成
ModelBuilder でのツールの実行の手順に従います。その同じモデルを、このチュートリアルの最初のベースとして使用します。
カタログ ウィンドウから、サンプル モデルをダブルクリックします。ツールのダイアログ ボックスが開きますが、パラメータは表示されません(次の図を参照)。
[OK] をクリックしてツールを実行すると、モデルが実行されます。出力変数に対して [マップへ追加] がオンになっている場合でも、モデルの出力(ClippedFC)は ArcMap コンテンツ ウィンドウに追加されません。モデルはそのツール ダイアログ ボックスから実行されるため、[マップへ追加] 設定は無視されます。マップ画面に出力を追加するには、出力変数をモデル パラメータに設定する必要があります。
毎回 ModelBuilder を開くことなく複数の入力を使用してモデルを実行できるようにすることが、モデル パラメータを作成するもう 1 つの理由です(次の図を参照)。
モデル パラメータが作成されたら、[Input Roads]、[Buffer Distance]、[Input Vegetation]、[Output Clipped Feature Class]、および [XY Tolerance] の各パラメータの値を個別に指定することで、そのツールのダイアログ ボックスからモデルを実行することができます。モデルを実行するたびに毎回 ModelBuilder を開く必要はありません。かわりにツールのダイアログ ボックスを使用することができます。モデルをツール ダイアログ ボックスから実行すると、[結果] ウィンドウ内に結果が作成されるというメリットがあります。ModelBuilder 内でモデルを実行した場合、[結果] ウィンドウ内に結果が作成されません。
以降の手順では、モデル変数をパラメータとして設定します。これにより、上の図に示すように、モデル ツールのダイアログ ボックスに表示されるようになります。
3 - ツール パラメータの設定
[バッファ距離] パラメータと [XY 許容値] パラメータを定義するには、モデル変数を作成する必要があります。
モデルにツールを追加すると、入力データセットと出力データセット用のモデル変数が自動的に作成されます。ただし、それ以外のツール パラメータに対しては作成されません。これは画面の表示を整然とさせるためです。すべてのツール パラメータ用変数の自動生成が終わるとモデル ダイアグラムが直ちに読み込み禁止になります。たとえば、[バッファ(Buffer)] ツールをモデルに追加すると、[出力フィーチャクラス] パラメータ用の変数が自動的に作成されます。[バッファ(Buffer)] を右クリックし[入力フィーチャ] パラメータに入力した後、入力フィーチャのモデル変数が作成されます。それ以外のパラメータ(たとえば、[距離]、[サイド タイプ]、[エンド タイプ])はいずれも、モデル内の変数として自動的には追加されません。バッファの距離 [値、またはフィールドを指定] および [XY 許容値] 用のモデル変数は、下の手順で作成します。
- カタログ ウィンドウで、モデルを右クリックし、[開く] をクリックします。[ModelBuilder] ウィンドウにモデルが開きます。
- [バッファ(Buffer)] を右クリックします。
- [変数の作成] → [パラメータから] → バッファの距離 [値、またはフィールドを指定] の順にクリックします。
[距離] パラメータがモデル内の変数として追加されます。
- [クリップ(Clip)] を右クリックします。
- [変数の作成] → [パラメータから] → [XY 許容値] の順にクリックします。
4 - モデル パラメータの作成
これで、[距離] および [XY 許容値] 変数が作成されたので、モデル パラメータを作成する準備が整いました。
- バッファの距離 [値、またはフィールドを指定] を右クリックし、[モデル パラメータ] をクリックします(次の図を参照)。
英字 P が変数のそばに表示され、その変数がモデル パラメータであることが示されます。このモデル パラメータは、モデルのツール ダイアログ ボックスにも表示されます。
- 次の変数用のモデル パラメータを作成します([BufferedFC] 用にはモデル パラメータを作成しません)。
- PlanA_Roads
- vegetype
- XY 許容値
- ClippedFC
5 - モデル エレメントの名前の変更
ModelBuilder では、変数にデフォルト名が割り当てられます。変数名は、モデル ツールのダイアログ ボックスでパラメータ名に使用されます。変数の名前を変更することは、特に変数がモデル パラメータである場合に有効な手段です。
- [PlanA_Roads] を右クリックし、[名前の変更] をクリックします。
- 「Input Roads」と入力し、[OK] をクリックします。
変数の名前が「Input Roads」に変更されます。
- 次の手順で、残りの変数の名前を変更します。
- 「バッファの距離 [値、またはフィールドを指定]」という名前を「バッファ距離」に変更します。
- 「vegetype」という名前を「Input Vegetation」に変更します。
- 「ClippedFC」という名前を「Output Clipped Feature Class」に変更します。
- モデルを保存 します。ModelBuilder を終了する必要はありません。
- カタログ ウィンドウからモデルをダブルクリックし、モデル ツールのダイアログ ボックスを開きます。カタログ ウィンドウにアクセスする場合は、必要に応じて [ModelBuilder] ウィンドウを移動するかまたは最小化してください。モデル ツールのダイアログ ボックスが、下の図のようになります。ダイアログ ボックス上では、パラメータの順序が図とは異なる場合がありますが、下の順序は変更されるので問題ありません。
[OK] をクリックすればツールを実行できますが、まず別の出力フィーチャクラスを選択してから、実行するようにしてください。ツールが実行され、ArcMap コンテンツ ウィンドウに出力フィーチャクラスが追加されます。ModelBuilder 内でモデルを実行した場合とは異なり、そのダイアログ ボックスからモデルを実行した場合、モデル ダイアグラムが変更されません。
6 - モデル パラメータの順序の設定
上の図では、パラメータの順序が望ましくありません。一般的に推奨されるパラメータの順序は、次のとおりです。
- 必須の入力データセット
- ツールの実行に影響する他の必須パラメータ
- 必須の出力データセット
- オプション パラメータ
- ModelBuilder で、[モデル] → [モデル プロパティ] の順にクリックします。
- [パラメータ] タブをクリックします。
- [Input Roads] パラメータを選択し、右側にある上方向矢印ボタンと下方向矢印ボタンを使用して、上へ移動します。
- 下の図に示すように、他のパラメータの位置を変更します。
7 - モデル パラメータのタイプの設定
モデル パラメータが正しい順序で設定されたら、パラメータのタイプを変更します。モデル内のツールの必須パラメータに対しては、以下の設定で [必須] タイプを [オプション] に変更することはできません。
- ModelBuilder で、[モデル] → [モデル プロパティ] の順にクリックします。
- [パラメータ] タブをクリックします。
- [XY 許容値] の [タイプ] カテゴリの下のセルをクリックします。リストに 2 つのオプションが表示されます。下の図に示すように、この例では [XY 許容値] を [オプション] パラメータのままにし、残りを [必須項目] パラメータ タイプにしています。
8 - モデル パラメータに対するフィルタの設定
パラメータにフィルタを適用すれば、入力のタイプを特定のパラメータだけに制限することができます。このモデルの例では、[Input Roads] パラメータが、ライン フィーチャであることを想定しています。次の手順ではフィルタを適用して、ライン フィーチャだけを受け入れるようパラメータを変更します。
- [モデル] → [モデル プロパティ] をクリックします。
- [パラメータ] タブをクリックします。
- [Input Roads] をクリックし、[フィルタ] カテゴリの下のセルをクリックします。
- [フィーチャクラス] フィルタを選択します。
[フィーチャクラス] ダイアログ ボックスが開きます。
- ポリライン以外のすべてのタイプをオフにして、[OK] をクリックします。
- [モデル プロパティ] ダイアログ ボックスで [OK] をクリックし、フィルタを適用します。
9 - 出力データのシンボルの設定
モデルの出力には、出力の表示に使用するための特定のシンボルを設定することができます。この例では、バッファ ゾーン内の植生タイプに基づいてシンボルが設定されています。出力データのシンボルを設定するには、最初の手順でレイヤ ファイルを作成し、2 番目の手順で出力データ プロパティでレイヤ ファイルを定義します。このチュートリアル用のレイヤ シンボル ファイルは事前に作成済みです。
- [ModelBuilder] ウィンドウで、[Output Clipped Feature Class] を右クリックして、[プロパティ] をクリックします。
- [レイヤ シンボル] タブをクリックします。
- C:\ModelBuilder\ToolData 内にコピーした ToolData フォルダから、レイヤ ファイルを参照します。
- OutputSymbology.lyr を選択し、[追加] をクリックします。
- [OK] をクリックします。
10 - 中間データの管理
モデルを実行すると、モデル内のプロセスごとに出力データが作成されます。作成されたデータの一部は、新しい出力を作成する別のプロセスに接続するためだけに作成されるので、モデルの実行後には無効になる場合があります。そのようなデータは、中間データと呼ばれています。最終出力以外の出力、およびモデル パラメータに設定された出力はすべてモデル内で自動的に中間データになります。この例で、[バッファ(Buffer)] ツールの出力は [クリップ(Clip)] ツールへの入力としてのみ有効であり、入力後は使用されないので、[中間] オプションがオンになります。[中間] オプションをオフにすれば、中間データの保存が可能になります。
11 - 一般的なモデル プロパティの変更
モデルのモデル名、ラベル、および説明を設定することができます。
- ModelBuilder インタフェースから [モデル] → [モデル プロパティ] をクリックします。
- モデルの名前として「ExtractVegetationforProposedRoads」と入力します。モデル名には空白を含めることができません。
- [ラベル] テキスト ボックスに、「Extract Vegetation for Proposed Roads」と入力します。モデル ラベルには空白を含めることができます。このラベルを使用して、カタログ ウィンドウにモデル名が表示されます。
- [説明] テキスト ボックスに、適当なテキストを入力します。
[相対パスで保存] オプションがオンの場合、モデル ツールを共有することも、モデル データとモデルを別の格納場所に移動することもできます。このオプションはこのチュートリアルでは使用しません。ここで取り上げたのは、後に共有されるモデルおよびモデル ツールに対して適用することを推奨するためです。
- [OK] をクリックします。
- 完成したモデルを保存 し、ModelBuilder を終了します。
カタログ ウィンドウからモデルをダブルクリックし、モデル ツールのダイアログ ボックスを開きます。モデルは定義済みの値で保存されたので、ダイアログ ボックス上のすべてのパラメータに値が設定されています。ここで新しい値を入力して、パラメータの値を変更することもできます。[OK] をクリックして実行します。モデルの最終出力([Output Clipped Feature Class])はデフォルトでマップ画面に追加され、モデル メッセージが [結果] ウィンドウに表示されます。結果を表示するには、マップ ドキュメントのコンテンツ ウィンドウで、[植生タイプ] レイヤをオフにします。
12 - モデルのドキュメント化
常に、モデルをドキュメント化して共有することを推奨します。ドキュメント化の手順:
- カタログ ウィンドウでモデルを右クリックし、[アイテムの説明] をクリックします。[アイテム説明] ウィンドウに 説明 ページが表示されます。
- [アイテム説明] ウィンドウで [編集] ボタンをクリックします。
ドキュメント エディタが開き、アイテムの説明を入力できます。
- このモデル内のアイテムごとに適当な説明を入力し、[保存] ボタンをクリックします。
追加の解析
モデルに対してなんらかの解析を実行する場合、[要約統計量(Summary Statistics)] ツールを追加することにより、計画道路の周囲にあるバッファ ポリゴン内の植生タイプごとに影響を受ける領域の要約テーブルを取得できます。
次の手順には、モデルを別のモデル内ツールとして使用する方法について説明してあります。
- ArcMap の [標準] ツールバーの [ModelBuilder] ボタン をクリックして、新しいモデルを開きます。
- これで、モデル ツールの作成は完了です。このモデル ツールは、他のツールと同様に使用できます。次の図に示すように、モデル ツールをカタログ ウィンドウから新しいモデルにドラッグして、新しいモデルに追加することができます。
- [ジオプロセシング] → [ツールの検索] の順にクリックし、[検索] ウィンドウ(ArcMap ですでに開いていない場合)を開きます。
[検索] ウィンドウが開きます。
- [検索] ウィンドウで、「要約統計量」と入力し、[検索] ボタン をクリックします。
- ツールをモデル内にドラッグします。
- [要約統計量(Summary Statistics)] エレメントをダブルクリックし、ツール ダイアログ ボックスを開きます。
- [入力テーブル] パラメータ用の矢印をクリックし、横に青色のリサイクル アイコン が表示されている [Output Clipped Feature Class] を選択します。リサイクル アイコンは、モデル内の変数を意味します。
- [出力テーブル] パラメータ用に、出力ジオデータベースの場所(C:\ModelBuilder\Scratch\Output.gdb)を参照し、「AffectedVegetation」を名前として入力し、[保存] をクリックします。
- [統計フィールド] パラメータについては、リストから [Shape_Area] を選択します。
- [統計の種類] で [Shape_Area] の横にあるセルをクリックし、ドロップダウン リストから [SUM] を選択します。
- [ケース フィールド] パラメータについては、リストから [VEG_TYPE] を選択します。
- [OK] をクリックします。
- [Output Clipped Feature Class](緑色の楕円)を右クリックし、[マップへ追加] をオンにします。モデルの実行が終わると、マップ画面に出力が追加されます。
- 右クリックして、[AffectedVegetation] 変数の [マップへ追加] オプションをオンにします。モデルの実行が終わると、画面に出力が追加されます。
- モデルを実行します。
出力の [Output Clipped Feature Class] および [AffectedVegetation] テーブルが、ArcMap コンテンツ ウィンドウのマップ画面に追加されます。
- テーブルを右クリックし、[開く] をクリックして開きます。
テーブルに、プラン A の道路計画により影響を受けるバッファ ポリゴン内の植生タイプ別エリアのサマリが表示されます。