ロケーターの作成 (Create Locator) (ジオコーティング)

サマリー

住所または場所を見つけたり、住所または場所のテーブルをポイント フィーチャのコレクションに変換したり、ポイント位置の住所を特定したりするために使用できるロケーターを作成します。

注意:

このツールで作成したロケーターは、ArcGIS Pro 2.2 以降および Enterprise 10.6.1 以降で使用可能で、ArcMap のロケーター サービスとして使用できます。 Enterprise 10.7 より前では、サポートされていないロケーター機能もあります。 これは、追加機能として適用され、新しいバージョンのソフトウェアに追加されます。 このツールで作成したロケーターを ArcMap のローカル ロケーターとして使用することはできません。

使用法

  • ロケーター ロールでは、使用するデータのタイプ (区画、道路の中心線、郵便番号、対象ポイントなど) を定義し、ロケーターの構築時に使用する適切なフィールドとジオコーディング結果で返される情報を指定します。 選択した [国または地域] の値でサポートされているロールのみが、対応するロケーター ロール フィールドと共にリスト表示されます。

    注意:

    • このツールを使用してロケーターを構築するときにロールごとに使用できるプライマリ テーブルは 1 つだけです。
    • 対象ポイント (POI) ロケーター ロールは、場所名のエイリアス テーブルに代わるものですが、場所名のポイントまたはポリゴン フィーチャクラスが関連する住所と共に属性テーブルに格納されている必要があります。

  • ArcGIS Pro で提供されるプライマリ ロケーター ロールでは、次の一般的なタイプのロケーターを構築できます。

    • PointAddress - 家屋および建物の位置を表すポイントに基づく道路住所。 ここにはサブアドレスが含まれます。これは家屋および建物のサブアドレス位置 (スイート、フロア、アパートなど) を表すポイントに基づいています。
    • Parcel - 不動産として見なされる土地区画を表すポイントまたはポリゴンに基づく住所またはパーセル名。この土地区画には、1 軒以上の家屋やその他の構造物が建てられていることがあります。通常は、住所とパーセル ID 番号が割り当てられています (例: 17 011100120063)。
    • StreetAddress - 一定範囲の数値から番地が内挿される道路に基づくストリート住所。 ここには交差点、道路名道路ブロック、道路延長が含まれます。
    • Point of Interest - 行政区画、場所名、ビジネス、ランドマーク、および地理フィーチャ (Starbucks など)。
    • DistanceMarker - 指定された起点から道路に沿った直線距離を通常はキロメートルまたはマイル単位で表すストリート住所。
    • DistanceRange - ライン フィーチャに基づいて道路中心線に沿って内挿された距離の値を表す距離マーカーの 1 つのタイプ。
    • Postal - ポリゴン参照データを使用して最適なリバース ジオコーディング結果を返す必要がある郵便番号、エクステンション付き郵便番号、郵便ローカリティ。
    • Localities - ポリゴン参照データを使用して最適なリバース ジオコーディング結果を返す必要がある行政ゾーンまたは地域 (都市、近隣、州など)。

  • [ロケーターの作成 (Create Locator)] ツールを使用して、複数ロールのロケーターを作成できます。 複数ロールのロケーターを使用すると、複数の参照データ レイヤーとロールを単一のロケーターに結合して、一度に複数のタイプの位置を検索できます。 同じジオメトリ タイプの複数のレイヤーを同じロールに割り当てることができる場合は、それらのレイヤーを 1 つのレイヤーにマージし、そのマージしたレイヤーを対応するロールのプライマリ参照データとして使用することをお勧めします。

    複数ロールの単一ロケーターへの結合の詳細

  • このツールによって作成されたロケーターでは、座標 (MGRS、DD、UTM など) のグローバル検索がサポートされています。 ロケーターの構築に使用されるプライマリ参照データに少なくとも 1 つのフィーチャが含まれている必要があります。 座標の検索のサポートは、ロケーターの [ロケーターのプロパティ] ダイアログの [ジオコーディング オプション] ページにある [サポートするカテゴリ] で有効化/無効化します。

  • サービスとして表されるフィーチャクラスおよびテーブルは、プライマリ参照データおよび代替名テーブルに使用できるデータ タイプとしてサポートされています。

  • 代替名テーブルは、すべてのサポートされたロケーターの役割に使用可能で、プライマリ参照データ内のフィーチャの代替名をサポートします。

    代替名テーブルの詳細

  • このツールの出力は [コンポジット住所ロケーターの作成 (Create Composite Address Locator)] ツールへの入力として使用できます。

