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 スクリプトから実行することができ、別のモデルに追加して実行することもできます。

モデル ツールを別のモデルに追加して実行するという考え方は、サブモデル、ネストされたモデル、またはモデル内のモデルと呼ばれます。このようなモデル階層を使用する主な理由は、大規模で複雑なモデルを単純にすること、およびモデル イテレータをより高度に利用することの 2 つです。

大規模で複雑なモデルの単純化

モデル ツールを別のモデルに埋め込むことで、大規模で複雑なプロセスを、管理しやすく、別のモデルまたはスクリプトで再利用しやすい、小さなモデル単位に分割することができます。プロセス全体を再実行することなく、これらのサブモデルだけを変更および再実行できます。たとえば、あるサブモデルでエラーが発生した場合は、エラーが発生したモデルだけを修正し、プロセス全体をもう一度実行する代わりに、そのモデルだけを再実行します。

大きなモデルから小さいサブモデルへの分割
1 つの大きなモデルを 4 つのサブモデルと 1 つのメイン モデルに分割可能

上の図に示すモデルは、4 つのサブモデルと 1 つのメイン モデルに分割できます。小さいサブモデルをメイン モデルに追加して、最終プロセスに接続できます。サブモデルを別のモデルに追加すると、サブモデルの最終出力が出力変数として追加されます。

メイン モデルへのサブモデルの追加

モデル イテレータの高度な使用

モデル ツールを別のモデルに埋め込む場合は、モデル イテレータのより高度な利用も可能です。ワークフローでモデルの反復処理が必要な場合、2 回以上の実行が必要なツールまたはプロセスは、各ワークフローで一度しか実行する必要がないツールまたはプロセスと分離する必要があります。この場合、複数回の実行が必要なすべてのツールをモデル イテレータとともに 1 つのモデル内に配置して、サブモデルとして使用します。1 度しか実行する必要がないツールはメイン モデルに配置して、反復処理を行うサブモデルをメイン モデルから呼び出します。

次の例は、ジオデータベースからの入力セットをマージする自動化されたワークフローです。[マージ(Merge)] ツールは、複数のフィーチャクラスをマージ対象の入力として受け取りますが、特定のワークスペースにあるすべてのフィーチャクラスを自動的に追加する手段はありません。この場合は、[フィーチャクラスの反復(Iterate Feature Classes)] モデル イテレータと [値の収集(Collect Values)] ツールを組み合わせて、ワークスペースにあるすべてのフィーチャクラスを読み取り、これらを 1 つの変数に収集することができます。これらの 2 つのプロセスは、複数回実行する(反復処理を行う)必要があるためサブモデルに追加します。[マージ(Merge)] ツールは、1 度しか実行する必要がないためメイン モデルに追加して、[フィーチャクラスの反復(Iterate Feature Classes)] と [値の収集(Collect Values)] を追加したサブモデルの出力に接続します。

メイン モデルとサブモデル

次に、上のワークフロー全体を作成する方法を、手順ごとに説明します。使用されている用語と手法については、「ModelBuilder の基本用語」をご参照ください。

  1. メイン モデルとサブモデルの 2 つのモデルを作成します。サブモデルはメイン モデル内にネストします。メイン モデルに [マージ(Merge)] ツールを追加し、サブモデルに [フィーチャクラスの反復(Iterate Feature Classes)] イテレータと [値の収集(Collect Values)] ツールを追加します。
  2. サブモデルで、マージ対象のフィーチャクラスを含むワークスペースを [フィーチャクラスの反復(Iterate Feature Classes)] イテレータの入力として設定します。ポイント フィーチャクラスだけを反復処理する場合は、[フィーチャクラスの反復(Iterate Feature Classes)] の [フィーチャ タイプ] パラメータを [POINT] に設定します。
    イテレータの設定
  3. [フィーチャクラスの反復(Iterate Feature Classes)] の出力変数「出力フィーチャクラス」を [値の収集(Collect Values)] ツールに接続して、ワークスペース内の各ポイント フィーチャクラスのパスを反復処理して収集します。
  4. 入力ワークスペース変数と [値の収集(Collect Values)] ツールの出力を、モデル パラメータとして設定します。入力ワークスペース変数の「入力データセット」の名前を、変数の内容を表す、わかりやすい名前に変更します。
    サブモデルの設定
  5. サブモデルを保存して閉じ、メイン モデルにプロセスとして追加します。
  6. サブモデルをメイン モデルに追加すると、サブモデルのパラメータが変数として自動的にメイン モデルに追加されます。
    サブモデルの追加
  7. サブモデルの出力変数を、[マージ(Merge)] ツールの [入力データセット] として設定します。[マージ(Merge)] ツールの出力に、有効なパスが設定されていることを確認します。
  8. サブモデルの入力変数の名前を「入力データセット」に変更し、[マージ(Merge)] ツールの出力変数を「マージ出力」に変更します。「入力データセット」変数と「マージ出力」変数の両方を、モデル パラメータとして設定します。
    ネストされたモデル
このトピックへのフィードバック

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. | プライバシー | リーガル