ArcPyスクリプトからModelBuilderに変数を渡しますか?


9

変数をpythonスクリプトに渡すモデルがあります。スクリプトはその変数を使用して一部のディレクトリをクエリし、パスのリストを返します。私が知りたいのは:

  • 次に、それらの各パスを後続の操作のパラメーターとして使用するにはどうすればよいですか?
  • PythonとModelBuilderの間の橋は一方通行ですか?

回答:


8

最初にPythonスクリプトをツールボックスに追加し、[パラメーター]タブでスクリプト入力を設定することで、モデルにPythonスクリプトを追加したと想定しています。

「パラメーター」タブで、スクリプト出力の新しいパラメーターを追加できます。これを行うには、単に変更します。

  • DirectionパラメータのプロパティOutput
  • Data TypePythonの出力は(おそらく文字列または整数、多分フィーチャクラス)がどうなるかに依存します。
  • その後、TypeパラメータのプロパティDerived(公平を期すために、けれどもRequiredおよびOptionalデータの種類に応じて動作しますが、私は以下のことを説明します)

次に、を使用arcpy.SetParameterして、Pythonスクリプトからモデルに出力を戻すことができます。

いくつかのメモ:

  • 出力パラメータをに設定している場合、RequiredまたはOptionalデフォルト値を提供することでスクリプトに入力を提供できる場合、デフォルト値を取得arcpy.GetParameterまたは取得できます。sys.argv
  • 出力として設定するパラメーターの数は、Pythonスクリプトのパラメーターの総数に依存します(つまり、出力パラメーターの前にすでに2つの入力パラメーターがある場合は、を使用する必要がありますarcpy.SetParameter(2, value))。

また、arcpy 設定スクリプトツールのパラメーターのヘルプもご覧ください

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