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

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

複数ロールのロケーター

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

ヒント:

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

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

[ロケーターの作成 (Create Locator)] ツールは、ロケーターを構築するために使用される参照データから詳細情報を抽出します。 そのため、候補とジオコード結果で重複するジオメトリを最小限にしたり、不確実な候補をスキップしたりするための複数ロールのロケーターを構築できます。 重複を最小限にするためのプロセスにより、ロケーターのサイズが減少し、ロケーターのパフォーマンスを高め、候補の並べ替えに役立ちます。 コンポジット ロケーターにはこのような機能はなく、同じ場所に対して重複する候補を返します。

ポイント住所とストリートの参照データ

たとえば、上記のデータを使用して、ポイント住所ロールとストリート住所ロールに基づく 2 つの個別のロケーターを備えた SanDiegoComposite という名前のコンポジット ロケーターを作成します。 ポイント住所ロールとストリート住所ロールに基づく複数ロールのロケーターは、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 が参照データ内で使用可能で、複数ロールのロケーターに関与するロールによって使用されている場合、空間計算は実行されません。

空間リンクは、郵便番号ロール (「郵便番号郵便番号拡張郵便地区」) に適用されません。

コンポジット ロケーターのユース ケース

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

関連トピック