ArcGIS for Desktop

  • ドキュメント
  • 価格
  • サポート

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

ArcGIS Online

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

ArcGIS for Desktop

完全なプロ仕様の GIS

ArcGIS for Server

エンタープライズ GIS

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ヘルプ

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • その他...

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 for Desktop

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

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • スタッフ ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | プライバシー | リーガル