[ロケーターの作成 (Create Locator)] ツールを使用すると、複数の参照データ レイヤーとロールを単一のロケーターに結合して、一度に複数のタイプの位置を検索できます。
複数ロールのロケーター
複数ロールのロケーターは、複数の参照データ レイヤーとロケーター ロールで構成されています。複数ロールのロケーターを使用して、多くのソースからの異なるジオメトリ タイプの複数のデータ レイヤーと複数のロケーター ロールを単一のロケーターに結合することができます。これによって、単一のロケーターを使用して、屋根の位置、内挿された道路の位置、対象ポイント、郵便番号、行政区域を検索できます。複数ロールのロケーターを作成すると、冗長な情報と候補が削減されるため、パフォーマンスを高め、ディスク上のロケーターのサイズを削減することができます。
複数ロールのロケーターによる重複するジオコード結果の最小化
[ロケーターの作成 (Create Locator)] ツールは、ロケーターを構築するために使用される参照データを最大限活用するように設計されています。このため、候補とジオコード結果で重複するジオメトリを最小限にしたり、不正確な候補をスキップしたりするためのロケーターを構築する際に、データを重複排除する複数ロールのロケーターを構築できます。この重複排除プロセスは、ロケーターのサイズを減少させ、ロケーターのパフォーマンスを高め、候補の並べ替えを円滑にするために役立ちます。コンポジット ロケーターにはこのような長所はなく、同じ場所に対して重複する候補を返します。
たとえば、上記のデータを使用して、ポイント住所ロールとストリート住所ロールに基づく 2 つの個別のロケーターを備えた SanDiegoComposite という名前のコンポジット ロケーターを作成します。ポイント住所ロールとストリート住所ロールに基づく複数ロールのロケーターは、両方のロールの Street Join ID ロケーター フィールドにマッピングされた参照データからの ROADSEGID を使用して、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 が参照データ内で使用可能で、複数ロールのロケーターに関与するロールによって使用されている場合、空間計算は実行されません。
複数ロールのロケーターの代わりにコンポジット ロケーターが使用される場合
複数ロールのロケーターでは、特定のワークフローのニーズを満たせない場合があります。特に、ロケーターが同じタイプのロールが必要な複数の参照データ レイヤーを必要としており、参照データを単一のデータセットに結合できない場合に、その状況が生じることがあります。この場合、複数の個別のロケーターを作成して、それらをコンポジット ロケーターに結合することができます。コンポジット ロケーターの詳細については、「複数のロケーターのコンポジット ロケーターへの結合」をご参照ください。