ロケーターの作成 (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」- ポリゴン参照データを使用して最適なリバース ジオコーディング結果を返す必要がある行政区域または地域 (都市、近隣、州など)。

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

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

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

  • ロケーターを作成するとき、参照データのその他のフィールドを指定して、カスタム出力フィールドとしてロケーターに追加できます。 これらのフィールドには、ジオコード結果候補の追加情報が含まれています。 たとえば、ある住所がどの国勢調査区または消防管区に関連付けられているか知りたい場合、住所をジオコーディングし、国勢調査区や消防管区の属性をジオコーディングの結果に空間的に結合します。 追加情報を持つレイヤーの属性を、ロケーターの構築に使用した参照データに空間結合することで、ロケーターを構築する際にユーザー定義されたカスタム出力フィールドとして結合フィールドを指定できます。 ジオコード結果には、追加のカスタム出力フィールドとその値が含まれます。

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

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

    代替名テーブルの詳細

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

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

  • Z 対応ポイント フィーチャクラスをプライマリ参照データとして使用して、ロケーターを構築できます。 ジオコード結果がマップ内の想定される高度に表示されるよう、Z 対応フィーチャを絶対高度で作成する必要があります。

パラメーター

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

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

デフォルトは、オペレーティング システムの地域設定です。 これを指定するには、リストから [<データ内で定義>] を使用し、フィールド マッピング内のデータから値をマッピングします。または、リストから国を 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 センチメートルで、グローバルに一定です。
  • グローバルで高い精度はおよそ 0.5 メートルで、グローバルに一定です。 これがデフォルトです。
  • ローカルで極めて高いローカル領域には向上した精度が使用されます。
注意:

精度として [グローバルで極めて高い] または [ローカルで極めて高い] を使用して作成されたロケーターは、ArcGIS Pro 2.6 以降、Enterprise 10.8.1 以降で使用できます。

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 から値をマッピングできます。または、米国 (USA)、カナダ (CAN)、プエルトリコ (PRI) などの 3 文字の国コード名を指定することでデータセット全体に適用できます。

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

  • AS_DEFINED_IN_DATA各フィーチャの参照データ内で定義された 3 文字の国コード値が使用されます。
  • ASM米国領サモア
  • AUSオーストラリア
  • AUTオーストリア
  • BELベルギー
  • CANカナダ
  • CHEスイス
  • CZEチェコ
  • DEUドイツ
  • ESPスペイン
  • ESTエストニア
  • FRAフランス
  • GBR英国
  • GUMグアム
  • ISRイスラエル
  • ITAイタリア
  • JPN日本
  • KOR韓国
  • LTUリトアニア
  • LVAラトビア
  • MNP北マリアナ諸島連邦
  • NLDオランダ
  • PRIプエルトリコ
  • SWEスウェーデン
  • VIR米国領ヴァージン諸島
  • USA米国
  • UMI米国領有小離島
  • ZAF南アフリカ
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カタロニア語
  • CZEチェコ語
  • DUTオランダ語
  • ENG英語
  • ESTエストニア語
  • FREフランス語
  • GERドイツ語
  • GLGガリシア語
  • HEBヘブライ語
  • ITAイタリア語
  • JPN日本語
  • KOR韓国語
  • LITリトアニア語
  • LAVラトビア語
  • SPAスペイン語
  • SWEスウェーデン語
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"

# Run CreateLocator
arcpy.geocoding.CreateLocator("AS_DEFINED_IN_DATA", primary_reference_data, field_mapping, 
                              out_locator, "AS_DEFINED_IN_DATA")
CreateLocator の例 2 (スタンドアロン スクリプト)

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

# Description: Create a POI locator using a shapefile that contains points 
#              of interest for airport locations as reference data. The new 
#              locator will be created in a file folder.

# Import system modules
import arcpy

# Set local variables:
country_code="USA"
primary_reference_data=r"C:\Data\airports.shp POI"
field_mapping=["POI.PLACE_NAME 'airports.shp'.name",\
               "POI.CATEGORY 'airports.shp'.type",\
               "POI.REGION 'airports.shp'.iso_region",\
               "POI.ZONE 'airports.shp'.iso_country"]
out_locator=r"C:\Data\Airports_Locator"
language_code="ENG"

# Run CreateLocator
arcpy.geocoding.CreateLocator(country_code, primary_reference_data, field_mapping, 
                              out_locator, language_code)
CreateLocator の例 3 (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"

# Run CreateLocator
arcpy.geocoding.CreateLocator(country_code, primary_reference_data, field_mapping, 
                              language_code, None, None, "CustomField1;CustomField2")
CreateLocator の例 4 (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"

# Run CreateLocator
arcpy.geocoding.CreateLocator("USA", primary_reference_data, field_mapping, 
                              out_locator, "ENG", alternatename_tables, 
                              alternate_field_mapping)
CreateLocator の例 5 (スタンドアロン スクリプト)

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

# Description: Create a multirole 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"

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

環境

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

ライセンス情報

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

関連トピック