バッチ ジオコーディング (Batch Geocode) (ジオコーティング)

サマリー

batchGeocode REST API を非同期的に使用して、住所または場所を含む大きなテーブルまたは .csv ファイルをジオコーディングします。 ジオコーディングされた結果はフィーチャクラスとして返され、ArcGIS Pro で要求を小さなバッチに分割する必要はありません。

このツールを使用するときは、ジオコーディングを分離して、他のプロセスとは独立にサーバーでスケーリングできます。 たとえば、ジョブを ArcGIS World Geocoding Service に送信するとき、ファイルを処理するために専用のハードウェアを割り当て、応答を高速にできます。 ArcGIS World Geocoding Service、または Kubernetes クラスターが構成済みの ArcGIS Enterprise on Kubernetes 11.5 またはそれ以降でホストされているサービスを選択できます。

注意:

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

アクティブなポータルが ArcGIS Online のとき、クレジットの推定がツールの [ジオプロセシング] ウィンドウの上端に表示されます。

使用法

  • [入力バッチ サービス] パラメーターの値に ArcGIS World Geocoding Service を使用している場合、入力テーブルまたはファイルには少なくとも 100,000 レコードが含まれている必要があります。

  • [入力バッチ サービス] パラメーターの値に ArcGIS World Geocoding Service を使用している場合、[入力テーブル] パラメーターの値は、ジョブが完了するまで ArcGIS Online ポータルに一時的に格納されます。 ジョブが完了すると、テンポラリ ファイルはポータルから削除されます。

  • このツールでサポートされるレコードの最大数は 5,000 万です。 テーブルが 5,000 万レコードを超える場合は、5,000 万レコード以下の複数のテーブルに分割します。 入力が .csv ファイルの場合は、バイト オーダー マーク (BOM) として UTF-8 エンコーディングを使用している必要があります。

    注意:

    Microsoft ExcelNotepad++ などのサードパーティ アプリケーションを使用して、UTF-8 BOM を .csv ファイルに追加できます。

  • 入力 .csv ファイルの最初の行は、ロケーターからアペンドされるフィールドとともに、出力フィーチャクラスのフィールド名として使用されます。 フィールド名には、空白文字や、アンダースコア以外の特殊文字は使用できません。

    注意:

    ツールを Python で使用するとき、table_field_name パラメーターの値のフィールドは、address_fields パラメーターを使用するフィールドのマッピングに使用するの input_address_field パラメーターの値と同じケースであることが必要です。

  • バッチ ジオコード機能が有効な状態でロケーターを ArcGIS Enterprise on Kubernetes に公開すると、GeocodeServer サービスと GPServer サービスという 2 つのサービスが作成されます。 ツールを Python で使用するとき、in_batch_service パラメーターの値は GPServer、たとえば https://machinename.domain.com/server/rest/services/service_name/GPServer にする必要があります。

  • ジオコーディングの結果は、サービスと同じ空間参照内に保存されます。 出力の空間参照を変更するには、出力座標系の環境を設定します。

  • ジオコーディングの結果には、スコア、ステータス、各レコードの一致した住所など、関連するすべてのジオコーディング情報だけでなく、元の入力テーブルまたはファイル内の値も含まれます。 このツールで生成されるジオコーディングの結果には、元の入力テーブルの静的なスナップショットが含まれるため、元のテーブルで値の追加や更新を行っても、その結果が出力フィーチャクラスに反映されません。 これらの変更を含む出力フィーチャクラスを作成するには、このツールを再実行します。

  • [国または地域][優先位置情報][カテゴリ] のパラメーターは、[入力バッチ サービス] パラメーターの値に使用されるすべてのバッチ サービスでサポートされているわけではありません。

  • このツールは選択をサポートしていません。 テーブルの一部をジオコーディングするには、テーブルのジオコーディングする部分をエクスポートし、新しい小さなテーブルでツールを実行します。

パラメーター

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

ジオコーディングされる住所または場所が含まれるポータル上のテーブルまたは .csv ファイル。

Table View
入力バッチ サービス

バッチ ジオコードをサポートし、住所や場所のテーブルをジオコーディングするために使用される、ポータル上のジオコード サービス。

注意:

このサービスがカスタム ロケーター、または ArcGIS StreetMap Premium ロケーターの場合、ArcGIS Enterprise on Kubernetes 11.5 またはそれ以降で、バッチ ジオコードが有効な状態で公開されたものである必要があります。

String
住所フィールドのマッピング

ロケーターで使用される住所フィールドの、入力アドレス テーブルまたはファイルのフィールドへのマッピング。 完全な住所 (303 Peachtree St NE, Atlanta, GA 30308 など) が入力テーブルまたはファイルの 1 つのフィールドに格納されている場合は、[単一フィールド] を指定します。 入力住所が、米国の一般的な住所に使用される複数のフィールド (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
国または地域

ジオコーディングされた住所について、検索対象をそれらの国に制限する、1 つまたは複数の国。 国を指定すれば、多くの場合、ジオコーディングの精度が向上します。 国を指定しないと、ロケーターでサポートされているすべての国に対してジオコーディングが実行されます。

[住所フィールドのマッピング] パラメーターの [1 つのフィールドと国フィールド] を指定すると、このパラメーターの値はオーバーライドされます。

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

PointAddress の一致で返される優先出力ジオメトリーを指定します。 優先位置がデータに存在しない場合、デフォルト位置が返されます。 「geocodeAddresseslocationType パラメーター」の詳細については、ArcGIS REST API Web ヘルプをご参照ください。

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

ロケーターが検索する場所のタイプを制限します。これにより、偽陽性の一致、希望しない住所レベルの一致、あいまいな座標検索が除外されます。 このパラメーターは、検索プロセスを高速化するために役立ちます。 カテゴリを指定しないと、サポートされているすべてのカテゴリに対してジオコーディングが実行されます。 すべての位置および国に対して、すべてのカテゴリ値がサポートされているわけではありません。

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

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

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

[位置のみ][最小]、または [最小およびユーザー フィールド] オプションが指定されている場合、[入力テーブル] パラメーターの値にある元のフィールド名は保持されます。

  • すべて使用可能なすべてのロケーター出力フィールドがジオコード結果に含まれます。 これがデフォルトです。
  • 位置のみShape フィールドがジオコード結果に格納されます。
  • 最小場所とその場所がジオコード結果のロケーター内の情報にどれだけ一致しているかが記述されたフィールド (ShapeStatusScoreMatch_typeMatch_addr、および Addr_type) が追加されます。
  • 最小およびユーザー フィールドMINIMAL フィールドと、ユーザー定義のカスタム出力フィールドが追加され、ジオコード結果で返されます。
String

arcpy.geocoding.BatchGeocode(in_table, in_batch_service, address_fields, out_feature_class, country, {location_type}, {category}, {output_fields})
名前説明データ タイプ
in_table

ジオコーディングされる住所または場所が含まれるポータル上のテーブルまたは .csv ファイル。

Table View
in_batch_service

バッチ ジオコードをサポートし、住所や場所のテーブルをジオコーディングするために使用される、ポータル上のジオコード サービス。

注意:

このサービスがカスタム ロケーター、または ArcGIS StreetMap Premium ロケーターの場合、ArcGIS Enterprise on Kubernetes 11.5 またはそれ以降で、バッチ ジオコードが有効な状態で公開されたものである必要があります。

String
address_fields

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

in_table の値で 1 つのフィールドに完全な住所が、たとえば 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
country
[country,...]

ジオコーディングされた住所について、検索対象をそれらの国に制限する、1 つまたは複数の国。 国を指定すれば、多くの場合、ジオコーディングの精度が向上します。 国を指定しないと、ロケーターでサポートされているすべての国に対してジオコーディングが実行されます。

in_table パラメーターの値のフィールドが、address_fields パラメーターの Country フィールドにマップされているとき、このパラメーターの値はオーバーライドされます。

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

String
location_type
(オプション)

PointAddress の一致で返される優先出力ジオメトリーを指定します。 優先位置がデータに存在しない場合、ADDRESS_LOCATION のデフォルト位置が返されます。 「geocodeAddresseslocationType パラメーター」の詳細については、ArcGIS REST API Web ヘルプをご参照ください。

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

ロケーターが検索する場所のタイプを制限します。これにより、偽陽性の一致、希望しない住所レベルの一致、あいまいな座標検索が除外されます。 このパラメーターは、検索プロセスを高速化するために役立ちます。 カテゴリを指定しないと、サポートされているすべてのカテゴリに対してジオコーディングが実行されます。 すべての位置および国に対して、すべてのカテゴリ値がサポートされているわけではありません。

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

String
output_fields
(オプション)

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

LOCATION_ONLYMINIMAL、または MINIMAL_AND_USER オプションが指定されている場合、in_table パラメーターの値にある元のフィールド名は保持されます。

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

コードのサンプル

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

次のスクリプトは、BatchGeocode 関数を使用して .csv ファイルを ArcGIS World Geocoding Service でジオコーディングし、MINIMAL output_fields をジオコード結果で返す方法を示しています。

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

注意:

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

import arcpy

# Set local variables

# Input is a local file
in_table = r"C:\data\customers.csv"

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

in_batch_service = "https://geocode.arcgis.com/arcgis/rest/services/World/GPServer/BatchGeocode/"

# One way to generate the value for the field mapping parameter is to first run the tool in ArcGIS 
# Pro and right-click the green success ribbon and click "Copy Python command"
# The table_field_name fields must be in the same case as the input_address_field fields.

address_fields = "'Address or Place' Address VISIBLE NONE;Address2 <None> VISIBLE NONE;Address3 <None> VISIBLE NONE;
Neighborhood <None> VISIBLE NONE;City City VISIBLE NONE;County <None> VISIBLE NONE;State State VISIBLE NONE;
ZIP ZIPCODE VISIBLE NONE;ZIP4 <None> VISIBLE NONE;Country <None> VISIBLE NONE"

geocode_result = r"C:\Mydata\results.gdb\geocode_results"

# Optional geocoding parameters. Only some are supported depending on the in_batch_service that you use.
country = USA
location_type = "ADDRESS_LOCATION"
category = "'Point Address'"
output_fields = "MINIMAL"

arcpy.geocoding.BatchGeocode(in_table, in_batch_service, address_fields, geocode_result, 
                             country, location_type, category, output_fields)
BatchGeocode の例 2 (スタンドアロン スクリプト)

次のスクリプトは、BatchGeocode 関数を使用してテーブルをポータル バッチ サービスでジオコーディングし、ジオコード結果のデフォルトを output_fields にする方法を示しています。

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

import arcpy

# Set local variables

# Input is a local file
in_table = r"C:\data\mytables.gdb\restaurants"

in_batch_service = "https://machinename.domain.com/server/rest/services/service_name/GPServer/"

# One way to generate the value for the field mapping parameter is to first run the tool in ArcGIS 
# Pro and right-click the green success ribbon and click "Copy Python command"
# The table_field_name fields must be in the same case as the input_address_field fields.

address_fields = "'Address or Place' Address VISIBLE NONE;Address2 <None> VISIBLE NONE;Address3 <None> VISIBLE NONE;
Neighborhood <None> VISIBLE NONE;City City VISIBLE NONE;County <None> VISIBLE NONE;State State VISIBLE NONE;
ZIP ZIPCODE VISIBLE NONE;ZIP4 <None> VISIBLE NONE;Country <None> VISIBLE NONE"

geocode_result = r"C:\My_Output.gdb\geocode_result"

# Optional geocoding parameters. Only some are supported depending on the in_batch_service that you use.
country = USA
location_type = "ROUTING_LOCATION"
category = "'Point Address'"
output_fields = "ALL"

arcpy.geocoding.BatchGeocode(in_table, in_batch_service, address_fields, geocode_result,
                             country, location_type, category, output_fields)

ライセンス情報

  • Basic: 次のものが必要 ArcGIS Enterprise のアカウントで [解析の実行] 権限を設定
  • Standard: 次のものが必要 ArcGIS Enterprise のアカウントで [解析の実行] 権限を設定
  • Advanced: 次のものが必要 ArcGIS Enterprise のアカウントで [解析の実行] 権限を設定

関連トピック