ModelBuilder でのジオプロセシング タスクの作成
「ジオプロセシング サービスの作成および共有の概要」に説明されているように、ジオプロセシング サービスを作成するには、サービス内のタスクを作成する必要があります。タスクのオーサリングとは、ツールを選択または作成し、タスクの入出力パラメータ、およびタスクが使用するデータの場所を定義することです。通常は、ModelBuilder または Python で作成されたカスタム ツールを共有することによってタスクを作成します。
ModelBuilder は、モデルを作成、編集、および管理するためのアプリケーションです。モデルは、あるツールの出力を別のツールの入力として渡すように、一連のジオプロセシング ツールを連結したワークフローを表します。ModelBuilder は、ワークフローを構築するためのビジュアル プログラミング言語と考えることができます。ジオプロセシング タスクを作成するには、モデルおよび ModelBuilder を使用するのが簡単な方法です。
モデルおよび ModelBuilder を使い慣れていない場合は、下記の「ModelBuilder の概要」にスキップして便利なトピックの一覧をご参照ください。
ArcGIS for Desktop で正しく実行できるパラメータ付きの既存のモデルがある場合は、そのモデルを変更する必要なしにサービス内で共有できます。このトピックの残りの部分では、ModelBuilder で作成されたタスクの利点をいくつか取り上げて考察します。
モデルから結果を作成する
[結果] ウィンドウ内の結果を右クリックすると、サービスが作成されます。結果を作成するには、そのダイアログ ボックスを カタログ ウィンドウまたは ArcToolbox ウィンドウから開くか、または所定の処理を Python ウィンドウで実行して、モデルをツールとして実行する必要があります。
ModelBuilder 内でモデルを実行しても、結果は得られません。
ほとんどの場合は、モデルにパラメータが必要です。モデル ツールでのパラメータ使用例については、「ジオプロセシング サービスの作成および共有の概要」をご参照ください。モデル ツール作成の全般については、トピック「ModelBuilder を使用したツールの作成の概要」をご参照ください。
中間データ
中間データはモデルを介して作成されるデータであって、モデルの出力ではありません。タスクを介して作成された中間データは、ArcGIS Server で自動的に削除されます。
ArcGIS for Desktop で ModelBuilder を使用する際は、モデルが実行された後に中間データが削除されるように、モデル変数を明示的に中間データとして設定する必要があります。サーバ タスクでは、このようなことはありません。モデルによって作成されたデータは、出力パラメータを除き、すべて削除されます。ArcGIS for Desktop でモデル ツールを実行するときに行うように、モデル変数を明示的に中間データとして設定する必要はありません。
インメモリに出力データを書き込む
パフォーマンスを向上するには、中間データおよび出力データをインメモリ ワークスペースに書き込むのも 1 つのテクニックです。
マップ サービスを介して出力データが作成されるようにサービスを構成することを計画している場合は、出力データをin_memoryに書き込まないでください。
結果マップ サービスを使用する際には、ジオプロセシング サービスとマップ サービスの 2 つのサービスがあることに注意してください。これら 2 つのサービスは、互いに依存しない状態で実行されます。タスクを実行すると、ArcGIS Server はジオプロセシング タスクを最初に実行し、次にマップ サービスを実行して、ジオプロセシング タスクの出力を生成します。この実行順序により、結果マップ サービスはジオプロセシング タスクによってディスク上に作成されるデータセットを必要とします。つまり、ジオプロセシング サービス内のタスクの結果は、in_memoryデータセットではなく、ディスク上のデータセットでなければなりません。
10 とそれ以降のバージョンとの相違点
10.0 でジオプロセシング サービスを作成した場合にサービスのオーサリングに便利な特定の ModelBuilder テクニックを以下に紹介します。これらの技術を今後 10.1 以降のバージョンでは使用する必要はなくなりました。
10.1 より前は、ジオプロセシング タスクに、フィーチャを入力するための Feature Set データ タイプ、およびテーブルを入力するための Record Sets が必要でした。10.1 以降のバージョンではサービスに対してフィーチャ セットまたはレコード セットを使用する必要はありません。[サービス エディタ] でタスクを編集する際に、入力フィーチャまたはテーブル パラメータ用に [ユーザ定義値] の [入力モード] を指定するだけで済みます。モデル(またはスクリプト)が現在 Feature Set または Record Set を使用している場合、それを変更する必要はないので現状のまま公開してください。
10.1 より前は、ModelBuilder で中間データ変数を明示的に設定する必要があったため、出力パス内に %scratchworkspace% の規則を使用してすべての出力をジオプロセシング scratchworkspace 環境に書き込むことを推奨していました。今後、この規則を使用する必要はありません。
ModelBuilder の概要
ModelBuilder を使い慣れていない方は、下の表にモデルを初めて作成する際に参考になる 2 ~ 3 のトピックが挙げてあるので、ご参照ください。
ヘルプ トピック | コンテンツ |
---|---|
独自のプロセシング ツール作成の基本概要 | |
ModelBuilder については、以下の 3 つのトピックで概説します。 | |
このチュートリアルは、ModelBuilder でツールおよびデータを一体化してモデルを作成するための基本説明です。 | |
このチュートリアルは、ModelBuilder でツールを作成するための基本説明です。モデル ツールとは、モデルをツールとして実行するときに、ツール ダイアログ ボックスに表示されるパラメータとして変数を公開するモデルをいいます。タスクの作成にパラメータは必要ありません。モデル パラメータの作成方法については、他の 2 つのトピックで説明します。 | |
モデル変数用のユーザ独自の選択リストを作成するには、値のリスト フィルタを使用します。選択リストは、タスクのクライアントにオプション(選択)を提示するための効果的な方法です。 | |
このトピックでは、ModelBuilder でタスクを作成する際に推奨される高度なテクニックを紹介します。 |