要件
ArcGIS Enterprise のデプロイメントがある場合、サーバー側で非同期バッチ ジオコーディング パターンを使用することで、ロケーター サービスから最大限のパフォーマンスを引き出すことができます。 この方法では、ユーザーがポータルに公開したロケーターを操作します。 ロケーターの作成およびロケーターのポータルへの共有の詳細については、「ロケーターの作成」および「ロケーターの共有」をご参照ください。
メリット
ArcGIS Enterprise の機能を利用して、公開済みのロケーターを最大限に活用することができます。 ロケーターがポータルで共有されたら、そのロケーターを使用してバッチ ジオコーディングを実行できます。 ポータルでバッチ ジオコーディングを実行することの利点には次のようなものがあります。
- サーバーのリソースを最大限に増やし、バッチ ジオコーディング ジョブをできるだけ迅速に実行します。
- ArcGIS 管理者は、サービスに過負荷をかけずにバックエンド リソースを管理できるようになります。
- データと独自の公開済みロケーターを使用して、組織のファイアウォールの内側で大規模なバッチ ジオコーディングを実行します。
- 大量のバッチ ジオコーディング ジョブが失敗しないように、チャンク処理およびリトライ ロジックが組み込まれています。
アーキテクチャ
公開済みロケーター サービスを最大限に活用するには、ジオコード サーバーのリソースを増強します。 ArcGIS Enterprise Manager でこれを行うことができます。
上記の図で、管理者はロケーター サービスのインスタンスを 4 つに増強しました。 管理者は、ロケーターのバッチ ジオコーディング スレッド数を 4 に設定して、バッチ ジオコーディングのパフォーマンスを 4 倍に向上させることができます。 管理者は [組織] タブに移動し、[設定] > [ユーティリティ サービス] をクリックして、[ジオコーディング] までスクロールすることで、ポータルのホーム ページにあるバッチ ジオコーディング スレッド数のプロパティを設定できます。 利用可能なジオコーディング インスタンスが 4 つあり、2 人のユーザーが同時にバッチ ジオコーディングを実行する場合、管理者はバッチ ジオコーディング スレッドの数を 2 に設定する必要があり、そうでない場合、ジョブがキューに入ってしまい、別のジョブが終了するのを待機する間にタイムアウトする可能性があります。 この方法で、各バッチ ジオコーディング ジョブを 2 つのロケーター インスタンスに対して実行し、バックエンドのロケーター サービスは複数のジョブを同時に送信する負荷を処理できます。
構成
ロケーターの組織への共有が完了したら、管理者は、次の手順に従って、上記の非同期バッチ ジオコーディング パターンを使用するようにポータルを構成できます。
バッチ ジオコーディングのタイムアウトの延長
デフォルトでは、GeocodingTools ジオプロセシング サービスのジョブは 200 分を超えるとタイムアウトになります。 バッチ ジオコーディング ジョブの所要時間が 3 時間 20 分を超えることが予測される場合は、クライアントがサービスを使用できる最大時間を延長する必要があります。
- 管理者として ArcGIS Enterprise Manager にサイン インします。
- [サービス] ボタンをクリックして [サービス] ページに移動します。
- [ユーティリティ サービス] タブをクリックします。
- [GeocodingTools] ジオプロセシング サービスをクリックします。
- [設定] ページをクリックします。
- [サービス時間] セクションで [クライアントがインスタンスを使用できる最大時間] の値を更新します。 この値を非常に大きな数まで増やすと、大規模なバッチ ジオコーディング ジョブがタイムアウトすることがなくなります。
- [保存] をクリックします。
ロケーターのバッチ ジオコーディング スレッドの推奨数の構成
組織に公開されているすべてのロケーターは、GeocodingTools ジオプロセシング サービスでも使用できます。 GeocodingTools サービスは複数の同時リクエストをジオコーディング ユーティリティ サービスに送信して、バッチ ジオコーディングの全体的な実行速度を高めることができます。 ポータル管理者は、ジオプロセシング サービスが送信する同時リクエストの数 (バッチ ジオコーディング スレッド数) を構成できます。 バッチ ジオコーディング スレッド数を正しい値に設定することが重要です。正しい値に設定されていない場合、バッチ ジオコーディング時の障害が増加します。
ベスト プラクティスとして、ジオコード サービスで使用可能なインスタンス数に合わせて、バッチ ジオコーディング スレッド数を設定する必要があります。 たとえば、ジオコード サービスで使用できるインスタンスが 8 つある場合、バッチ ジオコーディング スレッド数を 8 に設定します。 ジオプロセシング サービスは、実行時に 8 つの同時バッチ ジオコーディング リクエストをロケーター サービスに送信します。 ロケーター サービスでこれより多くのインスタンスを使用できる場合は、バッチ ジオコーディング スレッド数を適宜調整して、ロケーター サービスのインスタンスを最大限に活用する必要があります。 ただし、2 人のユーザーが同じサービスに対して同時にバッチ ジオコーディングを実行する場合、管理者はバッチ ジオコーディング スレッド数を 4 に設定することで、各ユーザーが使用可能なジオコード サービス インスタンスの半数を使用し、バックエンドのジオコード サービスがリクエストによって過負荷に陥らないようにします。
ArcGIS World Geocoding Service のバッチ ジオコーディング スレッドを構成することはできません。 次の構成は、ユーティリティ サービスとして構成されている他のすべての公開済みロケーターに適用されます。
ロケーターのバッチ ジオコーディング スレッド数を設定するには、次の手順を実行します。
- ArcGIS Pro を使用して、目的のロケーターをポータルに公開します。
- 管理者としてポータルにサイン インします。
- [コンテンツ] をクリックし、ロケーターが組織と共有されていることを確認します。
- [組織] をクリックし、[設定] の下にある [ユーティリティ サービス] を参照します。
- [ジオコーディング] セクションまでスクロールして、[ロケーターの追加] をクリックします。 バッチ ジオコーディング用に構成するロケーターを選択し、[バッチ ジオコーディング スレッドの数] の値を調整します。
- [OK] をクリックして、[保存] をクリックします。
注意:
バッチ ジオコーディング スレッド数は、ロケーターで使用可能なインスタンス数以下である必要があります。 それより大きな値を選択すると、バッチ ジオコーディング ジョブが失敗する場合があります。
バッチ ジオコーディングに対応したツール
管理者がロケーターごとのバッチ ジオコーディング スレッド数を構成することで、ユーザーのバッチ ジオコーディング ジョブのパフォーマンスが向上します。 このパフォーマンス向上でプラスの影響を受けるツールは、ArcGIS Pro の [テーブルのジオコーディング]、[テーブルから場所をジオコーディング]、および [ファイルのジオコーディング]、Map Viewer の [テーブルから場所をジオコーディング] です。