パラメーター

ラベル説明データ タイプ
国または地域

どの国に固有のジオコーディング ロジックをロケーターの参照データに適用するのかを指定します。

デフォルトは、オペレーティング システムの地域設定です。 これを指定するには、リストから [<データ内で定義>] を選択し、フィールド マッピング内のデータから値をマッピングします。または、リストから国を 1 つ選択することでデータセット全体に適用できます。

作成するロケーターの指定された国に対する [フィールドの割り当て] パラメーターに表示される予想フィールド名を含む国のテンプレートを提供します。

  • <データ内で定義>各フィーチャの参照データ内で定義された 3 文字の国コード値
  • 米国領サモア米国領サモア
  • オーストラリアオーストラリア
  • オーストリアオーストリア
  • ベルギーベルギー
  • カナダカナダ
  • スイススイス
  • ドイツドイツ
  • スペインスペイン
  • フランスフランス
  • 英国英国
  • グアムグアム
  • 北マリアナ諸島連邦北マリアナ諸島連邦
  • オランダオランダ
  • プエルトリコプエルトリコ
  • 米領ヴァージン諸島米領ヴァージン諸島
  • 米国米国
  • 米領小離島米領小離島
String
プライマリ テーブル

ロケーターを作成するために使用される参照データのフィーチャクラスとその役割。 プライマリ テーブルは 1 つの役割に対して 1 つだけ使用できます。

サービスとして表されるフィーチャクラスは、プライマリ参照データに使用できるデータ タイプとしてサポートされています。

注意:

プライマリ参照データにフィルター設定が定義されているか、フィーチャが選択されている場合、ロケーターを作成するときは、クエリおよび選択されたフィーチャのみが含められます。

注意:

数百万のフィーチャで構成された参照データを含むロケーターを作成する場合は、一時ディレクトリが配置されるドライブ上に、サイズが通常の 3 ~ 4 倍以上のデータを書き込めるディスク空き容量が必要となります。これは、このロケーターが出力場所にコピーされる前に、このロケーターの構築に使用されるファイルがドライブ上の場所に書き込まれるためです。 十分なディスク空き容量がない場合は、このツールで容量不足エラーが発生します。 また、大きなロケーターを作成している場合、大量のメモリを消費するプロセスを処理するために、コンピューターに十分な RAM が搭載されている必要があります。

Value Table
フィールドの割り当て

ロケーターの役割によってサポートされるフィールドへのプライマリ参照データセット フィールドのマッピング。 名前の横にアスタリスク (*) の付いたフィールドは、ロケーターの役割では必須です。 [プライマリ テーブル] パラメーターでテーブルごとに関連フィールドを割り当てます。

注意:

代替名テーブルを使用する場合は、[プライマリ テーブル] の結合 ID を割り当てます。

カスタム出力フィールドを追加するには、[カスタム出力フィールド] パラメーターにフィールド名を入力します。 新しいフィールドが [フィールドの割り当て] パラメーターに追加されます。 これで、ジオコード出力に含まれる追加の値を含む [プライマリ テーブル] パラメーターからフィールドを選択できます。

String
出力ロケーター

出力住所ロケーター ファイル。

Address Locator
言語コード

どの言語に固有のジオコーディング ロジックをロケーターの参照データに適用するのかを指定します。

