[ロケーターの作成 (Create Locator)] ツールを使用すると、複数の参照データ レイヤーとロールを単一のロケーターに結合して、一度に複数のタイプの位置を検索できます。
複数ロールのロケーター
複数ロールのロケーターは、複数の参照データ レイヤーとロケーター ロールで構成されています。 複数ロールのロケーターを使用して、多くのソースからの異なるジオメトリ タイプの複数のデータ レイヤーと複数のロケーター ロールを単一のロケーターに結合することができます。 これによって、単一のロケーターを使用して、屋根の位置、内挿された道路の位置、対象ポイント、郵便番号、行政区域を検索できます。 複数ロールのロケーターを作成すると、冗長な情報と候補が削減されるため、パフォーマンスを高め、ディスク上のロケーターのサイズを削減することができます。
複数ロールのロケーターによる重複するジオコード結果の最小化
[ロケーターの作成 (Create Locator)] ツールは、ロケーターを構築するために使用される参照データから詳細情報を抽出します。 そのため、候補とジオコード結果で重複するジオメトリを最小限にしたり、不確実な候補をスキップしたりするための複数ロールのロケーターを構築できます。 重複を最小限にするためのプロセスにより、ロケーターのサイズが減少し、ロケーターのパフォーマンスを高め、候補の並べ替えに役立ちます。 コンポジット ロケーターにはこのような機能はなく、同じ場所に対して重複する候補を返します。
たとえば、上記のデータを使用して、ポイント住所ロールとストリート住所ロールに基づく 2 つの個別のロケーターを備えた SanDiegoComposite という名前のコンポジット ロケーターを作成します。 ポイント住所ロールとストリート住所ロールに基づく複数ロールのロケーターは、SanDiegoMultiroleZip という名前の両方のロールに対して作成されます。 [検索] ウィンドウでの「15815 Cope Rd, 92065」の検索結果を以下に示します。
その他のロールの参照データからの欠落している属性の復元
複数ロールのロケーターを使用して、ロケーターに指定された各ロールで使用されている参照データで入手できない、欠落している属性を復元できます。 複数ロールのロケーターを構築する際、欠落している属性を復元するために[ロケーターの作成 (Create Locator)] ツールが使用する手法は 2 つあります。異なるロール間での属性をリンクするための ID を使用する方法と、ポリゴン データを使用する行政区域の空間リンクを使用する方法です。
[結合 ID] フィールドを使用した異なるロールの同じ属性のリンク
複数ロールのロケーターを作成すると、同じ ID を持つフィーチャの参照データ レイヤーとロールの間で欠落している属性を復元できます。 この機能は、1 つのロールの特定の ID の参照データで対応するフィールド値が欠落しているが、異なるロールの参照データでは同じ ID の対応するフィールド値が存在する場合に、実行されます。 これは、参照データ全体を通じて、同じ ID の同じ値が同じフィーチャに割り当てられることを前提としています。 ポイント住所ロール用に使用される以下のデータでは、Yosemite Blvd の都市名が欠落しているため、一致した結果を返さないか、このレコードの出力に都市名が含まれません。
ただし、同じ CityID の対応する都市値を含む都市の境界に関する参照データがあり、都市ロールをロケーターに追加している場合は、[ロケーターの作成 (Create Locator)] ツールが都市参照データとポイント住所参照データで同じ CityID 値を使用して、ポイント住所レコードの Waterford を復元します。
結果として、複数ロールのロケーターで入力住所 12725 Yosemite Blvd, Waterford はスコア 100 で一致し、欠落している都市名が出力に追加されます。
注意:
プライマリ参照データの ObjectID フィールドの値は、ロケーターを構築するときに、異なるロール間で属性をリンクする ID として使用してはなりません。 ObjectID フィールドの値を使用するとロケーターのサイズが大きくなり、バッチ ジオコーディングの性能とジオコーディング品質が低下します。
欠落している行政区域名を復元するための空間リンクの使用
欠落している行政区域名は、対応する行政区域の参照データがポリゴン フィーチャであり、行政区域ロールが複数ロールのロケーターに追加されている場合に、空間的に復元して、住所ロケーターに追加することができます。 [ロケーターの作成 (Create Locator)] ツールは、空間計算を使用して、どの行政区域ポリゴンに各住所が含まれているかを判別し、対応する行政区域名を各住所に自動的に割り当てます。
たとえば、以下の参照データを使用し、ポイント住所ロールに基づいてロケーターを構築している場合は、Yosemite Blvd のレコードで再び都市値が欠落しています。 ただし、今度は、前出のセクションで説明した、データを相互にリンクするための ID を含む CityID フィールドがありません。 ただし、ポリゴン フィーチャを参照する都市ロールがロケーターに追加されている場合、ポイント住所ロールの都市値は空間的に復元できます。
Yosemite Blvd のポイントは Waterford 都市に定義されたポリゴン上に位置しているため、元の PointAddress フィーチャクラスの空の都市名の代わりにこの値が追加されます。 その結果、複数ロールのロケーターで入力住所 12725 Yosemite Blvd, Waterford をスコア 100 で一致させ、欠落している都市名を出力に追加することができます。
注意:
[ロケーターの作成 (Create Locator)] ツールを使用してロケーターを構築する場合は、結合 ID による値の復元の方が、空間計算より優先順位が高くなります。 結果として、結合 ID が参照データ内で使用可能で、複数ロールのロケーターに関与するロールによって使用されている場合、空間計算は実行されません。
コンポジット ロケーターのユース ケース
複数ロールのロケーターでは、特定のワークフローに適していない場合があります。 特に、ロケーターが同じタイプのロールが必要な複数の参照データ レイヤーを必要としており、参照データを単一のデータセットに結合できない場合に、その状況が生じることがあります。 この場合、複数の個別のロケーターを作成して、それらをコンポジット ロケーターに結合することができます。 コンポジット ロケーターの詳細については、「複数のロケーターのコンポジット ロケーターへの結合」をご参照ください。