FAQ
GeoProcessorオブジェクトの作成と利用

ナレッジ番号:5302 | 登録日:2023/07/26 | 更新日:2023/12/28

概要

  • ジオプロセシングとは
  • GeoProcessor オブジェクトの作成
  • GeoProcessor オブジェクトの利用

ジオプロセシングとは

ジオプロセシング(Geoprocessing)とは、GIS データに何らかの処理を行い、新しいデータを出力する一連の流れを指します。この処理を実行する機能を ArcGIS では、ジオプロセシング ツールと呼び、データの解析や管理、別のデータ形式へ変換する処理を行うことが可能です。

 ジオプロセシングは初心者でも熟練者でも ArcGIS を利用した日々の仕事で不可欠な要素になるでしょう。 ジオプロセシングはすべての地理情報システムソフトウエアの利用者に対して、必要不可欠なデータ解析、データ管理、データ変換ツールを提供します。

ジオプロセシングの主な目的は GIS のタスクを自動化し、空間解析とモデリングを実現することです。ジオプロセシングは、ツールを提供したり、モデルやスクリプトを使用した連続操作において一連のツールを結び付けるメカニズム提供することで、ワークフローの自動化をサポートします。

自動化した方がよいタスクの種類は、例えばひとつのフォーマットから別のフォーマットへのデータ変換であったり、連続した操作を用いてモデルを作成したりといったありふれたものであったり、複雑な空間関係を解析したりする創造性に富んだものである場合もあります。例えば、輸送ネットワ-ク上の最適経路の計算や、山火事の進路の予測、犯罪の発生場所のパターンの解析や発見、地すべりを起こしやすい知識の予測、嵐が起きた際の洪水の影響の予測などです。

ジオプロセシングは ArcGIS のデータ(テーブル、フィーチャクラス、ラスター、TIN [triangulated irregular network] 等)を操作するオペレーター(ツール)から成り、幅広い領域に渡る地理情報の操作と解析のための必要なタスクを実行します。それぞれのジオプロセシングツールは地理データに対する重要な操作を実行します。例えばデータセットをひとつの地図投影から別の地図投影へと投影したり、テーブルにフィールドを追加したり、フィーチャのまわりにバッファー域を作成したりなどです。

ArcGIS にはこのような何百ものジオプロセシングツールがあります。ジオプロセシングツールは ArcGIS のデータセットを入力(フィーチャクラス、テーブル、ラスターそして CAD ファイル)として用いて、このデータに対し演算を施します。そして出力としてデータセットを作成します。ツールの実行はジオプロセシングにおける基本的な操作です。

GeoProcessor オブジェクトの作成

ArcObjects では GeoProcessor が有する Execute メソッドを呼ぶことでジオプロセシングツールを実行します。
以下の 2 つの方法で GeoProcessor を作成できます。
※このトピックのコードを使用するには、Visual Studio プロジェクトに以下のアセンブリへの参照を追加してください。コードファイルでは、対応するネームスペースへの using ディレクティブ(C#)または Imports ステートメント(VB)が必要です(アセンブリ名と異なる場合は、括弧で括られています)。

ESRI.ArcGIS.Geoprocessing
ESRI.ArcGIS.Geoprocessor
 

  • ESRI.ArcGIS.Geoprocessing ネームスペ-スを介して Geoprocessing タイプライブラリで利用できる、GeoProcessor クラスの IGeoProcessor2 インターフェイスを使用します。 以下のコード例をご覧ください。
IGeoProcessor2 gp = new GeoProcessorClass();
Dim gp As IGeoProcessor2 = New GeoProcessorClass()

 

文字 p は IGeoProcessor2 と GeoProcessorClass では大文字です。

  • ESRI.ArcGIS.Geoprocessor ネームスペースを介して利用できる、Geoprocessor マネージド アセンブリ(p は小文字)の Geoprocessor クラスを使用する。

以下のコード例をご覧ください。

ESRI.ArcGIS.Geoprocessor.Geoprocessor gp = new ESRI.ArcGIS.Geoprocessor.Geoprocessor();
Dim gp As ESRI.ArcGIS.Geoprocessor.Geoprocessor = New ESRI.ArcGIS.Geoprocessor.Geoprocessor

 

文字 p は小文字です。C# は大文字と小文字を区別するので、このことは C# では重要です。VB では大文字と小文字を区別しないので GeoProcessor と Geoprocessor は一緒です。そのため ESRI.ArcGIS.Geoprocessing と ESRI.ArcGIS.Geoprocessor の両方をプロジェクトにインポートしている場合は、GeoProcessor と Geoprocessor を完全なネームスペースで修飾する必要があります。

作成された gp オブジェクト(gp)は このドキュメントを通して geoprocessor(g と p は小文字)を参照しています。

GeoProcessor の使用

作成された GeoProcessor オブジェクト(gp)は、どのようにして作成されたかに依らず同じメソッドとプロパティを有しています。2つのアプローチの違いは以下の通りです。

では、どちらのアプローチが良いのでしょう?端的に言えば、どちらの方法も同じように利用することができます。しかし、マネージドクラスは .NET 固有であることの優位性があり、ツールのパラメータでインテリセンス機能を利用することができます。優位性の範囲はジオプロセシング機能のほんの一部(しかし最も重要なもの)にのみ限定されています。逆に IGeoProcessor.Execute を使う唯一の制限は、ツールのパラメータの順番を知っていなくてはならないことです。しかし、これは利点であるとも言えるでしょう。例えば、マネージドクラスのインテリセンス はパラメータが Derived (派生)であるかどうかは示しません。詳細については、ツール リファレンス ページの解析をご覧ください。

参照

 

メタデータ

種類

製品