ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

Python スクリプトへのモデルのエクスポート

  • エクスポートされた Python スクリプトの編集

モデルを Python スクリプトにエクスポートするオプションは、ツールや環境が Python でどのように使用されるかを理解する上で非常に役に立ち、多くの場合、開発作業を促進します。スクリプトを編集およびコンパイルしたら、ツールボックスまたはモデルにスクリプト ツールとして追加して、別のジオプロセシング ツールとして実行できます。モデルをスクリプトにエクスポートするには、次の手順に従います。

レガシー:

モデルを JScript および VBScript にエクスポートする機能は、ModelBuilder のバージョン 10 で削除されました。

  1. ModelBuilder のメニューで、[モデル] > [エクスポート] > [Python スクリプトへ] の順にクリックします。
  2. [保存する場所] ドロップダウン矢印をクリックし、スクリプトを保存する場所へ移動します。
  3. スクリプトのファイル名を入力します。
  4. [保存] をクリックします。

エクスポートされた Python スクリプトの編集

エクスポートしたモデルが機能しない場合があります。モデルをスクリプトにエクスポートする場合は、次の点を検討してください。

  • データを上書きしたい場合、arcpy.env.overwriteOutput プロパティを True に設定します。
  • モデルが、元のモデル内で作成していないレイヤーやテーブル ビューを使用していた場合、[フィーチャ レイヤーの作成 (Make Feature Layer)] や [テーブル ビューの作成 (Make Table View)] などのツールを使用して、それらのレイヤーやテーブル ビューをスクリプト内に作成する必要があります。
  • モデルのデータ エレメントは、エクスポートされるスクリプト内の変数に直接変換されます。データ エレメントに Python と互換性のないの名前 (class、global、return など) を付けないようにします。予約済みのキーワードを一覧するには、Python のキーワード モジュールを使用してください。
    import keyword
    print keyword.kwlist
    
  • モデルでインライン変数置換 (%workspace%、%scratchworkspace%、%n%、%i%、%variable name% など) が使用されている場合は、これらを正しい値で置き換える必要があります。
  • モデルで反復子が使用されている場合、反復処理の論理はエクスポートされません。Python のループ ステートメントで、これらを置き換える必要があります。
  • リスト変数の最初の値だけがエクスポートされます。
  • モデルがフィーチャ セットまたはレコード セットを使用している場合、次のコードがエクスポート内に作成されます。

    フィーチャ セット パラメーターのあるモデルからのエクスポート

    Feature_Set = arcpy.GetParameterAsText(0)
    if Feature_Set == '#' or not Feature_Set:
        Feature_Set = "in_memory\\{F15C6411-0F4F-4A68-9BAC-29D6E7874669}" # provide a default value if unspecified
    
    このコードは、Feature_Set 変数を in_memory フィーチャクラスに設定することで、NULL または無効な入力から保護しようとします。in_memory フィーチャクラスは実行時には存在しないため、実行中に存在するフィーチャクラスを指すようにパスを更新する必要があります。ワークフローに応じてロジックを変更して、エラー メッセージを渡したり、実行を停止したりすることもできます。
  • モデルが [ブランチのマージ (Merge Branch)]、[値の収集 (Collect Values)]、または [値の計算 (Calculate Value)] などのモデル専用ツールを使用している場合、これらのツールは、Python では実行されません。これらのツールと同等の Python 機能を実装する必要があります。たとえば、スクリプト内でブランチを行うには、if/else ロジックを使用する必要があります。
  • モデルの中にサブモデルが含まれている場合、それらのサブモデル内の内容はエクスポートされません。そのため、ツールボックスを参照して、モデル ツールをスクリプト内で呼び出す必要があります。

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2021 Esri. | プライバシー | リーガル