不完全な出力データの操作

ModelBuilder は、ツールがデータをどのように変更するかを、そのツールを実行する前に識別できるように設計されています。データを変更するツールを追加した後にワークフローの構築を続行できるようにするには、この動作が必要です。次の [フィールドの追加(Add Field)] および [フィールド演算(Calculate Field)] ツールを使用した例で、この動作を説明します。[フィールドの追加(Add Field)] ツールを使用して新しいフィールドが追加された場合、[フィールドの追加(Add Field)] ツールの出力変数は、新しいフィールドを含むように更新されます。[フィールド演算(Calculate Field)] ツールを開いたときに、[フィールドの追加(Add Field)] ツールをまだ実行していなくても、追加される新しいフィールドが表示されます。この処理は、[フィールド演算(Calculate Field)] ツールの他のパラメータを指定して、[フィールドの追加(Add Field)] ツールを実行することなくモデルのワークフローを続行するために必要です。

不完全な出力データを使用していない例

ModelBuilder はほとんどのツールに対して、ツールがデータに行う変更をツールの実行前に読み取ることができますが、一部のツールにおいては、ツールが作成する予定の出力データまたは値を確認することができません。このような場合は、実行の前に出力データを更新して変更を含めることができません。これらのデータは、不完全な出力データと見なされます。

不完全な出力データの使用

あるプロセスが不完全な出力データを作成するときに、この出力データを別のプロセスの入力として使用しなければならない場合、この制限を回避する方法が 2 つあります。

  1. 値の入力 - 不完全な出力データで不明な変更がわかっている場合は、ツールのダイアログ ボックスでパラメータに手動で値を入力することができます。
  2. プロセスの実行 - ModelBuilder で、不完全な出力データを作成するプロセスを個別に実行することができます。プロセスを実行した後、出力データは完全なデータとなります。

値の入力

[テーブルの作成(Create Table)] ツールは新しいテーブルに「フィールド 1」というフィールドを追加しますが、この新しいフィールドは、[フィールドの削除(Delete Field)] ツールを使用して削除可能なフィールドのリストに表示されません。[テーブルの作成(Create Table)] ツールは不完全な出力データを作成します。最終的に、「フィールド 1」をテーブルから削除する必要がありますが、自動生成されたテーブルから削除可能なフィールドのリストに、このフィールドが表示されません。

手順:
  1. [テーブルの作成(Create Table)] ツールを実行した後、テーブルに「フィールド 1」が存在していることは既知であるため、[フィールドの削除(Delete Field)] ツールのダイアログ ボックスで [フィールドの追加(Add Field)] ボタンを使用して、削除可能なフィールドのリストに手動で「フィールド 1」を追加します。
    値の入力
  2. フィールド 1」を削除するフィールドのリスト追加した後、「フィールド 1」が存在しないことを示す警告が表示されます。[フィールドの削除(Delete Field)] ツールが実行される時点では「フィールド 1」が存在しているため、この警告は無視できます。
    フィールドの削除の警告
  3. すべてのツールのダイアログ ボックスで、フィールドや値を手動で追加できるとは限りません。一部のツールでは、フィールドまたは値を入力できても、警告の代わりにエラーが返されます(エラーは無視できないため、この場合はツールを実行できません)。値の入力の処理を使用できない場合は、プロセスの実行の方法を使用します。

プロセスの実行

手順:
  1. ModelBuilder では、ツールを選択して右クリックし [実行] をクリックすることで、モデルを個別に実行することができます。
  2. プロセスを実行すると、出力データ エレメントはプロセスの結果を含むように常に更新されます。[フィールドの削除(Delete Field)] ツールより前にあるすべてのツールを実行すると、新しいテーブルから削除可能なフィールドのリストが、「フィールド 1」を含むすべてのフィールドによって更新されます。
    プロセスの実行

不完全な出力データを作成するツール

[交換ファイル(.e00) → カバレッジ(Import From Interchange File)] ツールは、ArcInfo カバレッジ データを含む ArcInfo 交換ファイル(*.e00 ファイル)を読み取ります。このツールでは、出力データセットのフィールドの名前、属性、またはジオメトリ タイプを、ツールを実行するまで決定できません。[変換] ツールボックスに含まれるその他の多くのツールも、不完全な出力データを作成します。

スクリプト ツールが Tool Validator クラスを使用して出力データ変数の定義を更新するようにプログラミングされていない場合、すべてのスクリプト ツールは不完全な出力データを出力します。詳細については、「スクリプト ツールの動作のカスタマイズ」をご参照ください。

ワークスペースに新しいフィーチャクラスを作成する [スプリット(Split)] ツールでは、作成されるフィーチャクラスの数または名前が実行されるまで不明で、これは不完全な出力データと見なされます。

[テーブルの作成(Create Table)] ツールは、テーブル出力のタイプ(ジオデータベース、*.dbf、または INFO)に応じたフィールドを自動的に追加します。このツールでは追加されるフィールドの名前が実行されるまで不明で、これは不完全なデータと見なされます。


7/10/2012