ModelBuilderで複数のファイルの単一の出力場所を設定しますか?


8

ModelBuilderでモデルを作成しました。最初のステップは、ユーザーがすべての出力を保存するファイルジオデータベースの場所を指定することです。必要なのは、(モデル内のさまざまなツールからの)すべての出力をそのFGDBに保存することです。ただし、それは何とでも呼ばれ、どこにでも配置できます。

では、最初のステップで指定した場所に出力を保存するにはどうすればよいですか?

回答:


8

Esriのサイトのこのページには、ModelBuilder内でこれを行うために必要なすべての情報が表示されます。基本的に、ユーザーが生成したりハードコード化したりできる出力フォルダー/ジオデータベースの変数を作成し、他のツールでその名前を%シンボルで囲んで呼び出します。


2

最初にスクリプトを作成し、入力フィーチャクラスと出力ワークスペースパスパラメーターを定義します。次に、モデルをpythonスクリプトまたはvbsにエクスポートします。次に、コードを編集して、ユーザーが定義した元の出力ワークスペースに基づいて、すべての中間ツールの出力ワークスペース変数を使用できます。

以下の例は、arcpyを使用してこれを示していますが、10ではなくバージョン9.3.1を使用しているため、pythonまたはvbsのみを使用する必要があります。

例えば

    inputlayer = arcpy.GetParameterAsText(0)
    outputpath = arcpy.GetParameterAsText(1)

    # Process: Buffer
    arcpy.Buffer_analysis(inputlayer, outputpath + "\\buffer.shp", "50 Feet", "FULL", "ROUND", "NONE", "")

    # Process: Select
    arcpy.Select_analysis(outputpath + "\\buffer.shp", outputpath + "\\bufferSelect.shp", "")

それをエクスポートするのではなく、ModelBuilder内ですべて実行したいと思っていました。私が以前ここで作業するために使用するモデルをいくつか見ましたが、彼は最初のステップでFGDBを設定し、他の出力に「%Temp FGDB%」を使用しましたが、私には思えないそれを機能させるために。
MapMan、2011

1
%Temp FGDB%ModelBuilderでパラメーターバブルの名前を次のように変更した場合に機能します。Temp FGDB呼び出されるパラメーターバブルは、他のツールで参照する方法と同じです。
nmpeterson 2011

1

モデルビルダーでこれを行う簡単な方法を見つけました。いくつかのファイルを繰り返し処理して、それらすべてのクリップを作成するとします。

1)フィーチャクラスのインターレーターを作成します。それを右クリックして、ワークスペースの変数を作成します。

2)ワークスペースのバブルの名前を「Workspace」に変更し、それを右クリックして「make parameter」を選択します。これにより、モデルをツールとして実行するときに、ファイルを含むフォルダーに入力するように求められます。

3)クリップツールを追加します。イテレータの「FeatureClass」出力バブルからクリップツールまでラインを実行し、入力フィーチャを選択します。

1)「フォルダーの作成」ツールを追加し、それを右クリックして、そこから2つの変数、名前と場所を作成します。

2)フォルダーの名前を任意の名前にします。「出力」を使用しました

3)場所について:私の場合、出力フォルダーを配置したいフォルダーが既にありました。これは、イテレーターの入力として使用したメインフォルダーでした。名前を「Workspace」に変更したことを思い出してください。次のように入力して、その場所を参照できます。

%workspace%

フォルダ作成ツールの場所のバブルに。

4)次に、コネクターツールを使用して、「フォルダーの作成」ツールの出力(「出力フォルダー」という名前)からメインの反復子バブルまでの線を引きます。小さなダイアログが表示されるので、「前提条件」オプションを選択します。これにより、このセクションを実行する前にフォルダを作成する必要があることがわかります。

5)最後に、クリップツールの出力で、次のように入力できます。

%Output Folder%\%Name%_clip.shp

%Output Folder%は、作成したフォルダーの出力バブルを参照します。イテレータは「名前」と呼ばれるバブルを作成するため、%Name%で参照しました。次に、サフィックスを追加して、クリップツールからの出力であることを明確にします。

お役に立てば幸いです。アダム


0

モデルビルダーの上部にある「ジオデータベースのフィーチャクラス」ツールを使用して、そこに多くの出力を接続できます。その場所を指定するだけで済みます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.