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

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

ジオプロセシング フレームワーク

  • ジオプロセシング モデルと ModelBuilder
  • スクリプト
  • ソフトウェアを作成および管理するためのフレームワーク
  • ジオプロセシングと ArcObjects

ジオプロセシング フレームワークとは、ツールを管理および実行するために使用する一連のウィンドウおよびダイアログ ボックスのことです。ここでは、このフレームワークの使用方法ではなく、その高度な概念および目的を中心に説明します。

ジオプロセシングの主な目的は、すばやく簡単に発想を実行、管理、変更、文書化、および ArcGIS ユーザー コミュニティとの共有が可能な新しいソフトウェアとして実現できるようにすることです。この場合、ソフトウェアとは、ArcGIS に必要な処理を実行するように指示するものです。たとえば、ジオプロセシング モデルは、ユーザーによって ModelBuilder と呼ばれる操作性の高いビジュアル プログラミング言語で構築される新しいソフトウェアです。

このセクションの主題は、ジオプロセシングはユーザーにとって新しい効果的なソフトウェアを作成するための 1 つの方法であるということです。これを説明することで、ユーザーはジオプロセシングを使用する方法と目的をより広く、深く理解することができます。

任意の種類のソフトウェアを作成するには、次の 2 つの基本エレメントが必要です。

  • システム内でキャプチャされたデータを操作する形式言語。
  • 言語に基づいてソフトウェアを作成、管理、および実行するためのフレームワーク。これには、エディター、ブラウザー、文書化ツールなどが含まれます。

ジオプロセシングの言語は、そのツールのコレクションです。ジオプロセシング フレームワークは、既存のツールを整理および管理するため、およびツールを作成するための組み込みユーザー インターフェイスの小さいコレクションです。フレームワークの基本的な構成要素は、次のとおりです (「ジオプロセシングの概要」を参照)。

  • ツールを検索して実行するための [検索] ウィンドウと、ツールボックスを参照してそのツールを管理または実行するためのカタログ ウィンドウ
  • 対話形式でツールのパラメーターを設定してツールを実行するためのツールのダイアログ ボックス
  • ツールのパラメーターを入力することでツールを実行するための Python ウィンドウ
  • 一連のツールを連結するための ModelBuilder ウィンドウ
  • スクリプトを作成してツールボックスに追加するための方法

ジオプロセシング モデルと ModelBuilder

ツールのダイアログ ボックスでは、1 つのツールを実行できます。これは 1 つのプログラミング言語で 1 つの命令を実行することと考えることができます。1 つのツールを実行することは実用的ではありますが、プログラミング言語とまったく同じように複数のツールを連結して 1 つのツールの出力を別のツールに渡すことができなければ、システムはさほど役に立ちません。

ジオプロセシング フレームワークでは、ModelBuilder ウィンドウを使用して、ジオプロセシング言語のエレメント (ツール) を連結してシーケンスにすることで、すばやく発想をソフトウェアとして実現できます。モデルは、コンピューターに特定の処理を実行するように命令するため、ソフトウェアであると理解しておくことが大切です。ModelBuilder に表示されるプログラミング言語は、従来のプログラミング言語のようなテキストベースではなく、ビジュアルな言語です。

ここで最も重要なのは、モデルはツールであるということです。モデルの振舞いはシステムの他のツールとまったく同じであり、 ダイアログ ボックスや Python ウィンドウで実行することができます。モデルはツールであるため、モデルをモデルに埋め込むことができます。ArcGIS で提供される複数のシステム ツールは、モデルです。

モデルを複雑にすることができます。モデル内のどのシステム ツールまたはカスタム ツールも使用することができ、モデルはツールであるため、ユーザーが作成した他のモデルも使用できます。モデルの論理フローを制御するためにループおよび条件文を使用することもできます。