言語コード フィールドがプライマリ参照データ内に存在する場合、言語コードを設定するとジオコーディングの結果が向上します。

これを指定するには、リストから [<データ内で定義>] を選択し、フィールド マッピング内のプライマリ参照データから値をマッピングします。または、リストから言語を 1 つ選択することでデータセット全体に適用できます。

  • <データ内で定義>各フィーチャの参照データ内で定義された 3 文字の言語コード値
  • バスク語バスク語
  • カタロニア語カタロニア語
  • オランダ語オランダ語
  • 英語英語
  • フランス語フランス語
  • ドイツ語ドイツ語
  • ガリシア語ガリシア語
  • イタリア語イタリア語
  • スペイン語スペイン語
String
代替名テーブル
(オプション)

プライマリ役割テーブル内のフィーチャの代替名を含むテーブル。

サービスとして表されるテーブルは、代替名テーブルに使用できるデータ タイプとしてサポートされています。

注意:

代替名テーブルにフィルター設定が定義されているか、レコードが選択されている場合、ロケーターを作成するときは、クエリおよび選択されたレコードのみが含められます。

Value Table
代替データ フィールドの割り当て
(オプション)

ロケーターの役割によってサポートされる代替データ フィールドに代替名テーブル フィールドをマッピングします。 名前の横にアスタリスク (*) の付いたフィールドは、ロケーターの役割では必須です。 [代替名テーブル] 内のテーブルごとの関連フィールドを割り当てます。

注意:

データが正規化されており、プライマリ テーブルには都市名の値が含まれていないものの代替名テーブルには含まれている場合、Primary Name Indicator フィールドは、そのレコードがプライマリ フィールドかどうかを示す値 (true/false や Yes/No など) を含む代替名テーブル内のフィールドにマッピングできます。 このフィールドをマッピングしない場合は、代替名テーブル内の最初のレコードがプライマリ値として使用されます。

String
カスタム出力フィールド
(オプション)

ジオコード結果に出力フィールドを追加します。 このパラメーターに指定する値により、ジオコード結果から返される出力フィールドの名前が定義されますが、新しいフィールドは参照データ内のフィールドにそれぞれマッピングする必要があります。 この新しい出力フィールドは、ロケーターで使用されたすべての役割に対して適用されます。 ロケーターの役割に左側と右側が含まれる場合、フィールド名の末尾には _left と _right が追加されます。 ロケーターでサポートされるフィールドの最大数は 50 です。

ジオコード結果で使用するためにロケーターにカスタム出力フィールドを追加するには、次の手順を実行します。

  • カスタム出力フィールドの名前を入力します。 カスタム出力フィールド名がフィールド マッピングに追加されます。
  • 参照データ内で、ジオコード出力に含まれる追加の値を含むフィールドを選択します。
String
精度タイプ
(オプション)

ロケーターの精度を指定します。

  • グローバルで極めて高い精度はおよそ 1 cm で、グローバルに一定です。
  • グローバルで高い精度はおよそ 0.5m で、グローバルに一定です。 これがデフォルトです。
  • ローカルで極めて高いローカル領域には向上した精度が使用されます。
String

arcpy.geocoding.CreateLocator(country_code, primary_reference_data, field_mapping, out_locator, language_code, {alternatename_tables}, {alternate_field_mapping}, {custom_output_fields}, {precision_type})
名前説明データ タイプ
country_code

どの国に固有のジオコーディング ロジックをロケーターの参照データに適用するのかを指定します。

これは AS_DEFINED_IN_DATA を使用して指定でき、field_mappingprimary_reference_data から値をマッピングできます。または、USACANPRI などの 3 文字の国コード名を指定することでデータセット全体に適用できます。

