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' というエイリアスを指定できます。
isEditable (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 Pro では、ロケーターをファイル フォルダーに保存することしかできません。
|
Address Locator
|
|
in_result_ordering
(オプション)
|
登録ロケーターのフォールバック順を指定することで、住所を照合してジオコーディング時に最適な一致が見つかる可能性を高めることができます。
Use locator order - 登録ロケーターは追加順になり、複数のロケーターのコンポジット ロケーターへの結合に記載されたフォールバック順に従います。 これがデフォルトです。
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 USA and Tutorial Atlanta locators.
# Import system modules
import arcpy
arcpy.env.workspace = "C:/ArcTutor/Geocoding/atlanta/"
# Set local variables:
USA_locator = "C:/data/locators/StreetMap_Premium_for_ArcGIS/North_America_2024R3/USA.loc"
Atlanta_locator = "C:/ArcTutor/Geocoding/atlanta/Atlanta.loc"
Atlanta_Composite = "C:/ArcTutor/Geocoding/atlanta/US_Atlanta_Composite.loc"
# Field mapping
address_field_map = "Address 'Street or Intersection' true true false 100 Text 0 0 ,First,#,Atlanta_locator,Address,0,0,USA_locator,Street;"
city_field_map = "City 'City or Placename' true true false 40 Text 0 0 ,First,#,Atlanta_locator,City,0,0,USA_locator,City;"
state_field_map = "State 'State' true true false 20 Text 0 0 ,First,#,Atlanta_locator,State,0,0,USA_locator,State;"
zip_field_map = "Zip 'Zipcode' true true false 10 Text 0 0 ,First,#,Atlanta_locator,Zip,0,0,USA_locator,ZIP"
composite_locator_field_map = address_field_map + city_field_map + state_field_map + zip_field_map
arcpy.geocoding.CreateCompositeAddressLocator("Atlanta_locator Atlanta;USA_locator USA", composite_locator_field_map,"Atlanta '\"City\" = 'Atlanta'';USA #",Atlanta_Composite)