単純なモデルであっても、十分に効果的である場合があります。含んでいるツールは 1 つであっても、そのパラメーターのいくつかが埋め込まれているモデルを作成することができます。たとえば、[バッファー (Buffer)] ツールでは 6 つのパラメーターが使用されますが、現在処理している一連のタスクでは、これらのパラメーターのうち、3 つのパラメーターが常に同じであるとします。[バッファー (Buffer)] ツールを実行するたびにこれらのパラメーターを設定するかわりに、モデルをすばやく作成してこれら 3 つのパラメーターを設定し、MyBuffer ツールとして保存して、[バッファー (Buffer)] ダイアログ ボックスではなく MyBuffer ツールのダイアログ ボックスを使用することができます。MyBuffer に保存したモデルは数回使用しただけで削除するかもしれませんが、モデル自体はすばやく簡単に作成できるため、無駄な作業ではなく結果的に生産的といえます。

スクリプト

スクリプト言語を使用して、便利なソフトウェアを作成することもできます。スクリプト言語を使用するプログラムはスクリプトと呼ばれます。ソフトウェア プログラミングでは、言語はシステム言語とスクリプト言語の 2 つの基本的なカテゴリに分けられます。システム言語は、C++ や .NET などの単純なプリミティブとコンピューターの基本的なリソースを使用してアプリケーションを一から作成するために使用される言語です。Python や Perl などのスクリプト言語は、コンピューターに組み込まれている高レベルな機能を使用して既存アプリケーションを結合するために使用されます。システム言語のプログラミングに見られるような低レベル部品を扱う必要はありません。システム言語と比較して、スクリプト言語は、より習得しやすく使いやすい言語です。プログラミングを基本的に理解していれば、生産性を向上させるのに十分です。

ジオプロセシング フレームワークでは、ツールを作成するために使用できる点で、スクリプトはモデルに似ています。モデルはビジュアル プログラミング言語 (ModelBuilder) で作成され、スクリプトはテキストベースの言語とテキスト エディターで作成されます。

モデルと同様に、スクリプトはツールです。スクリプトはウィザードを使ってカスタム ツールボックスに追加することができ、モデルや別のスクリプトで使用できるツールの 1 つになります。システム ツールの一部はスクリプトです。技術的には、スクリプトを作成しても、ツールボックスに持ち込まないようにできます。この場合、それはツールではなく、ディスク上のスタンドアロン スクリプトになります。

以下の理由により、スクリプトを使用することができます。

  • 条件付きの実行や高度なエラー処理などの高度なプログラミング ロジック、ディクショナリやリストなどの高度なデータ構造、または文字列、数学、およびファイル操作機能などのより高度な機能が必要になるときがあります。多くのスクリプト言語が、高度な数学および統計、Web 自動化、データベース クエリ、高度なシステム ユーティリティなどに対応するためにサードパーティ ライブラリで拡張されています。
  • スクリプトのみで使用できる単純なジオプロセシング機能がいくつかあります。たとえば、カーソルを使用すると、テーブルのレコードをループ処理して、行を読み書きしたり新しい行を挿入したりできます。ArcGIS データのプロパティ (フィーチャクラスの範囲やテーブルの個々のフィールドの各種プロパティなど) にアクセスするための機能があります。
  • スクリプトは、他のソフトウェアを包むこと (アプリケーションを結合すること) ができます。たとえば、土地利用規制条例の変更により影響を受ける土地区画の所有者および住所を含んでいる単純なテキスト ファイルを出力するモデルがあり、このテキスト ファイルを読み取り、影響を受ける区画の所有者に送付する正式通知書を生成する別のプログラムを起動するとします。スクリプトを使用してこの書状生成プログラムをラップし、このスクリプトをツールボックスに追加して、モデルで直接使用することができます。
  • スクリプトは ArcGIS の外側で実行できます。つまり、スクリプトはオペレーティング システムのプロンプトから直接実行できます。(ジオプロセシング ツールにアクセスする必要があるため、コンピューターに ArcPy サイト パッケージをインストールする必要はあります。)

ソフトウェアを作成および管理するためのフレームワーク

ジオプロセシング フレームワークは、すばやく発想をシステムによる管理とユーザー間の共有が可能な新しいソフトウェアとして実現できるようにするために開発されました。

ジオプロセシングは演算子 (ツール) で構成される言語であり、ArcGIS 内のデータ (テーブル、フィーチャクラス、ラスター、TIN など) を操作し、広範な分野にわたる地理情報を操作および解析するために必要なタスクを実行します。

