プライマリ住所データ内のフィーチャ (道路、市、場所など) は複数の名前で参照されることがあります。たとえば、高速道路は道路名と特定の高速道路番号の両方で呼ばれていたりします。道路名や都市名は、時間が経つと変更されることもあります。このような事例では、住所データがさまざまな代替名を使用して同じ場所を指している可能性があります。代替名テーブルは、サポートされているすべてのロケーター ロールに使用可能であり、プライマリ参照データ内のフィーチャの代替名に対応しています。
これらの場所をジオコーディングするために、プライマリ フィーチャの代替道路名を含む代替名テーブルを使用してロケーターを作成できます。このロケーターを使用すると、主となるフィーチャクラスで指定した名前または代替名テーブルに基づいて、場所をジオコーディングすることができます。
代替名テーブルの内容
道路などのフィーチャの名前は時間の経過とともに変化することがあります。たとえば、「Jefferson Road」は、これまで「Old Country Road」と呼ばれていた道路の新しい正式名称です。市の中に区 (政令指定都市) がある場合や、正式な市の名前と一般に使用されている名前がある場合、どちらも住所の検索時に使用できます。たとえば、ノース パークはサンディエゴの近郊です。考えられるすべての名前でフィーチャを検索すると、ジオコーディングの成功率が上がることがあります。代替名テーブルには、追加の名前のフィールドがあります。各レコードは、フィーチャの 1 つの名前を表します。追加の名前をテーブルに追加することができます。
結合 ID
代替名テーブルには、各レコードをプライマリ フィーチャクラスに結合するために使用できる ID フィールドが必要です。代替名テーブルに 1 つのフィーチャの複数の名前が含まれている場合は、代替名テーブル内のそれぞれの代替フィーチャ名レコードの同じ値が JoinID フィールドに格納されます。
プライマリ フィーチャクラスには、各レコードに一意の ID 値を格納するフィールドが必要であり、このフィールドを使用すると、代替名テーブルから結合 ID にリンクすることができます。
注意:
ロケーターを構築する際、プライマリ参照データの ObjectID と代替名テーブルを結合 ID ロケーター ロール フィールドにマッピングしないでください。 ObjectID を使用するとロケーターのサイズが大きくなり、バッチ ジオコーディングの性能とジオコーディング品質が低下します。
[ObjectID]、[GUID]、[GlobalID] などのフィールドは、ツールを使用してロケーターを構築するときに、プライマリ フィーチャと代替名テーブルのレコードをリンクする結合 ID フィールドとして使用することは推奨されていません。プライマリ参照データ ロールに関連付けられた結合 ID フィールドには、プライマリ参照データ内の多くのレコードに関連付けられる値と、代替名テーブル内の一意のレコードが含まれている必要があります。プライマリ データと代替名テーブルの代替名との間には、多対多か多対 1 の関係が必要です。たとえば、ポイント住所ロケーターの一意の都市には、その都市のすべての代替名に対して 1 つの結合 ID 値が必要になります。プライマリ都市名が Redlands で、結合 ID 値が 1 である場合、対応する代替名の結合 ID 値も 1 になります。Redlands に関連付けられたすべてのプライマリ レコードの結合 ID 値は 1 です。
テーブル属性
選択したロケーター ロールと検索対象のフィーチャのタイプに応じて、代替名テーブル内の属性はプライマリ フィーチャクラス内の値とよく似たものになります。たとえば、ストリート住所のプライマリ属性には、方向の接頭辞、接頭辞タイプ、道路名、道路タイプ、方向の接尾辞が格納されており、同じ属性が代替名テーブル内の代替名にも使用されています。
注意:
たとえば、データが正規化されており、プライマリ テーブルには市の名前の値が格納されていないが、属性名テーブルには格納されている場合は、ロケーターを構築する際に、[優先名インジケーター] フィールドを、該当するレコードがプライマリ フィールドであるかどうかを示す値 (True/False や Yes/No など) が格納されている代替名テーブル内のフィールドに関連付けることができます。このフィールドを関連付けないと、代替名テーブル内の最初のレコードがプライマリ値として使用されます。