コンポジット住所ロケーターの作成 (Create Composite Address Locator) (ジオコーティング)

サマリー

コンポジット ロケーターを作成します。 コンポジット ロケーターは 2 つ以上の別々のロケーターから構成され、複数のロケーターを使用して住所および場所を照合することができます。

コンポジット ロケーターの詳細

使用法

  • コンポジット ロケーターを作成する前に、[ロケーターの作成 (Create Locator)] ツールまたは [フィーチャ ロケーターの作成 (Create Feature Locator)] ツールを使用して、登録ロケーターを作成します。

  • コンポジット ロケーター用の空間参照が必須です。 ツールの環境設定で異なる出力座標系を指定しない限り、最初の登録ロケーターの空間参照が使用されます。

  • マルチロール ロケーター」(例: ArcGIS StreetMap Premium ロケーター)、および複数の単一ロール ロケーターで、[結果の順序] パラメーターの [ロールおよびスコアの順序] オプションを使用します。 このオプションによって、ロケーターとロールが最適なフォールバック順に並べられます。

  • in_result_ordering パラメーターの正しい Python 構文を生成するには、まず適切な [結果の順序] パラメーター オプションを使用して、[ジオプロセシング] ウィンドウからツールを実行します。 次に、[実行] メニューを開き、[Python コマンドのコピー] を選択します。

パラメーター

ラベル説明データ タイプ
住所ロケーター

コンポジット ロケーターの作成に使用されるロケーター。 登録ロケーターの順番により、候補がどのように検索され、場所または住所が照合されるかが決まります。 単一の場所または住所をジオコーディングすると、ロケーターに選択基準が設定されていない限り、すべての登録ロケーターを使用して場所または住所が照合されます。 見つかったすべての候補が、表示された登録ロケーターの順に表示されます。 住所または場所のテーブルをジオコーディングすると、最初の登録ロケーターから最初に見つかった最適な候補に住所または場所が自動的に照合されます。 住所または場所が照合できなかった場合、リスト上の次のロケーターが検索されます。

登録ロケーターごとの参照名が必須です。 これはコンポジット ロケーターによって参照されるロケーターの名前です。 名前にスペースまたは特殊記号を使用しないでください。 名前の最大長さは 14 文字です。

Value Table
フィールド マップ

各登録ロケーターが使用する入力フィールドの、コンポジット ロケーターの入力フィールドへのマッピング。

登録ロケーターによって生成される各フィールドとその内容が含まれます。 [フィールド マップ] パラメーターには、一意の入力フィールドがそれぞれ表示されます。 [入力フィールド] 列の左側に、コンポジット ロケーターのすべての入力フィールドのリストが表示されます。 フィールドを選択する際、[サブフィールド] 列と [プロパティ] 列の下に、そのフィールドにマッピングされている各登録ロケーターのフィールドを表示できます。 これらのフィールドが、コンポジット ロケーターの入力フィールドになります。

注意:

[フィールド マップ] パラメーターからどのロケーター フィールドも削除しません。 すべてのロケーター フィールドを含まずに作成されたコンポジット ロケーターは無効です。

Field Mappings
選択基準
(オプション)

各登録ロケーターの選択基準。 各登録ロケーターに対して 1 つだけの選択基準をサポートしています。

コンポジット ロケーターを作成するときには、どのロケーターを使用するかを入力住所フィールドの値に基づいて指定することができます。 たとえば、コンポジット ロケーターが使用するロケーターがある特定の都市の道路情報を含む場合、その都市名を含まない住所または場所をすべて除外することができます。 選択基準を使用すると、登録ロケーターのうち、特定の住所に対する基準を満たしていないものが除外されるため、ジオコーディング処理がより効率化されます。 たとえば、ストリート住所ロケーターに "City" = 'Atlanta' という選択基準が指定されていると、このロケーターを使用して Atlanta という都市名を含む住所のみがジオコーディングされます。

選択基準を指定するには、基準を適用したい [選択基準] 列の下にあるロケーター チェックボックスをオンにします。 "City" = 'Atlanta' などの式をテキスト ボックスに入力するか、その他ボタンをクリックし [ロケーターの選択基準の指定] ダイアログ ボックスを開いて基準を定義します。

Value Table
出力コンポジット住所ロケーター

作成するコンポジット住所ロケーター。 ArcGIS AllSource では、ファイル フォルダー内のロケーターの保存のみをサポートしています。

Address Locator
結果の順序
(オプション)