作成するロケーターの指定された国に対する field_mapping パラメーターで使用するために提供される予想フィールド名を含む国のテンプレートを提供します。

  • AS_DEFINED_IN_DATA各フィーチャの参照データ内で定義された 3 文字の国コード値
  • ASM米国領サモア
  • AUSオーストラリア
  • AUTオーストリア
  • BELベルギー
  • CANカナダ
  • CHEスイス
  • DEUドイツ
  • ESPスペイン
  • FRAフランス
  • GBR英国
  • GUMグアム
  • MNP北マリアナ諸島連邦
  • NLDオランダ
  • PRIプエルトリコ
  • VIR米領ヴァージン諸島
  • USA米国
  • UMI米領小離島
String
primary_reference_data
[[reference_data, {role}],...]

ロケーターを作成するために使用される参照データのフィーチャクラスとその役割。 プライマリ テーブルは 1 つの役割に対して 1 つだけ使用できます。

サービスとして表されるフィーチャクラスは、プライマリ参照データに使用できるデータ タイプとしてサポートされています。

注意:

プライマリ参照データにフィルター設定が定義されているか、フィーチャが選択されている場合、ロケーターを作成するときは、クエリおよび選択されたフィーチャのみが含められます。

注意:

数百万のフィーチャで構成された参照データを含むロケーターを作成する場合は、一時ディレクトリが配置されるドライブ上に、サイズが通常の 3 ~ 4 倍以上のデータを書き込めるディスク空き容量が必要となります。これは、このロケーターが出力場所にコピーされる前に、このロケーターの構築に使用されるファイルがドライブ上の場所に書き込まれるためです。 十分なディスク空き容量がない場合は、このツールで容量不足エラーが発生します。 また、大きなロケーターを作成している場合、大量のメモリを消費するプロセスを処理するために、コンピューターに十分な RAM が搭載されている必要があります。

Value Table
field_mapping
[field_mapping,...]

ロケーターの役割によってサポートされるフィールドへのプライマリ参照データセット フィールドのマッピング。 このパラメーターの各フィールド マッピングは次の形式で行われます。ここで、<role name> はロケーターのロール名、<locator role field name> はロケーター ロールでサポートされているフィールドの名前、<primary data>primary_reference_data パラメーターで使用されるデータの名前、および <primary data field name> はプライマリ参照データセット内のフィールドの名前です。

次に、プライマリ field_mapping の例を示します。

# <role name>.<locator role field name> <primary data>.<primary data field name>

# This shows an example:
primary_reference_data_field_map =
"'StreetAddress.HOUSE_NUMBER_FROM_LEFT streets.L_F_ADD';"\
"'StreetAddress.HOUSE_NUMBER_TO_LEFT streets.L_T_ADD';"\
"'StreetAddress.HOUSE_NUMBER_FROM_RIGHT streets.R_F_ADD';"\
"'StreetAddress.HOUSE_NUMBER_TO_RIGHT streets.R_T_ADD';"\
"'StreetAddress.STREET_PREFIX_DIR streets.PREFIX';"\
"'StreetAddress.STREET_PREFIX_TYPE streets.PRE_TYPE';"\
"'StreetAddress.STREET_NAME streets.NAME';"\
"'StreetAddress.STREET_SUFFIX_TYPE streets.TYPE';"\
"'StreetAddress.STREET_SUFFIX_DIR streets.SUFFIX';"\
"'StreetAddress.CITY_LEFT streets.CITYL';"\
"'StreetAddress.CITY_RIGHT streets.CITYR';"\
"'StreetAddress.REGION_LEFT streets.STATE_ABBR';"\
"'StreetAddress.REGION_RIGHT streets.STATE_ABBR';"\
"'StreetAddress.POSTAL_LEFT streets.ZIPL';"\
"'StreetAddress.POSTAL_RIGHT streets.ZIPR'"

primary_reference_data パラメーターでテーブルごとに関連フィールドを割り当てます。 ロケーター ロールで使用されるオプションの参照データ フィールドを参照データセットのフィールドにマッピングしない場合、フィールド名の代わりに <None> を使用してマッピングしないことを指定する必要はありません。