モデルおよびスクリプトの形式でソフトウェアをすばやく作成できます。これらの新しいツールは、標準の ArcGIS パッケージに含まれていないタスクを実行します。たとえば、ArcGIS には、「ジオプロセシングとは」で示されている単純な [投影変換 (Project)] と [クリップ (Clip)] のモデルを実行するためのメニューもボタンもなく、またプログラミング オブジェクトもありません。

ツールはジオプロセシング フレームワークによって管理されるため、ユーザーが管理する必要はありません。これは細かいですが、重要なポイントです。この管理には以下が含まれます。

  • システム ツールであるかカスタム (ユーザーが作成した) ツールであるかに関係なく、ツールはすべてツールボックスからアクセスできます。モデル、スクリプト、システム ツール、およびカスタム ツールにそれぞれ異なるインターフェイスおよび方法でアクセスする必要があるとすると、その使用と管理は困難になります。ジオプロセシングでは、組み込みツールであるか、モデル ツールであるか、スクリプト ツールであるかにかかわらず、すべてを同じ方法で作成および管理できます。
  • ツールはすべて同じ方法で文書化されます。ツールを作成したら、それをシステムが分類および検索できるようにカタログ ウィンドウで文書化できます。他の手法では、ユーザーがドキュメントの標準の管理を行う必要があります。
  • ツールには同じユーザー インターフェイス、つまりダイアログ ボックスが使用されます。これらのダイアログ ボックスは、ツールのパラメーターに基づいて自動的に作成されます。ユーザー インターフェイスのプログラミングを行う必要はありません。他の手法では、ツール作成者がユーザー インターフェイスの設計とプログラミングを行う必要があります。

ツールは簡単に共有できます。すべてのツールおよびツールセットを含んでいるツールボックスは、「.tbx」という拡張子を持つディスク上のファイル内またはジオデータベース内のどちらかに格納されます。このファイルまたはジオデータベースにアクセスできるすべてのユーザーがそのツールを実行できます。

要点は、ツールが、ドキュメント、ユーザー インターフェイス、アクセス方法、および共有方法が同じであるジオプロセシング フレームワークのコンポーネントになることです。

ジオプロセシングと ArcObjects

ArcObjects は、ArcGIS ソフトウェア開発キット (SDK) の一部として提供される単純なプログラミング オブジェクトの大規模なライブラリです。開発者は、ArcObjects を使用して新しいアプリケーションを構築したり、ArcGIS アプリケーションの既存の機能を拡張したりします。(ほとんどのシステム ツールとジオプロセシング フレームワーク全体も ArcObjects を使用して構築されています。) ジオプロセシングと同様に、ArcObjects SDK を使用してソフトウェアを作成できます。

ArcObjects SDK とジオプロセシングは相補的な関係にあります。ArcObjects は ArcGIS を新しい振舞いで拡張するために使用され、ジオプロセシングはタスクを自動化するために使用されます。ArcObjects は、新しいユーザー インターフェイスの追加、フィーチャクラスへのカスタム ロジックの追加、特殊なカートグラフィック レンダラーの作成などに使用します。ジオプロセシングは、フレームワークの範囲内でタスクを自動化するソフトウェア (モデルおよびスクリプト) を作成するために使用します。

ArcObjects は、プログラマが複雑なロジックおよびアルゴリズムを実装するために単純なプリミティブにアクセスする必要があるシステム プログラミング言語とともに使用されます。このため、ArcObjects には何千ものオブジェクトおよびリクエストが含まれており、これによりプログラマは作業を詳細に制御できます。ArcObjects はシステム プログラミング言語とともに使用されるため、ジオプロセシングよりも、そのモデルおよびスクリプトのプログラミングに関する多くの知識を必要とします。

一方、ジオプロセシングは、すべての GIS ユーザーが作業の自動化、反復可能な明確に定義されているメソッドおよびプロシージャの構築、および重要な地理プロセスのモデリングを行うために使用できる普遍的な機能です。

ArcGIS Desktop

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

ArcGIS

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

Esri について

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