登録ロケーターのフォールバック順を指定することで、住所を照合してジオコーディング時に最適な一致が見つかる可能性を高めることができます。

  • [ロケーターの順序を使用] - 登録ロケーターは追加順になり、「複数のロケーターのコンポジット ロケーターへの結合」に記載されたフォールバック順に従います。 これがデフォルトです。
  • [ロールおよびスコアの順序] - 登録ロケーターの個々のロールをグループ分けし、精度が高い方を先、精度が低い方を後にして並べ替えます。 結果は、精度が高いロールが先、精度が低いロールが後に返されます。また、同じロールでロケーターが異なる場合、スコアに基づいて結果が返されます。 マルチロール ロケーターと複数の単一ロール ロケーターがある場合、または複数のマルチロール ロケーターがある場合、このオプションを使用することをお勧めします。 これにより、ロケーターとロールが推奨された最適なフォールバック順に自動的に並べ替えられます。
  • [カスタム順序] - 登録ロケーターのカスタマイズ可能なフォールバック順が使用され、マルチロール ロケーターのロール間にロケーターを挿入できます。
String

arcpy.geocoding.CreateCompositeAddressLocator(in_address_locators, in_field_map, {in_selection_criteria}, out_composite_address_locator, {in_result_ordering})
名前説明データ タイプ
in_address_locators
[[in_address_locator, name],...]

コンポジット ロケーターの作成に使用されるロケーター。 登録ロケーターの順番により、候補がどのように検索され、場所または住所が照合されるかが決まります。 単一の場所または住所をジオコーディングすると、ロケーターに選択基準が設定されていない限り、すべての登録ロケーターを使用して場所または住所が照合されます。 見つかったすべての候補が、表示された登録ロケーターの順に表示されます。 住所または場所のテーブルをジオコーディングすると、最初の登録ロケーターから最初に見つかった最適な候補に住所または場所が自動的に照合されます。 住所または場所が照合できなかった場合、リスト上の次のロケーターが検索されます。

登録ロケーターごとの参照名が必須です。 これはコンポジット ロケーターによって参照されるロケーターの名前です。 名前にスペースまたは特殊記号を使用しないでください。 名前の最大長さは 14 文字です。

Value Table
in_field_map

各登録ロケーターが使用する入力フィールドの、コンポジット住所ロケーターの入力フィールドへのマッピング。

各ロケーターの入力フィールドで、"Address 'Address or Intersection' true true false 4 Text 0 0 ,First,'#',Street" と同じような文字列でフィールド情報を書式設定します。 この文字列の情報は、次のように構成されます。

  • 新しいフィールド名 (Address) - コンポジット ロケーターの新しいロケーター フィールド名。

    コンポジット内の一方のロケーターに Address フィールドが存在し、他方のロケーターに Street Address フィールドが存在する場合があります。 新しいコンポジット ロケーター フィールドを Address に指定し、両方の元のロケーター フィールドを参照することができます。

  • 新しいフィールド名のエイリアス ('Address or Intersection') - コンポジット ロケーターの新しいロケーター フィールド名のエイリアス。

    新しいフィールド名 Address を含むコンポジット ロケーターで、フィールドにエイリアス 'Address or Intersection' を指定できます。

  • 編集可能 (true) - 新しいコンポジット ロケーター フィールドが編集可能かどうかを指定します。 オプションは、true または false です。
  • NULL 値を許可 (true) - 新しいコンポジット ロケーター フィールドで NULL 値を許可するかどうかを指定します。 オプションは、true または false です。
  • 必須 (false) - 新しいコンポジット ロケーター フィールドが必須フィールドかどうかを指定します。 オプションは、true または false です。
  • 長さ (4) - 新しいコンポジット ロケーター フィールドの長さ。
  • タイプ (Text) - 新しいコンポジット ロケーター フィールドのデータ タイプ。 ロケーターの場合、この値は常に Text である必要があります。
  • 縮尺 (0) - 新しいコンポジット ロケーター フィールドの縮尺。 1 ~ 100 の任意の値を使用できます。 この値はロケーターには適用されませんが、有効な値を使用する必要があります。
  • 精度 (0) - 新しいコンポジット ロケーター フィールドの精度。 1 ~ 100 の任意の値を使用できます。 この値はロケーターには適用されませんが、有効な値を使用する必要があります。
  • マージ ルール (First) - 新しいコンポジット ロケーター フィールドのマージ ルール。 任意のマージ ルール値を使用できます。 この値はロケーターには適用されませんが、有効な値を使用する必要があります。
  • 区切り文字 ('#') - 新しいコンポジット ロケーター フィールドの区切り文字。 サポートされている任意の区切り文字を使用できます。
  • 元のロケーター フィールド名 (Street) - 元の登録ロケーターのロケーター フィールド名。
Field Mappings
in_selection_criteria
[[in_address_locator, selection_criteria],...]
(オプション)

各登録ロケーターの選択基準。 各登録ロケーターに対して 1 つだけの選択基準をサポートしています。

