Skip To Content

ジオプロセシング サービスの使用

ArcGIS Server に単独で、または Web ツールの一部として公開されたジオプロセシング サービスは各種のアプリケーションで使用することができます。 ジオプロセシング サービスは複数の認証済みのユーザーおよびクライアントで同時に使用できるため、組織は、これらのサービスを使用して、カスタムのジオプロセシング ワークフローを拡張および自動化できます。

ArcGIS Enterprise ポータルで Web ツールを操作しているときでも、ArcGIS REST API を使用して、その基になるジオプロセシング サービスにアクセスできます。 このため、ユーザーは、サービスによって実行されるジオプロセシング ワークフローをスクリプト化および拡張することができます。 ジオプロセシング サービスの使用により、次のことを実行できます。

  • 使用可能なツールおよびツールの入力/出力プロパティをリスト表示します。
  • タスクを同期的に実行します。
  • ジョブをタスクに非同期的に送信します。
  • ジョブのステータスを含め、ジョブの詳細を取得します。
  • マップ サービスを使用して結果を表示します。
  • ホスト フィーチャ サービスを使用して結果を表示します。
  • クライアントでさらに処理を行うために結果を取得します。

ArcGIS Web AppBuilderArcGIS Developer リソース、または REST API 呼び出しに対応しているその他の環境のいずれを使用した場合も、ジオプロセシング サービスを Web GIS アプリケーションに組み込むことができます。

このトピックでは、ArcGIS Server に公開されたジオプロセシング サービスを利用できる Esri クライアント アプリケーションおよびリソースの概要を説明します。

デスクトップ アプリケーション

ジオプロセシング サービスは、公開された後、デスクトップ GIS アプリケーションで操作できます。 ArcGIS ProArcMap では、組み込みジオプロセシング ツールと同様にジオプロセシング サービスを使用して、ジオプロセシング タスクを実行することができます。

ジオプロセシング サービスをデスクトップ GIS ワークフローで使用することには利点があります。つまり、デスクトップ コンピューター固有の処理能力を使用してジオプロセシング タスクを実行する代わりに、ジオプロセシング サービスが実行されているより高性能のサーバー コンピューターを利用できます。 さらに、ジオプロセシング サービスおよび Web ツールは、多くの場合、カスタムのジオプロセシング ワークフローおよびタスク チェーンを備えているため、ユーザー独自の GIS ワークフローの実現に役立ちます。

ユーザーは、ジオプロセシング サービスまたは Web ツールをデスクトップ GIS アプリケーションで使用するのに、そのサービスまたはツールの作成者や所有者である必要はありません。 Web 上のリソースにアクセスできる適切な認証情報があれば、ArcGIS Pro または ArcMap から接続してそのサービスを使用することができます。

ArcGIS Pro

ArcGIS Pro から ArcGIS Enterprise に接続すると、サーバー上で実行されているジオプロセシング リソースを利用できます。

ArcGIS Enterprise

Web ツールの基になるジオプロセシング サービスを直接使用する場合や、スタンドアロン サーバー サイトに公開されたジオプロセシング サービスを使用する場合は、[カタログ] ウィンドウの [サーバー] の下でサーバー接続を確立できます。

ジオプロセシング サービスの使用の詳細

ArcMap

ArcMap では、組み込みジオプロセシング ツールを使用する場合と同じようにジオプロセシング サービスを使用してタスクを実行できます。 これを行うには、最初に、ArcMap から、ジオプロセシング サービスをホストしている ArcGIS Server サイトへの接続を確立する必要があります。

ArcMap でのジオプロセシング サービスの使用の詳細

Python スクリプト

Python スクリプトを作成して、ジオプロセシング サービスを複数の方法で実行および利用できます。 スクリプトを実行する主な手段は、Esri の Python サイト パッケージである ArcPy の使用です。 ArcPy には、サービスからの結果に接続し、実行して処理するメソッドが組み込まれています。

代わりの方法として、ArcGIS Server Services Directory を使用してジオプロセシング サービスに直接アクセスすると、組み込みの Python モジュールを使用して、JSON 構造を用いた REST 呼び出しを実行し、結果を転送することができます。 この方法を利用するには、Python コードによってクライアントを最初から構築する必要があります。 スクリプトの大部分は、ArcPy を介してジオプロセシング サービスに接続し使用します。

次に示すトピックでは、ご使用の Esri デスクトップ アプリケーションに応じた詳細情報を提供しています。 Python スクリプトの作成には ArcGIS Pro を使用することをお勧めします。

ArcGIS Pro を使用した場合の Python スクリプトでのジオプロセシング サービスの使用

ArcMap を使用した場合の Python スクリプトでのジオプロセシング サービスの使用

Web アプリケーション

ArcGIS Enterprise ポータルの Map Viewer Classic 以外のアプリケーションでは、いくつかの方法でジオプロセシング サービスの機能を Web 上で利用可能にすることができます。 クライアント アプリケーションはどれも、ジオプロセシング サービスの利用を最終的に ArcGIS REST API 経由で行いますが、ユーザーは、プログラムによる REST リクエストの方法を必ずしも理解する必要はありません。 たとえば、ArcGIS Web AppBuilder を利用すれば、ユーザー フレンドリーなウィジェットを介してジオプロセシング サービスを追加できます。 ArcGIS Developer API と SDK を使用したカスタム コーディングによって、より高度なオプションが提供されています。

ArcGIS REST API

REST API 呼び出しに対応しているクライアントはどれも、ArcGIS REST API を呼び出して、ジオプロセシング サービスに対してクエリを実行することができます。 サービスに対するプログラムによるリクエストのたびに、サービスは 1 つ以上のジオプロセシング タスクを実行して、クライアントにレスポンスを返すよう求められます。

ジオプロセシング サービスに対して REST API リクエストを実行するときは、多くのデータ タイプを入力パラメーターに指定できます。 リクエストは次の 2 通りの方法で行うことができます。

  1. 同期タスク リクエストを行うには、execute 操作を使用します。 結果が返されるのを待ってから、他の操作を実行する必要があります。
  2. 非同期タスク リクエストを行うには、submitJob 操作を使用します。 結果が返されるのを待つ間に、他のタスクを実行できます。つまり、キューに配置済みの非同期ジョブをキャンセルすることもできます。

ArcGIS Web AppBuilder

ジオプロセシング サービスがフェデレーション サーバー上またはスタンドアロン サーバー上のいずれにあるかにかかわらず、ジオプロセシング サービスの URL を指定することで ArcGIS Web AppBuilder のジオプロセシング ウィジェットを使用できます。「ジオプロセシング ウィジェット」をご参照ください。 詳細については、「ArcGIS Web AppBuilder での Web ツールの使用」および「ArcGIS Web AppBuilder でのジオプロセシング サービスの使用」をご参照ください。