ラベル | 説明 | データ タイプ |
入力テーブル | ジオコーディングされる住所または場所が含まれるポータル上のテーブルまたは .csv ファイル。 | Table View |
入力バッチ サービス | バッチ ジオコードをサポートし、住所や場所のテーブルをジオコーディングするために使用される、ポータル上のジオコード サービス。 注意:このサービスがカスタム ロケーター、または ArcGIS StreetMap Premium ロケーターの場合、ArcGIS Enterprise on Kubernetes 11.5 またはそれ以降で、バッチ ジオコードが有効な状態で公開されたものである必要があります。 | String |
住所フィールドのマッピング | ロケーターで使用される住所フィールドの、入力アドレス テーブルまたはファイルのフィールドへのマッピング。 完全な住所 (303 Peachtree St NE, Atlanta, GA 30308 など) が入力テーブルまたはファイルの 1 つのフィールドに格納されている場合は、[単一フィールド] を指定します。 入力住所が、米国の一般的な住所に使用される複数のフィールド (Address、City、State、ZIP など) に分割されている場合、[複数フィールド] を指定します。 完全な住所と国が別々のフィールドに分かれている場合 (例: Address (303 Peachtree St NE, Atlanta, GA 30308) と Country (USA))、[単一のフィールドと国フィールド] を指定します。 一部のロケーターは、複数の入力住所フィールド (Address、Address2、Address3 など) をサポートしています。 この場合、住所コンポーネントは複数のフィールドに分割可能で、これらの住所フィールドはジオコーディング時に連結されます。 たとえば、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 の一致で返される優先出力ジオメトリーを指定します。 優先位置がデータに存在しない場合、デフォルト位置が返されます。 「geocodeAddresses の locationType パラメーター」の詳細については、ArcGIS REST API Web ヘルプをご参照ください。
| String |
カテゴリ (オプション) | ロケーターが検索する場所のタイプを制限します。これにより、偽陽性の一致、希望しない住所レベルの一致、あいまいな座標検索が除外されます。 このパラメーターは、検索プロセスを高速化するために役立ちます。 カテゴリを指定しないと、サポートされているすべてのカテゴリに対してジオコーディングが実行されます。 すべての位置および国に対して、すべてのカテゴリ値がサポートされているわけではありません。 「カテゴリ フィルター」の詳細については、ArcGIS REST API Web ヘルプをご参照ください。 | String |
出力フィールド (オプション) | ジオコード結果で返されるロケーター出力フィールドを指定します。 [位置のみ]、[最小]、または [最小およびユーザー フィールド] オプションが指定されている場合、[入力テーブル] パラメーターの値にある元のフィールド名は保持されます。
| String |
サマリー
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 Excel や Notepad++ などのサードパーティ アプリケーションを使用して、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 にする必要があります。
ジオコーディングの結果は、サービスと同じ空間参照内に保存されます。 出力の空間参照を変更するには、出力座標系の環境を設定します。
ジオコーディングの結果には、スコア、ステータス、各レコードの一致した住所など、関連するすべてのジオコーディング情報だけでなく、元の入力テーブルまたはファイル内の値も含まれます。 このツールで生成されるジオコーディングの結果には、元の入力テーブルの静的なスナップショットが含まれるため、元のテーブルで値の追加や更新を行っても、その結果が出力フィーチャクラスに反映されません。 これらの変更を含む出力フィーチャクラスを作成するには、このツールを再実行します。
[国または地域]、[優先位置情報]、[カテゴリ] のパラメーターは、[入力バッチ サービス] パラメーターの値に使用されるすべてのバッチ サービスでサポートされているわけではありません。
このツールは選択をサポートしていません。 テーブルの一部をジオコーディングするには、テーブルのジオコーディングする部分をエクスポートし、新しい小さなテーブルでツールを実行します。
パラメーター
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 のように格納されている場合は、単一の入力フィールドを指定します。 また、入力住所が、米国の一般的な住所に使用される Address、City、State、ZIP などの複数のフィールドに分割されている場合は、複数のフィールドを指定することもできます。 完全な住所 (例: 303 Peachtree St NE, Atlanta, GA 30308) を格納する単一入力フィールド、および住所に関連付けられている国 (例: USA) を格納するフィールドも指定できます。 一部のロケーターは、複数の入力住所フィールド (Address、Address2、Address3 など) をサポートしています。 この場合、住所コンポーネントは複数のフィールドに分割可能で、これらの住所フィールドはジオコーディング時に連結されます。 たとえば、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 のデフォルト位置が返されます。 「geocodeAddresses の locationType パラメーター」の詳細については、ArcGIS REST API Web ヘルプをご参照ください。
| String |
category [category,...] (オプション) | ロケーターが検索する場所のタイプを制限します。これにより、偽陽性の一致、希望しない住所レベルの一致、あいまいな座標検索が除外されます。 このパラメーターは、検索プロセスを高速化するために役立ちます。 カテゴリを指定しないと、サポートされているすべてのカテゴリに対してジオコーディングが実行されます。 すべての位置および国に対して、すべてのカテゴリ値がサポートされているわけではありません。 「カテゴリ フィルター」の詳細については、ArcGIS REST API Web ヘルプをご参照ください。 | String |
output_fields (オプション) | ジオコード結果で返されるロケーター出力フィールドを指定します。 LOCATION_ONLY、MINIMAL、または MINIMAL_AND_USER オプションが指定されている場合、in_table パラメーターの値にある元のフィールド名は保持されます。
| String |
コードのサンプル
次のスクリプトは、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 関数を使用してテーブルをポータル バッチ サービスでジオコーディングし、ジオコード結果のデフォルトを 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 のアカウントで [解析の実行] 権限を設定