日本語

操作手順: Python スクリプトでの ModelBuilder モデルの呼び出し

概要

シナリオによっては、モデル全体を Python スクリプトに変換するよりも、Python スクリプトを使用して ModelBuilder 内でモデルを呼び出したほうが簡単であることがしばしばあります。 モデルがカスタム ツールボックスに格納されるため、モデルを呼び出す前に、カスタム ツールボックスを Python スクリプトに追加する必要があります。 詳細については、「ArcGIS Desktop: データとツールの追加および接続」をご参照ください。

手順

Python スクリプトでモデルを呼び出すには、arcpy.AddToolbox() 関数を使用してカスタム ツールボックスを追加します。 その後、パラメーターでツールボックスを参照することによってモデルを呼び出すか、ツールボックスのエイリアスを使用してモデルを直接呼び出します。 以下の手順は、その実行方法を説明しています。

  1. ツールボックスを参照する変数を作成します。 arcpy.AddToolbox() 関数を使用する例を次に示します。
    tbx = arcpy.AddToolbox("C:/Temp/MyToolbox.tbx")
  2. 次のサンプル コードのいずれかを使用して、モデルを呼び出します。
    • 定義済みの変数を使用してモデルを呼び出す場合
      MyToolbox は、ステップ 1 で追加されたカスタム ツールボックスです。 MyToolbox には、Sample1 というラベルが付けられたモデルがあります。 次のサンプル コードを使用します。
      tbx.Sample1()
    • 定義済みのツールボックスのエイリアスを使用してモデルを呼び出す場合
      SampleMyTools は、ステップ 1 で追加された MyToolbox の定義済みのツールボックスのエイリアスです。
      arcpy.Sample1_SampleMyTools()
注意:
エイリアス名をツールボックスに追加することをお勧めします。 エイリアスにスペースやアンダースコア (_) のような特殊文字を含めることはできません。

モデルがユーザー入力を必要とする場合、Python スクリプトで変数を作成し、モデル パラメーターへの引数として、入力シェープファイルの場所を参照します。 たとえば、次のサンプル コードは、入力フィーチャクラスをモデル内のフィーチャ コピー ツールに渡しています。

inFC = "C:/Temp/input.shp"

tbx.Model(inFC)

関連情報

更新日時: 4/2/2019

記事 ID: 000012716

ソフトウェア: ArcMap 10.6.1, 10.6