選択基準を使用すると、登録ロケーターのうち、特定の住所または場所に対する基準を満たしていないものが除外されるため、ジオコーディング処理がより効率的に実行されます。 ジオコーディング処理での選択基準の使用に関する詳細については、「複数のロケーターをコンポジット ロケーターに結合させる操作の基礎」をご参照ください。

Value Table
out_composite_address_locator

作成するコンポジット住所ロケーター。 ArcGIS AllSource では、ファイル フォルダー内のロケーターの保存のみをサポートしています。

Address Locator
in_result_ordering
(オプション)

登録ロケーターのフォールバック順を指定することで、住所を照合してジオコーディング時に最適な一致が見つかる可能性を高めることができます。

  • Use locator order - 登録ロケーターは追加順になり、「複数のロケーターのコンポジット ロケーターへの結合」に記載されたフォールバック順に従います。 これがデフォルトです。
    • 構文はロケーター名のカンマ区切り文字列です。
    • 2 つのロケーター (例: Atlanta.loc と Memphis.loc) を含むコンポジット ロケーターの場合、構文は "Atlanta, Memphis" になります。
  • Order by role and score - 登録ロケーターの個々のロールをグループ分けし、精度が高い方を先、精度が低い方を後にして並べ替えます。 結果は、精度が高いロールが先、精度が低いロールが後に返されます。また、同じロールでロケーターが異なる場合、スコアに基づいて結果が返されます。 マルチロール ロケーターと複数の単一ロール ロケーターがある場合、または複数のマルチロール ロケーターがある場合、このオプションを使用することをお勧めします。 これにより、ロケーターとロールが推奨された最適なフォールバック順に自動的に並べ替えられます。
    • 構文は、[LocatorRole1](LocatorName1.LocatorRole1, LocatorName2.LocatorRole1) として構造化されたロール グループのカンマ区切り文字列です。
    • 2 つのマルチロール ロケーター (例: Atlanta.loc と Memphis.loc) を含むコンポジット ロケーターで、それぞれに PointAddress ロールと StreetAddress ロールが含まれている場合、構文は "[PointAddress](Atlanta.PointAddress, Memphis.PointAddress),[StreetAddress](Memphis.StreetAddress,Atlanta.StreetAddress)" になります。
    • ロールは、精度が高い方を先、精度が低い方を後にして並べ替える必要があります。
  • Custom order - 登録ロケーターのカスタマイズ可能なフォールバック順が使用され、マルチロール ロケーターのロール間にロケーターを挿入できます。
    • 構文は、LocatorName.LocatorRole として構造化されたロケーター名とロールのカンマ区切り文字列です。
    • 2 つのマルチロール ロケーター (例: Atlanta.loc と Memphis.loc) を含むコンポジット ロケーターで、それぞれに PointAddress ロールと StreetAddress ロールが含まれている場合、構文は "Atlanta.StreetAddress,Memphis.PointAddress,Memphis.StreetAddres,Atlanta.PointAddress" になります。
    • ロケーターとロールは任意の順序で配置できますが、精度の高いロールの前に精度の低いロールを配置すると、予期しない動作が発生することがあります。

正しい Python 構文を生成するには、まず [ジオプロセシング] ウィンドウからツールを実行します。 次に、[実行] メニューを開き、[Python コマンドのコピー] を選択します。

String

コードのサンプル

CreateCompositeAddressLocator の例 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで CreateCompositeAddressLocator 関数を使用する方法を示しています。

# Create a composite address locator using the StreetMap US Streets and Tutorial Atlanta locators.

# Import system modules
import arcpy 

arcpy.env.workspace = "C:/ArcTutor/Geocoding/atlanta/"

# Set local variables:
US_Streets_locator = "C:/dm_stmap_dvd/streetmap_na/data/Street_Addresses_US"
Atlanta_locator = Atlanta
Atlanta_Composite = US_Atlanta_Composite

# Field mapping
address_field_map = "Address 'Street or Intersection' true true false 100 Text 0 0 ,First,#,Atlanta_locator,Address,0,0,US_Streets_locator,Street;"
city_field_map = "City 'City or Placename' true true false 40 Text 0 0 ,First,#,Atlanta_locator,City,0,0,US_Streets_locator,City;"
state_field_map = "State 'State' true true false 20 Text 0 0 ,First,#,Atlanta_locator,State,0,0,US_Streets_locator,State;"
zip_field_map = "Zip 'Zipcode' true true false 10 Text 0 0 ,First,#,Atlanta_locator,Zip,0,0,US_Streets_locator,ZIP"

composite_locator_field_map = address_field_map + city_field_map + state_field_map + zip_field_map

arcpy.geocoding.CreateCompositeAddressLocator("Atlanta_locator Atlanta;US_Streets_locator US_Streets", composite_loactor_field_map,"Atlanta '\"City\" = 'Atlanta'';US_Streets #",Atlanta_Composite)