ロケーター ロールで使用される参照データ フィールドの <locator role field name> を決定するには、ArcGIS Pro[ロケーターの作成 (Create Locator)] ツールを開いてロケーターのロールを選択します。 [フィールド マップ] パラメーターの [フィールド名] 列に表示される名前が、フィールドの役割のフィールド名です。

注意:

代替名テーブルを使用する場合は、primary_reference_data の結合 ID を割り当てます。

カスタム出力フィールドを追加するには、custom_output_fields パラメーターと field_mapping パラメーターでそのフィールドの名前を定義する必要があります。 field_mapping パラメーターでは '<locator role field name> <primary data field name>' という形式を使用します。ここで <locator role field name>'RoleName.CustomFieldName' として定義され、<primary data field name> は、上の例のマッピング後のフィールドに示すような、プライマリ参照データセットのフィールド名です。 カスタム フィールドを [ストリート住所] のロールに追加する場合、道路のそれぞれの側に 'StreetAddress.CustomFieldName_Left''StreetAddress.CustomFieldName_Right' を割り当てる必要があります。

String
out_locator

出力住所ロケーター ファイル。

Address Locator
language_code

どの言語に固有のジオコーディング ロジックをロケーターの参照データに適用するのかを指定します。

言語コード フィールドがプライマリ参照データ内に存在する場合、言語コードを設定するとジオコーディングの結果が向上します。

これを指定するには、AS_DEFINED_IN_DATAlanguage_code の値に設定し、field_mapping 内の primary_reference_data から値をマッピングします。または、住所の言語を表す 3 文字の言語コード値 (ENG など) を使用して言語を指定することで、データセット全体に適用できます。

  • AS_DEFINED_IN_DATA各フィーチャの参照データ内で定義された 3 文字の言語コード値
  • BAQバスク語
  • CATカタロニア語
  • DUTオランダ語
  • ENG英語
  • FREフランス語
  • GERドイツ語
  • GLGガリシア語
  • ITAイタリア語
  • SPAスペイン語
String
alternatename_tables
[alternatename_tables,...]
(オプション)

プライマリ役割テーブル内のフィーチャの代替名を含むテーブル。

サービスとして表されるテーブルは、代替名テーブルに使用できるデータ タイプとしてサポートされています。

注意:

代替名テーブルにフィルター設定が定義されているか、レコードが選択されている場合、ロケーターを作成するときは、クエリおよび選択されたレコードのみが含められます。

Value Table
alternate_field_mapping
[alternate_field_mapping,...]
(オプション)

ロケーターの役割によってサポートされる代替データ フィールドに代替名テーブル フィールドをマッピングします。 各フィールド マッピングでは次の形式を使用する必要があります。ここで、<alternate name table role> は代替名テーブルのロールの名前、<locator role alternate field name> は代替名テーブル ロケーターのロールによってサポートされる代替データ フィールドの名前、<alternate data table> は代替名テーブルの名前、および <alternate data table field name> は代替名テーブルのフィールドの名前です。 alternatename_tables 内のテーブルごとに関連フィールドを割り当てます。

次に、alternatename_tablesalternate_field_mapping の例を示します。

# <alternate name table role>.<locator role alternate field name> <alternate data table>.<alternate data table field name>

# This shows an example:
alternate_data__table_field_map =
"'AlternateStreetName.STREET_NAME_JOIN_ID altname.JOINID';"\
"'AlternateStreetName.STREET_PREFIX_DIR altname.PRE_DIR';"\
"'AlternateStreetName.STREET_PREFIX_TYPE altname.PRE_TYPE';"\
"'AlternateStreetName.STREET_NAME altname.ST_NAME';"\
"'AlternateStreetName.STREET_SUFFIX_TYPE altname.ST_TYPE';"\
"'AlternateStreetName.STREET_SUFFIX_DIR altname.SUF_DIR'"
注意:

データが正規化されており、プライマリ テーブルには都市名の値が含まれていないものの代替名テーブルには含まれている場合、Primary Name Indicator フィールドは、そのレコードがプライマリ フィールドかどうかを示す値 (true/false や Yes/No など) を含む代替名テーブル内のフィールドにマッピングできます。 このフィールドをマッピングしない場合は、代替名テーブル内の最初のレコードがプライマリ値として使用されます。

String
custom_output_fields
[custom_output_fields,...]
(オプション)

ジオコード結果に出力フィールドを追加します。 このパラメーターに指定する値により、ジオコード結果から返される出力フィールドの名前が定義されますが、新しいフィールドは参照データ内のフィールドにそれぞれマッピングする必要があります。 この新しい出力フィールドは、ロケーターで使用されたすべての役割に対して適用されます。 ロケーターの役割に左側と右側が含まれる場合、フィールド名の末尾には _left と _right が追加されます。 ロケーターでサポートされるフィールドの最大数は 50 です。

注意:

最初に field_mapping パラメーター内のカスタム出力フィールド名を追加し、次に custom_output_fields パラメーター内の名前をリストする必要があります。

String
precision_type
(オプション)

ロケーターの精度を指定します。

注意:

精度として GLOBAL_EXTRA_HIGH または LOCAL_EXTRA_HIGH を使用して作成されたロケーターは、ArcGIS Pro 2.6 以降、Enterprise 10.8.1 以降で使用できます。

  • GLOBAL_EXTRA_HIGH精度はおよそ 1 センチメートルで、グローバルに一定です。
  • GLOBAL_HIGH精度はおよそ 0.5 メートルで、グローバルに一定です。 これがデフォルトです。
  • LOCAL_EXTRA_HIGHローカル領域には向上した精度が使用されます。
String

コードのサンプル

CreateLocator (ロケーターの作成) の例 1 (スタンドアロン スクリプト)

次の Python スクリプトは、スタンドアロン スクリプトで CreateLocator 関数を使用する方法を示しています。

# Description: Create a POI locator using a feature class in a file geodatabase 
#              that contains points of interest for Arts & Entertainment 
#              locations as reference data, where country_code and language_code 
#              are defined in the data. The new locator will be created in a 
#              file folder.

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = "C:/Data/RhodeIsland"

# Set local variables:
primary_reference_data = "RI_Arts_POI POI"
field_mapping = "'POI.PLACE_NAME RI_Arts_POI.PLACE_NAME';"\
               "'POI.CATEGORY RI_Arts_POI.CATEGORY';"\
               "'POI.SUBCATEGORY RI_Arts_POI.SUBCATEGORY';"\
               "'POI.HOUSE_NUMBER RI_Arts_POI.HOUSE_NUMB';"\
               "'POI.STREET_NAME RI_Arts_POI.STREET_NAME';"\
               "'POI.NEIGHBORHOOD RI_Arts_POI.NEIGHBORHOOD';"\
               "'POI.CITY RI_Arts_POI.CITY_NAME';"\
               "'POI.SUBREGION RI_Arts_POI.SUBREGION';"\
               "'POI.REGION RI_Arts_POI.REGION_NAME';"\
               "'POI.POSTAL RI_Arts_POI.POSTAL_CODE';"\
               "'POI.COUNTRY_CODE RI_Arts_POI.COUNTRY_CODE';"\
               "'POI.LANG_CODE RI_Arts_POI.LANGUAGE_CODE';"\
               "'POI.RANK RI_Arts_POI.RANK'"
out_locator = "Arts_Entertainment_POIs"

# Execute CreateLocator
arcpy.geocoding.CreateLocator("AS_DEFINED_IN_DATA", primary_reference_data, field_mapping, 
                              out_locator, "AS_DEFINED_IN_DATA")
CreateLocator (ロケーターの作成) の例 2 (Python ウィンドウ)

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

# Description: Create a StreetAddress locator using a street centerline feature 
#              class in a file geodatabase as reference data, where multiple 
#              custom_output_fields are added to the locator for use in the 
#              geocode result. country_code and language_code are specified and 
#              will be applied to the entire reference dataset. The new locator 
#              will be created in a file folder.

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = "C:/Data/Denver"

