ModelBuilder は、ツールがデータをどのように変更するかを、そのツールを実行する前に識別できるように設計されています。データを変更するツールを追加した後にワークフローの構築を続行できるようにするには、この動作が必要です。次の [フィールドの追加(Add Field)] および [フィールド演算(Calculate Field)] ツールを使用した例で、この動作を説明します。[フィールドの追加(Add Field)] ツールを使用して新しいフィールドが追加された場合、[フィールドの追加(Add Field)] ツールの出力変数は、新しいフィールドを含むように更新されます。[フィールド演算(Calculate Field)] ツールを開いたときに、[フィールドの追加(Add Field)] ツールをまだ実行していなくても、追加される新しいフィールドが表示されます。この処理は、[フィールド演算(Calculate Field)] ツールの他のパラメータを指定して、[フィールドの追加(Add Field)] ツールを実行することなくモデルのワークフローを続行するために必要です。
ModelBuilder はほとんどのツールに対して、ツールがデータに行う変更をツールの実行前に読み取ることができますが、一部のツールにおいては、ツールが作成する予定の出力データまたは値を確認することができません。このような場合は、実行の前に出力データを更新して変更を含めることができません。これらのデータは、不完全な出力データと見なされます。
不完全な出力データの使用
あるプロセスが不完全な出力データを作成するときに、この出力データを別のプロセスの入力として使用しなければならない場合、この制限を回避する方法が 2 つあります。
- 値の入力 - 不完全な出力データで不明な変更がわかっている場合は、ツールのダイアログ ボックスでパラメータに手動で値を入力することができます。
- プロセスの実行 - ModelBuilder で、不完全な出力データを作成するプロセスを個別に実行することができます。プロセスを実行した後、出力データは完全なデータとなります。
値の入力
[テーブルの作成(Create Table)] ツールは新しいテーブルに「フィールド 1」というフィールドを追加しますが、この新しいフィールドは、[フィールドの削除(Delete Field)] ツールを使用して削除可能なフィールドのリストに表示されません。[テーブルの作成(Create Table)] ツールは不完全な出力データを作成します。最終的に、「フィールド 1」をテーブルから削除する必要がありますが、自動生成されたテーブルから削除可能なフィールドのリストに、このフィールドが表示されません。
- [テーブルの作成(Create Table)] ツールを実行した後、テーブルに「フィールド 1」が存在していることは既知であるため、[フィールドの削除(Delete Field)] ツールのダイアログ ボックスで [フィールドの追加(Add Field)] ボタンを使用して、削除可能なフィールドのリストに手動で「フィールド 1」を追加します。
- 「フィールド 1」を削除するフィールドのリスト追加した後、「フィールド 1」が存在しないことを示す警告が表示されます。[フィールドの削除(Delete Field)] ツールが実行される時点では「フィールド 1」が存在しているため、この警告は無視できます。
プロセスの実行
- ModelBuilder では、ツールを選択して右クリックし [実行] をクリックすることで、モデルを個別に実行することができます。
不完全な出力データを作成するツール
[交換ファイル(.e00)→ カバレッジ(Import From Interchange File)] ツールは、カバレッジ データを含む交換ファイル(*.e00 ファイル)を読み取ります。このツールでは、出力データセットのフィールドの名前、属性、またはジオメトリ タイプを、ツールを実行するまで決定できません。[変換] ツールボックスに含まれるその他の多くのツールも、不完全な出力データを作成します。
スクリプト ツールが Tool Validator クラスを使用して出力データ変数の定義を更新するようにプログラミングされていない場合、すべてのスクリプト ツールは不完全な出力データを出力します。詳細については、「スクリプト ツールの動作のカスタマイズ」をご参照ください。
ワークスペースに新しいフィーチャクラスを作成する [スプリット(Split)] ツールでは、作成されるフィーチャクラスの数または名前が実行されるまで不明で、これは不完全な出力データと見なされます。
[テーブルの作成(Create Table)] ツールは、テーブル出力のタイプ(ジオデータベース、*.dbf、または INFO)に応じたフィールドを自動的に追加します。このツールでは追加されるフィールドの名前が実行されるまで不明で、これは不完全なデータと見なされます。