新たなビジネスが開始された場合、新たな住宅団地が建設された場合、新たな道路が敷設された場合など、住所データと場所データは常に変化します。 位置データは絶えず変化しているため、組織の最新のデータを取得することが重要となります。 最新の住所データまたは場所データ (参照データ) を取得したら、ロケーターを適宜更新して、組織が常に最新のデータに対して検索を実行できるようにすることができます。
参照データの更新
市の自治体は新たに建設された住宅団地の新しい一連の区画を参照データに追加したいと考えており、郵便局は新しい住宅団地に郵便を配達するためのルートを決める必要があります。 新しい区画をフィーチャクラスに追加するだけでは、ロケーターは自動的に更新されません。 ロケーターを作成すると必ず、作成時の参照データのスナップショットがそのロケーターに含まれます。 参照データに変更を加えたら、ロケーターを再作成して、その変更を反映させることができます。 ロケーターを再作成しないと、ジオコーディングは引き続き既存のロケーターで実行されます。 この場合、そのロケーターの作成された時点の参照情報の状態に基づいて、ジオコーディング結果が作成されます。
リリースごとにロケーターのルールと現地情報が変更されるため、ソフトウェアを最新の状態にすることも重要となります。 最適なジオコーディング操作と結果を確保するために、リリースごとにロケーターを再作成する必要があります。
新しいデータを使用したロケーターの更新
ロケーターを更新して最新の参照データを反映させる方法には、2 通りの方法があります。 現地でデータを更新して [住所ロケーターの再構築 (Rebuild Address Locator)] ツールを実行するか、[ロケーターの作成 (Create Locator)] ツールを使用して新しいロケーターを作成することができます。 処理を自動化するには、ModelBuilder 内のモデルを使用するか、[カタログ] ウィンドウのプロジェクト履歴からツールを再実行するか、Python スクリプトを使用します。
注意:
ArcGIS Enterprise ジオデータベース内でバージョン対応データを使用している場合は、選択したバージョンのデータに対してロケーターを作成できます。 ロケーターを再構築すると、当初ロケーターに対して使用されていたのと同じバージョンのデータベースに基づいて再構築されます。
ローカル ロケーターの更新
現地でデータを管理している場合は、名前が同じ既存のロケーターを再作成する [ロケーターの作成 (Create Locator)] ツールまたは [住所ロケーターの再構築 (Rebuild Address Locator)] ツールを実行すると、ロケーターが更新され、最新の参照データが反映されます。 関連テーブルをすべて更新したら、[住所ロケーターの再構築 (Rebuild Address Locator)] ツールを実行できます。これで、最新のデータを含む新しいロケーターが作成されます。 [住所ロケーターの再構築 (Rebuild Address Locator)] ツールを使用する場合は、元のロケーターとまったく同じ参照データのパス、フィールドの割り当て、テーブルが維持されていることが必要となります。 別のユーザーまたはアプリケーションがロケーターを使用している場合、そのロケーターはロックされるので、再構築することができません。 このため、組織内の共有デバイスで共有する前に、ロケーターをローカルに再構築しておくことをお勧めします。 また、ネットワーク ドライブ上でロケーターを共有している場合は、ロケーター パッケージを使用することをお勧めします。 ロケーター パッケージを使用すると、ユーザーごとにロケーターが解凍され、組織のメンバーのいずれかがロケーターを使用している場合、そのロケーターはロックされません。
また、テーブルを追加する場合やフィールドの割り当てを更新する場合は、常に [ロケーターの作成 (Create Locator)] ツールまたは [フィーチャ ロケーターの作成 (Create Feature Locator)] ツールを使用して新しいロケーターを作成できます。 この場合には、最新の参照データに基づいてロケーターが作成されるため、フィールドの割り当てを調整するか、別の参照データ テーブルを追加して、ジオコーディングの精度を上げることができます。 ローカルに格納されている既存のロケーターとコンポジット ロケーターを最新の参照データで更新する方法について、以下の手順を使用して説明します。
ロケーターの更新
既存のロケーターを更新する場合の推奨手順を次に説明します。
- ロケーターの構築に使用される参照データを更新します。
- [履歴] ウィンドウ、ModelBuilder モデル、または Python スクリプトから [ロケーターの作成 (Create Feature Locator)] ツールまたは [フィーチャ ロケーターの作成 (Create Feature Locator)] ツールを再び実行し、このツールを使用してロケーターを再作成します。
必要に応じて、スキーマ ロック エラーを避けるためにプロジェクトからロケーターを削除し、データが更新されたロケーターを [住所ロケーターの再構築 (Rebuild Address Locator)] ツールに追加して、ツールを実行します。
- 再構築されたロケーターが新しい住所および場所の結果を返すことを確認します。
コンポジット ロケーターの更新
[住所ロケーターの再構築 (Rebuild Address Locator)] ツールを使用してコンポーネント ロケーターを再構築することはできないため、コンポジット ロケーターの参加するロケーターを更新して、コンポジットを最新の状態に保つ必要があります。
既存のコンポジット ロケーターを更新するには、次の手順を実行します。
- 参加するロケーターの構築に使用される参照データを更新します。
- [履歴] ウィンドウ、ModelBuilder モデル、または Python スクリプトから [ロケーターの作成 (Create Feature Locator)] ツールまたは [フィーチャ ロケーターの作成 (Create Feature Locator)] ツールを再び実行し、このツールを使用してロケーターをそれぞれ再作成します。
必要に応じて、スキーマ ロック エラーを避けるためにプロジェクトからロケーターを削除し、データが更新されたロケーターを [住所ロケーターの再構築 (Rebuild Address Locator)] ツールに追加して、ツールを実行します。
- 再構築されたコンポジット ロケーターが新しい住所および場所の結果を返すことを確認します。
ロケーター サービスの更新
注意:
- [上書き] オプションを使用すると、「ジオコード サービスの上書き」に記載された手順を使用して、スタンドアロンの ArcGIS Server の配置で公開されている既存のジオコード サービスを上書きできます。 また、[ロケーターの上書き] オプションを使用すると、「ロケーターの上書き」に記載された手順を使用して、ArcGIS Enterprise ポータルにある既存のロケーターを上書きできます。
- ArcGIS Enterprise 10.6.1 以降の [ロケーターの作成 (Create Locator)] ツールで構築されたロケーター サービスの更新処理は、ArcGIS Online からダウンロードできるジオコーディング サービスの更新スクリプトを使用して自動化できます。
サーバー上でロケーター サービスを更新する前に、ロケーターをローカルに更新しておくことが必要です。
データ ストアを使用したロケーター サービスの更新
次のワークフローを使用して、サーバー上にデータ ストアとして登録されたフォルダーを使用するときにロケーター サービスまたはコンポジット ロケーター サービスを更新できます。 Python スクリプトを使用してロケーターが公開されている場合、copy_data_to_server 引数が False に設定されたことを前提にしています。これが推奨されるワークフローです。
ロケーター サービスの更新
次の手順では、すでにロケーターの作成を完了し、データ ストアを使用してロケーターを公開していることを前提にしています。 完了していない場合は、以下に示す更新を実行する前に完了する必要があります データ ストアとして登録されたフォルダーを使用するときにロケーター サービスを更新するには、次の手順を実行します。
- ロケーターの構築に使用される参照データを更新します。
- [履歴] ウィンドウ、ModelBuilder モデル、または Python スクリプトから [ロケーターの作成 (Create Feature Locator)] ツールまたは [フィーチャ ロケーターの作成 (Create Feature Locator)] ツールを再び実行し、このツールを使用してローカルにロケーターを再作成します。
必要に応じて、スキーマ ロック エラーを避けるためにプロジェクトからロケーターを削除し、データが更新されたロケーターを [住所ロケーターの再構築 (Rebuild Address Locator)] ツールに追加して、ツールを実行します。
- サーバーのロケーター サービスを停止します。
- 更新されたロケーターをローカル コンピューターからデータ ストアとして登録されたサーバー上のディレクトリにコピーします。
- サービスを開始します。
- 更新したロケーター サービスがサービスの REST エンドポイントのいずれかで正常に動作していることを確認します。またはサービスを ArcGIS Pro に追加し、[場所検索ウィンドウ] でサービスを使用します。
コンポジット ロケーター サービスの更新
次の手順では、すでにコンポジット ロケーターの作成を完了し、データ ストアを使用してロケーターを公開していることを前提にしています。 完了していない場合は、以下に示す更新を実行する前に完了する必要があります データ ストアとして登録されたフォルダーを使用するときにコンポジット ロケーター サービスを更新するには、次の手順を実行します。
- 参加するロケーターの構築に使用される参照データを更新します。
- [履歴] ウィンドウ、ModelBuilder モデル、または Python スクリプトから [ロケーターの作成 (Create Feature Locator)] ツールまたは [フィーチャ ロケーターの作成 (Create Feature Locator)] ツールを再び実行し、このツールを使用して参加するロケーターをそれぞれ再作成します。
必要に応じて、スキーマ ロック エラーを避けるためにプロジェクトからロケーターを削除し、データが更新されたロケーターを [住所ロケーターの再構築 (Rebuild Address Locator)] ツールに追加して、ツールを実行します。
- サーバーのコンポジット ロケーター サービスを停止します。
- 更新された参加するロケーターをローカル コンピューターからデータ ストアとして登録されたサーバー上のディレクトリにコピーします。
- サービスを開始します。
- 更新したコンポジット サービスがサービスの REST エンドポイントのいずれかで正常に動作していることを確認します。またはサービスを ArcGIS Pro に追加し、[場所検索ウィンドウ] でサービスを使用します。
サーバーにコピーされるロケーター サービスの更新
次のワークフローを使用して、公開時にサーバーにコピーされるロケーター サービスまたはコンポジット ロケーター サービスを更新できます。 Python スクリプトを使用してロケーターが公開されている場合、copy_data_to_server 引数が True に設定されたことを前提にしています。
ロケーター サービスの更新
公開時にサーバーにコピーされるロケーター サービスを更新するには、次の手順を実行します。
- ロケーターの構築に使用される参照データを更新します。
- [履歴] ウィンドウ、ModelBuilder モデル、または Python スクリプトから [ロケーターの作成 (Create Feature Locator)] ツールまたは [フィーチャ ロケーターの作成 (Create Feature Locator)] ツールを再び実行し、このツールを使用してローカルにロケーターを再作成します。
必要に応じて、スキーマ ロック エラーを避けるためにプロジェクトからロケーターを削除し、データが更新されたロケーターを [住所ロケーターの再構築 (Rebuild Address Locator)] ツールに追加して、ツールを実行します。
- 既存のロケーター サービスを更新されたロケーターを参照するローカル ロケーターで上書きします。
必要に応じて、この手順を自動化するには、CreateGeocodeSDDraft 関数からのサンプル コードを使用し、overwrite_existing_service 引数を True に設定します。
- 更新したロケーター サービスがサービスの REST エンドポイントのいずれかで正常に動作していることを確認します。またはサービスを ArcGIS Pro に追加し、[場所検索ウィンドウ] でサービスを使用します。
コンポジット ロケーター サービスの更新
次の手順では、すでにコンポジット ロケーターを作成していることを前提にしています。 完了していない場合は、以下に示す更新を実行する前に完了する必要があります 公開時にサーバーにコピーされるコンポジット ロケーター サービスを更新するには、次の手順を実行します。
- 参加するロケーターの構築に使用される参照データを更新します。
- [履歴] ウィンドウ、ModelBuilder モデル、または Python スクリプトから [ロケーターの作成 (Create Feature Locator)] ツールまたは [フィーチャ ロケーターの作成 (Create Feature Locator)] ツールを再び実行し、このツールを使用して参加するロケーターをそれぞれ再作成します。
必要に応じて、スキーマ ロック エラーを避けるためにプロジェクトから参加するロケーターを削除し、データが更新されたロケーターを [住所ロケーターの再構築 (Rebuild Address Locator)] ツールに追加して、ツールを実行します。
- 既存のコンポジット サービスを更新された参加するロケーターを参照するローカル コンポジット ロケーターで上書きします。
この手順を自動化するには、CreateGeocodeSDDraft 関数からのサンプル コードを使用し、overwrite_existing_service 引数を True に設定します。
- 更新したコンポジット サービスがサービスの REST エンドポイントのいずれかで正常に動作していることを確認します。またはサービスを ArcGIS Pro に追加し、[場所検索ウィンドウ] でサービスを使用します。
この手順では、ロケーター サービスのダウンタイムが最小限に抑えられます。 ロケーター サービスを更新する手順の実行中にたった 1 回サービス中断が発生するのは、新しいロケーターを適切なサーバー フォルダーにコピーしている間です。 この手順の中で最も時間を要するのは、更新した参照データに基づいて新しいロケーターを作成するステップです。このソリューションでは、元のロケーター サービスがまだ実行されている場合にディスク上で発生します。