住所のジオコーディング (Geocode Addresses) (ジオコーディング)

サマリー

住所テーブルをジオコーディングします。 この処理にはジオコーディングしたい住所を格納するテーブルと、住所ロケーターまたはコンポジット住所ロケーターが必須です。 このツールはロケーターに対して格納済みの住所を照合し、各入力レコードの処理結果を新しいポイント フィーチャクラスに保存します。 ArcGIS World Geocoding Service を使用している場合、この操作でクレジットが消費されることがあります。

ArcGIS World Geocoding Service を使用してジオコーディング操作を行う場合は、ArcGIS 組織アカウントが必要であり、クレジットが消費されます。 ジオコーディング リクエストを最後まで完了するには、組織アカウントに十分なクレジットが必要です。

注意:

アクティブなポータルが ArcGIS Online で、入力ロケーターが ArcGIS World Geocoding Service の場合、クレジットの推定はツールの上部に表示されます。

使用法

  • 単一のフィールドに格納されている住所、複数のフィールドに分割されている住所、または単一のフィールドと国フィールドに格納されている住所をジオコーディングすることができます。 単一の入力フィールドには、完全な住所が格納されています。たとえば、303 Peachtree St NE, Atlanta, GA 30308 のようになります。 入力住所が、米国の一般的な住所に使用される AddressCityStateZIP などの複数のフィールドに分割されている場合、複数のフィールドがサポートされます。 完全な住所 (例: 303 Peachtree St NE, Atlanta, GA 30308) を格納する単一入力フィールド、および住所に関連付けられている国 (例: USA) を格納するフィールドもサポートされています。

  • 一部のロケーターは、複数の入力住所フィールド (AddressAddress2Address3 など) をサポートしています。 この場合、住所コンポーネントは複数のフィールドに分割可能で、これらの住所フィールドはジオコーディング時に連結されます。 たとえば、3 つのフィールドに 100、Main st、Apt 140 がある場合や、2 つのフィールドに 100 Main st と Apt 140 がある場合、ジオコーディングのときは、どちらも 100 Main st Apt 140 になります。

  • 出力フィーチャクラスは住所ロケーターと同じ空間参照内に保存されます。 出力フィーチャクラスの空間参照を変更するには、ツールの環境設定で異なる出力座標系を設定します。

  • 出力フィーチャクラスには、各レコードの入力アドレスおよびその他の情報 (スコア、ステータス、照合された住所など) のコピーがデフォルトで格納されます。 住所の再照合を行うには、[住所の再照合 (Rematch Addresses)] ツールを使用するか、[住所の再照合] ウィンドウを開く [住所の再照合] オプションを使用します。 一度、照合処理が終了しフィーチャクラスが作成されると、入力アドレス テーブル内の住所の変更は出力フィーチャクラスの結果には反映されません。

    ジオコーディング結果の再照合の詳細

  • ArcGIS World Geocoding Service を使用して住所のテーブルを照合するには、ArcGIS Online 組織向けプラン サブスクリプションが必要です。

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

パラメーター

ラベル説明データ タイプ
入力テーブル

ジオコーディングする住所テーブル。

Table View
入力住所ロケーター

住所テーブルのジオコーディングに使用する住所ロケーター。

注意:

必要に応じて、ロケーター パスの末尾にあるロケーター名の後に .loc 拡張子を付けます。

Address Locator
入力住所フィールド

住所ロケーターで使用される住所フィールドの、入力アドレス テーブルのフィールドへのマッピング。 完全な住所が、入力テーブルの 1 つのフィールドに格納されている場合 (たとえば、303 Peachtree St NE, Atlanta, GA 30308)、[単一フィールド] を選択します。 入力住所が、米国の一般的な住所に使用される複数のフィールド (AddressCityStateZIP など) に分割されている場合、[複数フィールド] を選択します。 完全な住所と国が別々のフィールドに分かれている場合 (例: Address (303 Peachtree St NE, Atlanta, GA 30308) と Country (USA))、[単一のフィールドと国フィールド] を選択します。

一部のロケーターは、複数の入力住所フィールド (AddressAddress2Address3 など) をサポートしています。 この場合、住所コンポーネントは複数のフィールドに分割可能で、これらの住所フィールドはジオコーディング時に連結されます。 たとえば、3 つのフィールドに 100、Main st、Apt 140 がある場合や、2 つのフィールドに 100 Main st と Apt 140 がある場合、ジオコーディングのときは、どちらも 100 Main st Apt 140 になります。

住所ロケーターで使用されるオプションの入力住所フィールドを入力アドレス テーブル内のフィールドにマッピングしない場合、フィールド名の代わりに [<なし>] を使用してマッピングしないことを示します。

Field Info
出力フィーチャクラス

ジオコーディングされた出力フィーチャクラス。

注意:

シェープファイルの制限のため、シェープファイル形式への出力の保存はサポートされていません。

Feature Class
ダイナミック出力フィーチャクラス
(オプション)

このパラメーターは ArcGIS AllSource では非アクティブです。 ArcGIS Desktop との下位互換性をサポートするために残されています。

Boolean
(オプション)

ジオコーディングされた住所を検索する 1 つまたは複数の国。

これは国パラメーターに対応したロケーターを対象とするもので、ジオコーディングを特定の国々に制限する働きがあります。 国を指定すれば、多くの場合、ジオコーディングの精度が向上します。 [入力住所フィールド] パラメーターで [単一のフィールドと国フィールド] を選択し、[入力テーブル] パラメーター値を使用して国を表すフィールドを [入力住所フィールド] パラメーター値の Country フィールドにマッピングした場合、[入力テーブル] パラメーターの国の値の方が、[国] パラメーターよりも優先されます。

これは、指定した国またはエリアに制限されます。 国を指定しないと、ロケーターでサポートされているすべての国に対してジオコーディングが実行されます。

すべてのロケーターが [国] パラメーターに対応しているわけではありません。

String
優先位置タイプ
(オプション)

[PointAddress] の照合に使用される優先出力ジオメトリを指定します。 このパラメーターのオプションは、ルート検索に使用できる道路の片側の位置を表す [ルート検索位置] または屋上や住所の区画の重心を表す [住所の位置] です。 優先位置がデータに存在しない場合、デフォルト位置が返されます。 Addr_type=PointAddress のジオコード結果の場合、x および y 属性値は道路に沿った住所の座標を記述し、DisplayX および DisplayY の値は屋上または建物の重心の座標を記述します。

すべてのロケーターがこのパラメーターに対応しているわけではありません。

  • 住所の位置屋根の位置、区画の重心、玄関などの住所位置を表すジオコード結果のジオメトリが返されます。
  • ルート検索の位置車両のルート検索に使用できる道路の片側に近い位置を表すジオコード結果のジオメトリを返します。 これがデフォルトです。
String
カテゴリ
(オプション)

ロケーターが検索する場所のタイプを制限します。これにより、誤判定の一致が除外されるため、検索処理の速度が上がる可能性があります。 カテゴリを指定しないと、サポートされているすべてのカテゴリに対してジオコーディングが実行されます。 すべての位置および国に対して、すべてのカテゴリ値がサポートされているわけではありません。 通常、このパラメーターは次の目的に使用できます。

  • 一致を特定の場所タイプまたは住所レベルに制限します
  • 不要な住所レベルの代替一致を回避します
  • 座標検索のあいまいさを解消します

すべてのロケーターがこのパラメーターに対応しているわけではありません。

カテゴリ フィルター」の詳細については、ArcGIS REST API Web ヘルプをご参照ください。

String
出力フィールド
(オプション)

ジオコード結果で返されるロケーター出力フィールドを指定します。

  • すべて使用可能なすべてのロケーター出力フィールドがジオコード結果に含まれます。 これがデフォルトです。
  • 位置のみShape フィールドがジオコード結果に格納されます。 [入力テーブル] パラメーター値の元のフィールド名は、元のフィールド名を使用して維持されます。
  • 最小場所とその場所がジオコード結果のロケーター内の情報にどれだけ一致しているかが記述されたフィールド (ShapeStatusScoreMatch_typeMatch_addr、および Addr_type) が追加されます。 [入力テーブル] パラメーター値から取得された元のフィールド名が維持されます。
  • 最小およびユーザー フィールドジオコード結果のユーザー定義のカスタム出力フィールドとともに、場所とその場所がロケーターの情報にどれだけ一致しているかを記述したフィールド (ShapeStatusScoreMatch_typeMatch_addr、および Addr_type) が追加されます。 [入力テーブル] パラメーター値から取得された元のフィールド名が維持されます。
注意:

このパラメーターは、ディスク上に保存されているか、Enterprise 10.9 以降に公開されている [ロケーターの作成 (Create Locator)] または [フィーチャ ロケーターの作成 (Create Feature Locator)] ツールによって作成された入力ロケーターと共に使用できます。 [住所ロケーターの作成 (Create Address Locator)] ツールを使用して作成されたロケーターが 1 つ以上含まれているコンポジット ロケーターでは、このパラメーターを使用できません。

String

arcpy.geocoding.GeocodeAddresses(in_table, address_locator, in_address_fields, out_feature_class, {out_relationship_type}, {country}, {location_type}, {category}, {output_fields})
名前説明データ タイプ
in_table

ジオコーディングする住所テーブル。

Table View
address_locator

住所テーブルのジオコーディングに使用する住所ロケーター。

注意:

必要に応じて、ロケーター パスの末尾にあるロケーター名の後に .loc 拡張子を付けます。

Address Locator
in_address_fields
[input_address_field, table_field_name]

このパラメーターでマッピングしている各フィールドの形式は input_address_field, table_field_name です。ここで、input_address_field は住所ロケーターで指定された入力住所フィールドの名前であり、table_field_name はジオコーディングする住所テーブル内の対応するフィールドの名前です。

完全な住所を格納する単一の入力フィールドを指定できます (たとえば、303 Peachtree St NE, Atlanta, GA 30308)。 また、入力住所が、米国の一般的な住所に使用される AddressCityStateZIP などの複数のフィールドに分割されている場合は、複数のフィールドを指定することもできます。 完全な住所 (例: 303 Peachtree St NE, Atlanta, GA 30308) を格納する単一入力フィールド、および住所に関連付けられている国 (例: USA) を格納するフィールドも指定できます。

一部のロケーターは、複数の入力住所フィールド (AddressAddress2Address3 など) をサポートしています。 この場合、住所コンポーネントは複数のフィールドに分割可能で、これらの住所フィールドはジオコーディング時に連結されます。 たとえば、3 つのフィールドに 100、Main st、Apt 140 がある場合や、2 つのフィールドに 100 Main st と Apt 140 がある場合、ジオコーディングのときは、どちらも 100 Main st Apt 140 になります。

住所ロケーターで使用されるオプションの入力住所フィールドを入力アドレス テーブル内のフィールドにマッピングしない場合、フィールド名の代わりに <None> を使用してマッピングしないことを示します。

Field Info
out_feature_class

ジオコーディングされた出力フィーチャクラス。

注意:

シェープファイルの制限のため、シェープファイル形式への出力の保存はサポートされていません。

Feature Class
out_relationship_type
(オプション)
レガシー:

このパラメーターは、ArcGIS AllSource では効果がありません。 ArcGIS Desktop との下位互換性をサポートするために残されています。

ArcGIS AllSource で使用できる値は STATIC のみです。

  • STATIC入力アドレス テーブル内のフィールドの静的コピーは出力フィーチャクラスに作成されます。 使用できるのはこの値のみです。
  • DYNAMICArcGIS AllSource ではこのオプションを使用できません。 このツールについては、ArcGIS Desktop のヘルプをご参照ください。
Boolean
country
[country,...]
(オプション)

ジオコーディングされた住所を検索する 1 つまたは複数の国。

これは国パラメーターに対応したロケーターを対象とするもので、ジオコーディングを特定の国々に制限する働きがあります。 国を指定すれば、多くの場合、ジオコーディングの精度が向上します。 in_table パラメーターの国を表すフィールドが、input_address_field パラメーター値の Country フィールドにマッピングされる場合、in_table パラメーターの国の値の方が、country パラメーターよりも優先されます。

これは、指定した国またはエリアに制限されます。 国を指定しないと、ロケーターでサポートされているすべての国に対してジオコーディングが実行されます。

2 文字または 3 文字の国コードとして値をカンマ区切りリストに指定します。 使用する入力値については、「サポートされている国コード列」をご参照ください。

すべてのロケーターが country パラメーターに対応しているわけではありません。

String
location_type
(オプション)

POINT_ADDRESS の照合に使用される優先出力ジオメトリを指定します。 このパラメーターのオプションは、ルート検索に使用できる道路脇の位置を表す ROUTING_LOCATION または屋上、住所の区画の重心、玄関を表す ADDRESS_LOCATION です。 優先位置がデータに存在しない場合、ROUTING_LOCATION のデフォルト位置が返されます。 Addr_type = PointAddress のジオコード結果の場合、x および y 属性値は道路に沿った住所の座標を記述し、DisplayX および DisplayY の値は屋上または建物の重心の座標を記述します。 「geocodeAddresseslocationType パラメーター」の詳細については、ArcGIS REST API Web ヘルプをご参照ください。

すべてのロケーターがこのパラメーターに対応しているわけではありません。

  • ADDRESS_LOCATION屋根の位置、区画の重心、玄関などの住所位置を表すジオコード結果のジオメトリが返されます。
  • ROUTING_LOCATION車両のルート検索に使用できる道路の片側に近い位置を表すジオコード結果のジオメトリを返します。 これがデフォルトです。
String
category
[category,...]
(オプション)

ロケーターが検索する場所のタイプを制限します。これにより、誤判定の一致が除外されるため、検索処理の速度が上がる可能性があります。 カテゴリを指定しないと、サポートされているすべてのカテゴリに対してジオコーディングが実行されます。 すべての位置および国に対して、すべてのカテゴリ値がサポートされているわけではありません。 通常、このパラメーターは次の目的に使用できます。

  • 一致を特定の場所タイプまたは住所レベルに制限します
  • 不要な住所レベルの代替一致を回避します
  • 座標検索のあいまいさを解消します

すべてのロケーターがこのパラメーターに対応しているわけではありません。

カテゴリ フィルター」の詳細については、ArcGIS REST API Web ヘルプをご参照ください。

String
output_fields
(オプション)

ジオコード結果で返されるロケーター出力フィールドを指定します。

注意:

このパラメーターは、ディスク上に保存されているか、Enterprise 10.9 以降に公開されている [ロケーターの作成 (Create Locator)] または [フィーチャ ロケーターの作成 (Create Feature Locator)] ツールによって作成された入力ロケーターと共に使用できます。 [住所ロケーターの作成 (Create Address Locator)] ツールを使用して作成されたロケーターが 1 つ以上含まれているコンポジット ロケーターでは、このパラメーターを使用できません。

  • ALL使用可能なすべてのロケーター出力フィールドがジオコード結果に含まれます。 これがデフォルトです。
  • LOCATION_ONLYShape フィールドがジオコード結果に格納されます。 in_table パラメーター値の元のフィールド名は、元のフィールド名を使用して維持されます。
  • MINIMAL場所とその場所がジオコード結果のロケーター内の情報にどれだけ一致しているかが記述されたフィールド (ShapeStatusScoreMatch_typeMatch_addr、および Addr_type) が追加されます。 in_table パラメーター値の元のフィールド名が維持されます。
  • MINIMAL_AND_USERユーザー定義のカスタム出力フィールドとともに、場所とその場所がジオコード結果のロケーターの情報にどれだけ一致しているかを記述したフィールド (ShapeStatusScoreMatch_typeMatch_addr、および Addr_type) が追加されます。 in_table パラメーター値の元のフィールド名が維持されます。
String

コードのサンプル

GeocodeAddresses の例 (スタンドアロン スクリプト)

次のスクリプトで GeocodeAddresses 関数を使用して、ローカル ロケーターを使用した住所テーブルをジオコーディングする方法を示します。


import arcpy

arcpy.env.workspace = "C:\Geocoding\atlanta"

# Set local variables
table = "customers.dbf"
locator = "Atlanta_AddressLocator.loc"
field_map = ("\'Address or Place\' Address VISIBLE NONE;Address2 <None> VISIBLE NONE;Address3 <None> VISIBLE NONE;" +
                  "Neighborhood <None> VISIBLE NONE;City <None> VISIBLE NONE;County <None> VISIBLE NONE;" +
                  "State <None> VISIBLE NONE;ZIP ZIP <None> VISIBLE NONE;ZIP4 <None> VISIBLE NONE;" +
                  "Country <None> VISIBLE NONE")
geocode_result = "geocode_result.shp"

arcpy.geocoding.GeocodeAddresses(table, locator, 
                                 field_map, geocode_result)
GeocodeAddresses の例 2 (スタンドアロン スクリプト)

次のスクリプトで GeocodeAddresses 関数を使用して、AGS 接続経由でサーバー ロケーターを使用した住所テーブルをジオコーディングする方法を示します。


import arcpy

# Set local variables:
table = r"C:\data\Atlanta.gdb\customers"
locator = r"C:\ags_connections\server_name.ags\Atlanta.GeocodeServer"
field_map = "'Single Line Input' SingleLine VISIBLE NONE"
geocode_result = r"C:\outputs\geocode_result.shp"

arcpy.geocoding.GeocodeAddresses(table, locator,
                                 field_map, geocode_result)
GeocodeAddresses の例 3 (スタンドアロン スクリプト)

次のスクリプトで GeocodeAddresses 関数を使用して、ポータル ロケーターを使用した住所テーブルをジオコーディングする方法を示します。

注意:

お使いのポータルにあるロケーターを操作する場合は、サイン インしていること、およびそのポータルを ArcGIS AllSource でアクティブなポータルとして設定していることを確認してください。 アクティブなポータル以外のポータルにあるロケーターにアクセスするには、SignInToPortal 関数を使用して認証できます。


import arcpy

# Set local variables
table = r"C:\data\Atlanta.gdb\customers"
locator = "https://machinename.domain.com/server/rest/services/service_name/GeocodeServer/portal_item_name"
field_map = ("\'Address or Place\' Address VISIBLE NONE;Address2 <None> VISIBLE NONE;Address3 <None> VISIBLE NONE;" +
                  "Neighborhood <None> VISIBLE NONE;City <None> VISIBLE NONE;County <None> VISIBLE NONE;" +
                  "State <None> VISIBLE NONE;ZIP ZIP <None> VISIBLE NONE;ZIP4 <None> VISIBLE NONE;" +
                  "Country <None> VISIBLE NONE")
geocode_result = r"C:\outputs\geocode_result.shp"

arcpy.geocoding.GeocodeAddresses(table, locator, field_map, geocode_result)
GeocodeAddresses の例 4 (スタンドアロン スクリプト)

次のスクリプトで GeocodeAddresses 関数を使用して、ArcGIS World Geocoding Service を使用した住所テーブルをジオコーディングする方法を示します。

注意:

お使いのポータルにあるロケーターを操作する場合は、ログインしていること、およびそのポータルを ArcGIS AllSource でアクティブなポータルとして設定していることを確認してください。 アクティブなポータル以外のポータルにあるロケーターにアクセスするには、SignInToPortal 関数を使用して認証できます。

注意:

ArcGIS World Geocoding Service を使用している場合、この操作でクレジットが消費されることがあります。


import arcpy

# Set local variables
table = r"C:\data\Addresses.csv"

#Sign in to Portal
#arcpy.SignInToPortal("https://www.arcgis.com.", "MyUsername", "MyPassword")

locator = "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/ArcGIS World Geocoding Service"

field_map = ("\'Address or Place\' Address VISIBLE NONE;Address2 <None> VISIBLE NONE;Address3 <None> VISIBLE NONE;" +
             "Neighborhood <None> VISIBLE NONE;City <None> VISIBLE NONE;Subregion <None> VISIBLE NONE;" +
             "Region <None> VISIBLE NONE;ZIP ZIP <None> VISIBLE NONE;ZIP4 <None> VISIBLE NONE;" +
             "Country <None> VISIBLE NONE")

geocode_result = r"C:\outputs\geocode_result.shp"

arcpy.geocoding.GeocodeAddresses(table, locator, field_map, geocode_result)
GeocodeAddresses の例 5 (スタンドアロン スクリプト)

次のスクリプトで GeocodeAddresses 関数を使用して、ArcGIS World Geocoding Service を使用した住所テーブル (すべての住所データが単一のフィールドにあり、国データが 2 番目のフィールドにある) をジオコーディングする方法を示します。

注意:

お使いのポータルにあるロケーターを操作する場合は、サイン インしていること、およびそのポータルを ArcGIS AllSource でアクティブなポータルとして設定していることを確認してください。 アクティブなポータル以外のポータルにあるロケーターにアクセスするには、SignInToPortal 関数を使用して認証できます。

注意:

ArcGIS World Geocoding Service を使用している場合、この操作でクレジットが消費されることがあります。


import arcpy

# Set local variables
table = r"C:\Data\MyDatabase.gdb\DistributionCenters"

#Sign in to Portal
#arcpy.SignInToPortal("https://www.arcgis.com.", "MyUsername", "MyPassword")

locator = "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/ArcGIS World Geocoding Service"

field_map = "'Single Line Input' SingleLine VISIBLE NONE;Country Country VISIBLE NONE"

geocode_result = r"C:\Data\MyDatabase.gdb\DistributionCenters_Geocoded"

arcpy.geocoding.GeocodeAddresses(table, locator, field_map, geocode_result)