ArcGIS for Desktop でのサービスの使用に関するクイック ツアー
ジオプロセシング サービスには 1 つ以上のタスクが含まれます。実際には、タスクはジオプロセシング ツールと同じで、パラメータを受け取って結果を返します。タスクは、サーバで処理されて結果を返すルーチンを表すための Web ベースの API(JavaScript、SilverLight、Flex など)で使用される用語です。ジオプロセシング サービスとツールボックス、およびタスクとツールの間に実際には何も違いはありません。サービスとツールボックス、タスクとツールの間に違いがあるのは ArcGIS for Server の他のクライアント(Web ブラウザをはじめとするインターネットベースのソフトウェアなど)のみです。
ArcGIS Server への接続
最初の手順は、ArcGIS Server への接続です。接続にはカタログ ウィンドウを使用します。
- ArcGIS Server には、[GIS Servers] ノードから接続することができます。
- 接続は任意のフォルダに作成することができます。フォルダを右クリックしてから [新規作成] → [ArcGIS Server 接続] の順にクリックします。
ジオプロセシング サービスの URL の取得
ArcGIS Server に接続するときには URL と、多くの場合はユーザ名とパスワードが必要です。サービスの URL はいくつかの方法で取得できます。
- ArcGIS Server が組織によってホストされている場合は、URL がユーザに通知されています。
- URL を取得します。
- arcgis.com でジオプロセシング サービスを検索して、実行したいタスクを含むサービスを探します。サービスをホストしているサーバの URL は、次の手順で取得できます。
- arcgis.com のサービスの説明には [ArcGIS Web API REST 接続] というエントリがあり、ここに URL が含まれています。この URL は、REST を使用してサービスに接続する際に使用します。ArcGIS for Desktop でサーバに接続する場合は、SOAP URL が必要です。
- SOAP URL は、REST URL を基にして取得できます。たとえば、REST URL が次の場合を考えます。
http://sampleserver.esri.com/arcgis/rest/services/SupplyDemandService/gpserver
これに対応する、サーバ接続を作成するための SOAP URL は次のようになります。
http://sampleserver.esri.com/arcgis/services
(SOAP URL では、サービス名の rest と gpserver が削除されます)。
- SOAP URL を使用して、サーバへのユーザ接続を作成します。接続を作成したら、カタログ ツリーでサーバ カタログを参照し、ジオプロセシング サービスとタスクを検索します。
ジオプロセシング タスクの実行
ジオプロセシング サービスのタスクは、他のツールとまったく同様に、ツール ダイアログ ボックス、ModelBuilder、またはスクリプトで実行します。唯一の違いは、ツールをフォアグラウンドで実行する場合です。一部のタスクはサーバから結果が返されるのを待機しますが、待機しないタスクもあります。これらのタスクはサーバにタスクを送信し、必要に応じてサーバに結果を問い合わせます。サーバに送信されたタスクのステータスの確認には [結果] ウィンドウを使用します。詳細については、後述の「同期タスクと非同期タスク」をご参照ください。
タスクの結果の操作
ジオプロセシング サービスの結果は、[結果] ウィンドウの [現在のセッション] に追加されます。結果の出力データ タイプがファイルまたはラスタ データセットである場合、出力はローカルのテンポラリ ディレクトリに保存されます。その他のデータ タイプ(フィーチャクラスなど)の場合、結果は現在のセッションに書き込まれ、出力データセットの名前とステータスが表示されます。ステータスには、次の 5 つの値があります。
- <なし>
ツールはまだサーバで実行中であり、出力が書き込まれていません。または、タスクが正常に実行されなかったため、結果が返されていません。この状態は、非同期ツールのみに適用されます。詳細については、後述の「同期タスクと非同期タスク」をご参照ください。
- <ローカルのテンポラリ フォルダ内のデータ>
ツールの実行は完了しており、出力データはコンピュータのメモリまたはシステムのテンポラリ ディレクトリのどちらかにあります。データを参照する ArcMap レイヤがある限り、そのデータは削除されません。データを保存したい場合には、このテンポラリ フォルダから既知の場所にデータをコピーする必要があります。簡単な方法としては、[コピー(Copy)] ツールを使用し、このツールの入力フィーチャのパラメータに結果からデータセットをドラッグします。出力を右クリックして [ロケーションをコピー] をクリックすることもできます。これにより、フィーチャクラスのパスがクリップボードにコピーされるので、[コピー(Copy)] ツールの入力フィーチャのパラメータのようなテキスト指定が可能な任意の場所に貼り付けることができます。
- <サーバ上のデータ>
データはサーバ上にあります。このステータスは、データを ArcMap、ArcGlobe、または ArcScene に描画する結果のマップ サービスがあることも意味します。この結果のマップは、サーバでツールの実行が終了すると、自動的にコンテンツ ウィンドウに追加されます。この結果のマップ サービスをコンテンツ ウィンドウに追加する必要がある場合は、結果ツールを右クリックして [サーバ レイヤの追加] をクリックします。
結果ツールを右クリックして [データの取得] をクリックする方法もあります。この場合は、データがサーバからコンピュータにコピーされます。コピーした後、状態は、<ローカルのテンポラリ フォルダ内のデータ>、<転送制限外のデータ>、<使用できないデータ> のいずれかになります。
- <転送制限外のデータ>
転送するフィーチャの最大数を超過したため、[データの取得] アクションですべてのデータをサーバからコンピュータに転送することができませんでした。大きなデータセットをコピーすると、他の GIS サービスを実行するサーバの能力が低下し、ネットワークが停滞します。そのため、サービスの作成者は、サーバからクライアント コンピュータにコピーできるフィーチャの最大数を指定しています。この制限を超過するデータをコピーする必要がある場合は、サービスの作成者またはサーバ管理者に連絡して、データを取得するための他の方法を検討する必要があります。
- <利用不可のデータ>
[データの取得] アクションでサーバ上にデータが見つかりませんでした。最も可能性が高い原因は、タスクの結果が古いものだとサーバ管理者が判断し、サーバ上の領域を解放するためにデータを削除してしまった場合です。
環境設定の無視
ジオプロセシング サービスは、実行に影響する環境設定をサーバで明示的に設定します。現在のセッション内で設定した ArcGIS for Desktop のローカル環境設定は、サービスが使用する環境設定に影響しません。
サーバ タスクのカスタム ツールボックスへのコピー
ジオプロセシング サービスからカスタム ツールボックス(ユーザが作成したツールボックス)には、タスクをコピーできません。
10.1 より前のバージョンでは、タスクをカスタム ツールボックスにコピーすることができました。この機能は、バージョン 10.1 で削除されました。
サーバ ツール実行完了前のアプリケーションの終了
非同期ツール(以下を参照)を指定した後は、操作中のアプリケーションを終了することができます。たとえば、ArcMap の操作中に、実行を開始し、マップ ドキュメントを保存し、ArcMap を終了することができます。後でこのドキュメントを開くと、ArcMap からサーバにクエリが送信され、結果のステータスが確認され、[結果] ウィンドウの結果が更新されます。実行を開始してから ArcMap(または ArcGlobe や ArcScene)を終了するこの方法を使用する場合は、結果を保存して、後で確認するために、必ずマップ ドキュメントを保存してください。
同期タスクと非同期タスク
ジオプロセシング サービスとそのタスクは、同期と非同期のどちらかになります。同期とは、タスクがサーバ上で実行されている間はコンピュータが待機状態になることを意味します。非同期とは、ツールの実行が完了するのをコンピュータが待機する必要はなく、他のタスクを処理できることを意味します。
タスクを同期または非同期のどちらで実行するかを決定するのはサービスの公開者です。同期ツールとして公開するタスクは、迅速に実行され、出力データセットが小さいものだけにする必要があります。
サーバ ツールが同期であるか、非同期であるかを判断する方法は 2 つあります。
- ArcGIS for Server に対する管理権限がある場合は、カタログ ウィンドウでサーバを参照し、ジオプロセシング サービスを右クリックしてから [サービス プロパティ] をクリックします。ツールの実行タイプが [パラメータ] タブに表示されます。
- ツールを実行し、書き出されるメッセージを確認します。非同期サービスを実行した場合、最初に書き出されるメッセージは [サーバ メッセージ] です。このタイプのジオプロセシング サービスは、ArcMap で常にバックグラウンド処理として実行されます。同期ツールは [実行中] と表示して開始されます。次に示す 2 つの結果は、非同期と同期で実行されています(GIS サーバ管理者による設定)。
ArcMap 内で非同期ツールを実行し、ツールの結果のマップへの追加を有効にしている場合、レイヤはマップに追加されますが、表示されません(オンの状態)。これは、いつツールの実行が終了し、描画する出力が作成されるのかが ArcMap にはわからないためです。
非同期ツールの実行が終了しても、自動的には通知されません。非同期ツールの進行状況は、[結果] ウィンドウで確認することができます。ツールの実行中は、結果の隣に砂時計が表示されます。結果を右クリックして [キャンセル] をクリックすると、実行をキャンセルすることができます。タスクが完了すると、[完了] を示すメッセージが表示され、結果のタスク名の横にツールのアイコンが表示されます。