# Set local variables
country_code = "USA"
primary_reference_data = "Street_Centerline StreetAddress"
field_mapping = "'StreetAddress.HOUSE_NUMBER_FROM_LEFT Street_Centerline.L_F_ADD';"\
                "'StreetAddress.HOUSE_NUMBER_TO_LEFT Street_Centerline.L_T_ADD';"\
                "'StreetAddress.HOUSE_NUMBER_FROM_RIGHT Street_Centerline.R_F_ADD';"\
                "'StreetAddress.HOUSE_NUMBER_TO_RIGHT Street_Centerline.R_T_ADD';"\
                "'StreetAddress.STREET_PREFIX_DIR Street_Centerline.PREFIX';"\
                "'StreetAddress.STREET_PREFIX_TYPE Street_Centerline.TYPE';"\
                "'StreetAddress.STREET_NAME Street_Centerline.NAME';"\
                "'StreetAddress.STREET_SUFFIX_TYPE Street_Centerline.TYPE';"\
                "'StreetAddress.STREET_SUFFIX_DIR Street_Centerline.SUFFIX';"\
                "'StreetAddress.POSTAL_LEFT Street_Centerline.ZIPLEFT';"\
                "'StreetAddress.POSTAL_RIGHT Street_Centerline.ZIPRIGHT';"\
                "'StreetAddress.CustomField1_left Street_Centerline.LEFTFIRE';"\
                "'StreetAddress.CustomField1_right Street_Centerline.RTFIRE';"\
                "'StreetAddress.CustomField2_left Street_Centerline.LEFTEMS';"\
                "'StreetAddress.CustomField2_right Street_Centerline.RTEMS'"
out_locator = "DenverStreetsCustomFieldsLocator"
language_code = "ENG"

# Execute CreateLocator
arcpy.geocoding.CreateLocator(country_code, primary_reference_data, field_mapping, 
                              language_code, None, None, "CustomField1;CustomField2")
CreateLocator (ロケーターの作成) の例 3 (Python ウィンドウ)

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

# Create a StreetAddress locator using a street centerline feature class and an alternate
# name table, for alternate street names, in a file geodatabase as reference data.
# The new locator will be created in a file folder.

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = "C:/ArcTutor/Geocoding/Atlanta"

# Set local variables
primary_reference_data = "streets StreetAddress"
field_mapping = "'StreetAddress.STREET_NAME_JOIN_ID streets.STREETID';"\
                "'StreetAddress.HOUSE_NUMBER_FROM_LEFT streets.L_F_ADD';"\
                "'StreetAddress.HOUSE_NUMBER_TO_LEFT streets.L_T_ADD';"\
                "'StreetAddress.HOUSE_NUMBER_FROM_RIGHT streets.R_F_ADD';"\
                "'StreetAddress.HOUSE_NUMBER_TO_RIGHT streets.R_T_ADD';"\
                "'StreetAddress.STREET_PREFIX_DIR streets.PREFIX';"\
                "'StreetAddress.STREET_PREFIX_TYPE streets.PRE_TYPE';"\
                "'StreetAddress.STREET_NAME streets.NAME';"\
                "'StreetAddress.STREET_SUFFIX_TYPE streets.TYPE';"\
                "'StreetAddress.STREET_SUFFIX_DIR streets.SUFFIX';"\
                "'StreetAddress.CITY_LEFT streets.CITYL';"\
                "'StreetAddress.CITY_RIGHT streets.CITYR';"\
                "'StreetAddress.REGION_LEFT streets.STATE_ABBR';"\
                "'StreetAddress.REGION_RIGHT streets.STATE_ABBR';"\
                "'StreetAddress.POSTAL_LEFT streets.ZIPL';"\
                "'StreetAddress.POSTAL_RIGHT streets.ZIPR'"
