複数のデータ レイヤーの単一ロケーターへの結合

[ロケーターの作成 (Create Locator)] ツールを使用すると、複数の参照データ レイヤーとロールを単一のロケーターに結合して、一度に複数のタイプの位置を検索できます。

複数ロールのロケーター

複数ロールのロケーターは、複数の参照データ レイヤーとロケーター ロールで構成されています。複数ロールのロケーターを使用して、多くのソースからの異なるジオメトリ タイプの複数のデータ レイヤーと複数のロケーター ロールを単一のロケーターに結合することができます。これによって、単一のロケーターを使用して、屋根の位置、内挿された道路の位置、対象ポイント、郵便番号、行政区域を検索できます。複数ロールのロケーターを作成すると、冗長な情報と候補が削減されるため、パフォーマンスを高め、ディスク上のロケーターのサイズを削減することができます。

ヒント:

同じロールに関連付けられる、同一タイプのデータ レイヤーが複数ある場合は、データ レイヤーをマージまたはアペンドしてデータを 1 つのレイヤーに集約し、その単独レイヤーを複数ロールのロケーターの参照データ レイヤーとして使用します。

複数ロールのロケーターによる重複するジオコード結果の最小化

[ロケーターの作成 (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 の都市名が欠落しているため、ロケーターが都市名に一致する結果を返すか、このレコードの出力に都市名を含めることができません。

都市データに結合するための ID を含む CityID フィールドを備えた PointAddress データ

ただし、同じ CityID の対応する都市値を含む都市の境界に関する参照データがあり、都市ロールをロケーターに追加している場合は、[ロケーターの作成 (Create Locator)] ツールが都市参照データとポイント住所参照データで同じ CityID 値を使用して、ポイント住所レコードの Waterford を復元します。

都市名を PointAddress データの欠落している都市名に結合するための [結合 ID] フィールドを備えた都市データ

結果として、複数ロールのロケーターで入力住所 12725 Yosemite Blvd, Waterford はスコア 100 で一致し、欠落している都市名が出力に追加されます。

[結合 ID] リンクから追加された欠落している都市を含む複数ロールのロケーターの検索結果

メモ:

プライマリ参照データの ObjectID は、ロケーターを構築するときに、異なるロール間で属性をリンクする ID として使用してはなりません。ObjectID を使用するとロケーターのサイズが大きくなり、バッチ ジオコーディングの性能とジオコーディング品質が低下します。

欠落している行政区域名を復元するための空間リンクの使用

欠落している行政区域名は、対応する行政区域の参照データがポリゴン フィーチャであり、行政区域ロールが複数ロールのロケーターに追加されている場合に、空間的に復元して、住所ロケーターに追加することができます。[ロケーターの作成 (Create Locator)] ツールは、空間計算を使用して、どの行政区域ポリゴンに各住所が含まれているかを判別し、対応する行政区域名を各住所に自動的に割り当てます。

以下の参照データを使用し、ポイント住所ロールに基づいてロケーターを構築している場合は、Yosemite Blvd のレコードで再び都市値が欠落しています。ただし、今度は、前出のセクションで説明した、データを相互にリンクするための ID を含む CityID フィールドがありません。

[結合 ID] フィールドがなく、都市名値が欠落している PointAddress データ
ただし、ポリゴン フィーチャを参照する都市ロールがロケーターに追加されている場合、ポイント住所ロールの都市値は空間的に復元できます。

都市名を PointAddress データの欠落している都市名に空間的に結合するための [結合 ID] フィールドがない都市データ

Yosemite Blvd のポイントは Waterford 都市に定義されたポリゴン上に位置しているため、元の PointAddress フィーチャクラスの空の都市名の代わりにこの値が追加されます。したがって、複数ロールのロケーターで入力住所 12725 Yosemite Blvd, Waterford をスコア 100 で一致させ、欠落している都市名を出力に追加することができます。

空間リンクから追加された欠落している都市を含む複数ロールのロケーターの検索結果

メモ:

[ロケーターの作成 (Create Locator)] ツールを使用してロケーターを構築する場合は、結合 ID による値の復元の方が、空間計算より優先順位が高くなります。結果として、結合 ID が参照データ内で使用可能で、複数ロールのロケーターに関与するロールによって使用されている場合、空間計算は実行されません。

複数ロールのロケーターの代わりにコンポジット ロケーターが使用される場合

複数ロールのロケーターでは、特定のワークフローのニーズを満たせない場合があります。特に、ロケーターが同じタイプのロールが必要な複数の参照データ レイヤーを必要としており、参照データを単一のデータセットに結合できない場合に、その状況が生じることがあります。この場合、複数の個別のロケーターを作成して、それらをコンポジット ロケーターに結合することができます。コンポジット ロケーターの詳細については、「複数のロケーターのコンポジット ロケーターへの結合」をご参照ください。

関連トピック