Skip To Content

バッチ ジオコーディング ツールの構成

要件

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

メリット

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

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

アーキテクチャ

公開済みロケーター サービスを最大限に活用するには、ジオコード サーバーのインスタンス数を増強します。 ArcGIS Server Manager でこれを行うことができます。

numBatchThreads の追加

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

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

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

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

構成

ロケーターの組織への共有が完了したら、管理者は、次の手順に従って、上記の非同期バッチ ジオコーディング パターンを使用するようにポータルを構成できます。

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

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

  1. ホスティング サーバーの ArcGIS Server Manager を参照します。
  2. ArcGIS Server Manager のディレクトリ内の [Utilities] フォルダーをクリックします。
  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 に設定することで、各ユーザーが使用可能なジオコード サービス インスタンスの半数を使用し、バックエンドのジオコード サービスがリクエストによって過負荷に陥らないようにします。

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

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

  1. ArcGIS Pro を使用して、目的のロケーターをポータルに公開します。
  2. 管理者としてポータルにサイン インします。
  3. [コンテンツ] をクリックし、ロケーターが組織と共有されていることを確認します。
  4. [組織] をクリックし、[設定] の下にある [ユーティリティ サービス] を参照します。
  5. [ジオコーディング] セクションまでスクロールして、[ロケーターの追加] をクリックします。 バッチ ジオコーディング用に構成するロケーターを選択し、[バッチ ジオコーディング スレッドの数] の値を調整します。
  6. [OK] をクリックして、[保存] をクリックします。
  7. ホスティング サーバーの ArcGIS Server Manager を参照します。
  8. ArcGIS Server Manager のディレクトリ内の [ユーティリティ] フォルダーをクリックします。
  9. [GeocodingTools] ジオプロセシング サービスをクリックします。
  10. [保存して再起動] ボタンをクリックします。
注意:

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

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

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

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