alternatename_tables = "altname AlternateStreetName"
alternate_field_mapping = "'AlternateStreetName.STREET_NAME_JOIN_ID altname.STREETID';"\
                          "'AlternateStreetName.STREET_PREFIX_DIR altname.PRE_DIR';"\
                          "'AlternateStreetName.STREET_PREFIX_TYPE altname.PRE_TYPE';"\
                          "'AlternateStreetName.STREET_NAME altname.ST_NAME';"\
                          "'AlternateStreetName.STREET_SUFFIX_TYPE altname.ST_TYPE';"\
                          "'AlternateStreetName.STREET_SUFFIX_DIR altname.SUF_DIR';"\
                          "'AlternateStreetName.PRIMARY_NAME_INDICATOR altname.PRIMARY'"
out_locator = "AtlantaAlternateStreetsLocator"

# Execute CreateLocator
arcpy.geocoding.CreateLocator("USA", primary_reference_data, field_mapping, 
                              out_locator, "ENG", alternatename_tables, 
                              alternate_field_mapping)
CreateLocator (ロケーターの作成) の例 4 (スタンドアロン スクリプト)

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

# Description: Create a multi-role locator (PointAddress & StreetAddress) using a hosted
# feature service from ArcGIS Online as reference data.
# country_code and language_code
# are specified and will be applied to the entire reference dataset.
# The new locator will be created in a file folder.

# Import system modules
import arcpy

# Sign in to ArcGIS Online to use feature services as input
arcpy.SignInToPortal("https://www.arcgis.com", "<username>", "<password>")

# Set local variables
country = "USA"
in_table = "https://services.arcgis.com/<layer_id>/arcgis/rest/services/<service_name>/FeatureServer/<layer_number> PointAddress;"\
           "https://services.arcgis.com/<layer_id>/arcgis/rest/services/<service_name>/FeatureServer/<layer_number> StreetAddress"
field_mapping = "'PointAddress.ADDRESS_JOIN_ID 0.PT_ADDR_ID';"\
                "'PointAddress.HOUSE_NUMBER 0.ADDRESS';"\
                "'PointAddress.STREET_NAME 0.ST_NAME';"\
                "'PointAddress.SIDE 0.SIDE';"\
                "'PointAddress.CITY 0.CITY';"\
                "'PointAddress.REGION 0.STATE';"\
                "'StreetAddress.HOUSE_NUMBER_FROM_LEFT 1.L_F_ADD_INT';"\
                "'StreetAddress.HOUSE_NUMBER_TO_LEFT 1.L_T_ADD_INT';"\
                "'StreetAddress.HOUSE_NUMBER_FROM_RIGHT 1.R_F_ADD_INT';"\
                "'StreetAddress.HOUSE_NUMBER_TO_RIGHT 1.R_T_ADD_INT';"\
                "'StreetAddress.STREET_PREFIX_DIR 1.PREFIX';"\
                "'StreetAddress.STREET_PREFIX_TYPE 1.PRETYPE';"\
                "'StreetAddress.STREET_NAME 1.NAME';"\
                "'StreetAddress.STREET_SUFFIX_TYPE 1.TYPE';"\
                "'StreetAddress.STREET_SUFFIX_DIR 1.SUFFIX';"\
                "'StreetAddress.CITY_LEFT 1.PLACENAME_L';"\
                "'StreetAddress.CITY_RIGHT 1.PLACENAME_R';"\
                "'StreetAddress.REGION_LEFT 1.STATE';"\
                "'StreetAddress.REGION_ABBR_LEFT 1.STATE_L';"\
                "'StreetAddress.REGION_RIGHT 1.STATE';"\
                "'StreetAddress.REGION_ABBR_RIGHT 1.STATE_R'"
out_locator = r"C:\output\locators\MultiroleFeatureServiceBasedLocator"
language = "ENG"

# Execute CreateLocator
arcpy.geocoding.CreateLocator(country, in_table, field_mapping, out_locator, language)

環境

このツールは、ジオプロセシング環境を使用しません。

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック