Skip To Content

ポータルでのバッチ ジオコーディングのベスト プラクティス

要件

ArcGIS Enterprise が導入されている場合に、サーバー側で非同期バッチ ジオコーディング パターンを使用することで、ロケーター サービスから最大限のパフォーマンスを引き出すことができます。この方法では、ユーザーがポータルに公開したロケーターを操作します。ロケーターの作成およびロケーターのポータルへの共有の詳細については、「ロケーターの作成」および「ロケーターのポータルへの共有」をご参照ください。

メリット

ArcGIS Enterprise の機能を利用して、公開済みのジオコーディング サービスを最大限に活用することができます。ロケーターがポータルで共有されたら、そのロケーターを使用してバッチ ジオコーディングを実行できます。ポータルでバッチ ジオコーディングを実行することの利点には次のようなものがあります。

  • サーバーのリソースを最大限に増やし、バッチ ジオコーディング ジョブをできるだけ迅速に実行します。
  • ArcGIS 管理者は、サービスに過負荷をかけずにバックエンド リソースを管理できるようになります。
  • データと独自の公開済みロケーターを使用して、組織のファイアウォールの内側で大規模なバッチ ジオコーディングを実行します。
  • 大量のバッチ ジオコーディング ジョブが失敗しないように、チャンク処理およびリトライ ロジックが組み込まれています。

アーキテクチャ

公開済みロケーター サービスを最大限に活用するには、ジオコード サーバーのインスタンス数を増強します。ArcGIS Server Manager を使用してエクステンションを配置できます。

numBatchThreads の追加

上記の図で、ArcGIS 管理者はロケーター サービスのインスタンスを 4 つに増強しました。組織の ArcGIS 管理者は、ロケーターのバッチ ジオコーディング スレッド数を 4 に設定して、バッチ ジオコーディングのパフォーマンスを 4 倍に向上させることができます。管理者は [組織] タブに移動し、[設定] > [ユーティリティ サービス] をクリックして、[ジオコーディング] までスクロールすることで、ポータルのホーム ページにあるバッチ ジオコーディング スレッド数のプロパティを設定できます。利用可能なジオコーディング インスタンスが 4 つあり、2 人のユーザが同時にバッチ ジオコーディングを実行する場合、ArcGIS 管理者はバッチ ジオコーディング スレッドの数を 2 に設定する必要があり、そうでない場合、ジョブがキューに入ってしまい、別のジョブが終了するのを待機する間にタイムアウトする可能性があります。この方法で、各バッチ ジオコーディング ジョブを 2 つのロケーター インスタンスに対して実行し、バックエンドのロケーター サービスは複数のジョブを同時に送信する負荷を処理できます。

ハードウェアに関する推奨事項

ジオコーディング サービスのパフォーマンスを最大限に引き出すためには、ジオコーディング サービスをホストするサーバー コンピューターに対して、以下を推奨しています。

  • (仮想コンピューターではなく) 物理コンピューターであること。
  • (Wi-Fi ではなく) イーサネットを介してネットワークに接続していること。
  • SSD ドライブに ArcGIS Server がインストールされていること。
  • 複数コンピューターのサイトでは、ネットワーク共有を使用せず、各コンピューターに対してロケーターを公開します。

構成

ロケーターの ArcGIS Enterprise への共有が完了したら、次の手順では、ArcGIS 管理者が上記の非同期バッチ ジオコーディング パターンを利用するようにポータルを構成する方法について説明します。

バッチ ジオコーディング時に詳細なフィードバックに関するログを追加

メモ:

ArcGIS Enterprise10.8.1 以降は、ユーザーがメッセージ レベルを変更することはできません。最高のパフォーマンスを得るには、メッセージ レベルをデフォルト値の [警告] のままにします。

デフォルトでは、GeocodingTools ジオプロセシング サービスのメッセージ レベルは、[警告] に設定されます。より詳細なエラー メッセージ、およびバッチ ジオコーディング ジョブのステータスに関するより適切な最新情報 (完了率など) を得るために、GeocodingTools ジオプロセシング サービスのログ レベルを [情報] に設定できます。

メモ:

ログ レベルを [情報] に変更すると、特に複数コンピューターの ArcGIS Server サイトでパフォーマンスが大幅に低下する可能性があります。最高のパフォーマンスを得るには、ログ レベルを [警告] のままにします。

  1. ホスティング サーバーの ArcGIS Server Manager を参照します。
  2. ArcGIS Server Manager のディレクトリ内の [ユーティリティ] フォルダーをクリックします。
  3. [GeocodingTools] ジオプロセシング サービスをクリックします。
  4. 左にある [パラメーター] バナーをクリックして、[メッセージ レベル][情報] に変更します。
  5. 右上隅にある [保存して再起動] ボタンをクリックします。

ログ レベルを [情報] に変更すると、ジョブの進行状況に関するフィードバックがより適切になり、エラーが発生した場合に、それに関する情報が詳細になります。ArcGIS Pro[テーブルのジオコーディング (Geocode Table)][テーブルから場所をジオコーディング (Geocode Locations From Table)]、および [ファイルのジオコーディング (Geocode File)] ツールで有効です。

バッチ ジオコーディングのタイムアウトの延長

デフォルトでは、GeocodingTools ジオプロセシング サービスのジョブは 200 分を超えるとタイムアウトになります。バッチ ジオコーディング ジョブの所要時間が 3 時間 20 分を超えることが予測される場合は、クライアントがサービスを使用できる最大時間を延長します。

  1. ホスティング サーバーの ArcGIS Server Manager を参照します。
  2. ArcGIS Server Manager のディレクトリ内の [ユーティリティ] フォルダーをクリックします。
  3. [GeocodingTools] ジオプロセシング サービスをクリックします。
  4. 左側の [プール] バナーをクリックし、クライアントがサービスを使用できる最大時間を変更します。この値を非常に大きな数まで増やすと、大規模なバッチ ジオコーディング ジョブがタイムアウトすることがなくなります。
  5. 右上隅にある [保存して再起動] ボタンをクリックします。

ジオコーディング サービスのスケール アップ

ArcGIS Server コンピューターのコア数に応じて、ジオコーディング サービスの配置をスケール アップできます。ArcGIS Server コンピューターに 8 つの物理コアがあり、コンピューターをバッチ ジオコーディングのみに使用する場合、[コンピューターごとのインスタンスの最小数] および [コンピューターごとのインスタンスの最大数] パラメーターを 8 に設定することで、バッチ ジオコーディングの速度を 8 倍に向上させることができます。ただし、ジオコーディング サービスをホストしている ArcGIS Server コンピューターが仮想コンピューター (VM) である場合は、コンピューター上の仮想コアの半数までスケール アップすることをお勧めします。このため、VM に 8 つの仮想コアがある場合、ジオコーディング サービスのインスタンス数を 4 にスケール アップすることをお勧めします。

  1. ホスティング サーバーの ArcGIS Server Manager を参照します。
  2. ArcGIS Server Manager ディレクトリ内のフォルダーにジオコーディング サービスを公開した場合は、フォルダー名をクリックします。デフォルトでは、[サイト (ルート)] に公開されます。
  3. スケール アップするジオコーディング サービスをクリックします。
  4. 左側の [プール] バナーをクリックし、[コンピューターごとのインスタンスの最小数] および [コンピューターごとのインスタンスの最大数] パラメーターを目的のインスタンス数 (両方とも同じ値) に変更します。ジオコーディング サービスの場合、常に正しいインスタンス数がジオコーディングに使用できるよう、これら 2 つの値を同じ値に設定しておく必要があります。
  5. 右上隅にある [保存して再起動] ボタンをクリックします。

ロケーターのバッチ ジオコーディング スレッドの推奨数の構成

ポータルに公開されているすべてのロケーターは、フェデレーション GIS Server サイトで実行される GeocodingTools ジオプロセシング サービスでも使用できます。このジオプロセシング サービスは複数の同時リクエストをジオコーディング ユーティリティ サービスに送信して、バッチ ジオコーディングの全体的な実行速度を高めることができます。ポータル管理者は、ジオプロセシング サービスが送信する同時リクエストの数 (バッチ ジオコーディング スレッド数) を構成できます。バッチ ジオコーディング スレッド数を正しい値に設定することが重要です。正しい値に設定されていない場合、バッチ ジオコーディング時の障害が増加します。

ベスト プラクティスとして、ジオコーディング サービスで使用可能なインスタンス数に合わせて、バッチ ジオコーディング スレッド数を設定する必要があります。たとえば、ジオコーディング サービスで使用できるインスタンスが 8 つあり、ArcGIS Server コンピューターがバッチ ジオコーディングにのみ使用されている場合、バッチ ジオコーディング スレッド数を 8 に設定します。ジオプロセシング サービスは、実行時に 8 つの同時バッチ ジオコーディング リクエストをロケーター サービスに送信します。ロケーター サービスでこれより多くのインスタンスを使用できる場合は、バッチ ジオコーディング スレッド数を適宜調整して、ロケーター サービスのインスタンスを最大限に活用する必要があります。ただし、2 人のユーザーが同じサービスに対して同時にバッチ ジオコーディングを実行する場合、管理者はバッチ ジオコーディング スレッド数を 4 に設定することで、各ユーザーが使用可能なジオコーディング サービス インスタンスの半数を使用し、バックエンドのジオコーディング サービスがリクエストによって過負荷に陥らないようにします。

Esri World Batch Geocoder のバッチ ジオコーディング スレッドを構成することはできません。次の構成は、ユーティリティ サービスとして構成されている他のすべての公開済みロケーター サービスに適用されます。

ロケーター サービスのバッチ ジオコーディング スレッド数を設定するには、次の手順を実行します。

  1. ArcGIS Pro を使用して、目的のジオコーディング サービスをポータルに公開します。
  2. 管理者としてポータルにサイン インします。
  3. [コンテンツ] をクリックし、ジオコーディング サービスが組織と共有されていることを確認します。
  4. [組織] をクリックし、[設定] の下にある [ユーティリティ サービス] を参照します。
  5. [ジオコーディング] セクションまでスクロールして、[ロケーターの追加] をクリックします。バッチ ジオコーディング用に構成するロケーターを選択し、[バッチ ジオコーディング スレッドの数] の値を調整します。
  6. [OK] をクリックし、ページ下部の [保存] をクリックします。
メモ:

バッチ ジオコーディング スレッド数は、ジオコーディング サービスで使用可能なインスタンス数以下である必要があります。それより大きな値を選択すると、バッチ ジオコーディング ジョブが失敗する場合があります。

バッチ ジオコーディング スレッドの数

バッチ ジオコーディングに対応したツール

ArcGIS 管理者がロケーターごとのバッチ ジオコーディング スレッド数を構成することで、ユーザーのバッチ ジオコーディング ジョブのパフォーマンスが向上します。このパフォーマンス向上でプラスの影響を受けるツールは、ArcGIS Pro[テーブルのジオコーディング (Geocode Table)][テーブルから場所をジオコーディング (Geocode Locations From Table)]、および [ファイルのジオコーディング (Geocode File)]Map Viewer[テーブルから場所をジオコーディング (Geocode Locations From Table)] です。