概要
住所または場所の大きなローカル テーブルをフィーチャクラスのポイントに変換するか、スタンドアロンの *.csv または *.xls テーブルとして変換します。このツールは、ArcGIS Enterprise ポータルでホストされているロケーターを使用します。
メモ:
このツールは、ArcGIS Enterprise 10.7 以降のポータルと組み合わせた ArcGIS Pro 2.4 以降で動作します。
使用法
このツールは入力として次のテーブル形式をサポートします。
- カンマ区切り値のファイル (*.csv)
- ファイル ジオデータベース テーブル
- Microsoft Excel ワークシート (*.xls および *.xlsx ファイル)
入力 *.csv テーブルの場合、入力ファイルの最初の行は、ロケーターから追加されるフィールドとともに、出力テーブルのフィールド名として使用されます。フィールド名には、空白文字または特殊文字 ($ や * など) は使用できません。
ArcGIS Pro での Microsoft Excel ファイルの操作の詳細
メモ:
ファイル ジオデータベース形式の入力テーブルでジオコード結果を返す最も簡単な方法は、ファイル ジオデータベースの内容を制限するか、テーブルを 1 つ含むファイル ジオデータベースを指定することです。
単一のフィールドに格納されている住所も複数のフィールドに格納されている住所もジオコーディングすることができます。単一の入力フィールドには、完全な住所が格納されています。たとえば、「303 Peachtree St NE, Atlanta, GA 30308」のようになります。入力住所が、米国の一般的な住所に使用される Address、City、State、および ZIP などの複数のフィールドに分割されている場合、複数のフィールドがサポートされます。
一部のロケーターは、複数の入力住所フィールド (Address、Address2、Address3 など) をサポートしています。この場合、住所コンポーネントは複数のフィールドに分割可能で、これらの住所フィールドはジオコーディング時に連結されます。たとえば、3 つのフィールドに 100、Main St、Apt 140 がある場合や、2 つのフィールドに 100 Main St と Apt 140 がある場合、ジオコーディングのときは、どちらも 100 Main St Apt 140 になります。
このツールには、ArcGIS Enterprise 10.7 以降のポータルが必要です。
ユーティリティ サービスとしてポータルで使用できないポータル ロケーターがある場合は、そのロケーターをポータル ユーティリティ サービスとして追加し、バッチ ジオコーディングに対応できる構成にするようポータル管理者に依頼します。
複数のスレッドを使用するように構成された ArcGIS Enterprise ポータルでロケーターを使用すると、ジオコーディングのパフォーマンスが向上します。
ジオコーディング結果はロケーターと同じ空間参照内に保存されます。出力の空間参照を変更するには、このツールの環境設定で異なる出力座標系を設定します。
ジオコーディング結果には、スコア、ステータス、各レコードの一致した住所など、関連するすべてのジオコーディング情報だけでなく、元の入力テーブル内の値も含まれます。このツールで生成されるジオコーディングの結果には、元の入力テーブルの静的なスナップショットが含まれるため、元のテーブルで値の追加や更新を行っても、その結果は出力ファイルに反映されません。ツールを再実行して、これらの変更を含む新しい出力ファイルを作成します。
ジオコーディング結果がフィーチャクラスとして返された場合に、住所の再照合を行うには、[住所の再照合 (Rematch Addresses)] ツールを使用するか、または [住所の再照合] ウィンドウを開く [住所の再照合] オプションを使用します。
メモ:
バッチ ジオコーディングに複数のスレッドを使用する ArcGIS Enterprise ポータル 10.8 のロケーターを使用して、テーブルをジオコーディングする必要があります。
構文
arcpy.geocoding.GeocodeFile(in_table, locator, address_fields, output_type, output_location, output_name, {country}, {location_type}, {category}, {output_fields})
パラメーター | 説明 | データ タイプ |
in_table | ジオコーディングする住所または場所を含む CSV、XLS、XLSX 形式の入力テーブル、またはファイル ジオデータベース テーブル。 | Record Set |
locator | テーブルのジオコーディングに使用されるポータル ロケーター。 自動入力されたリストからアクティブなポータル上のロケーターを選択するか、アクティブなポータルを参照して他の使用可能なロケーターを選択します。アクティブなポータルでユーティリティ サービスとして設定されたロケーターをデフォルトで使用できます。 メモ:このツールでは、ArcGIS World Geocoding Service は無効化されています。ArcGIS World Geocoding Service を使用する場合は、[住所のジオコーディング (Geocode Addresses)] ツールを使用します。 | Address Locator |
address_fields | このパラメーターでマッピングしている各フィールドの形式は input_locator_field, table_field_name です。ここで、input_locator_field はロケーターで指定された入力住所フィールドの名前であり、table_field_name はジオコーディングする住所テーブル内の対応するフィールドの名前です。 完全な住所を格納する単一の入力フィールドを指定できます (たとえば、303 Peachtree St NE, Atlanta, GA 30308)。また、入力住所が、米国の一般的な住所に使用される Address、City、State、ZIP などの複数のフィールドに分割されている場合は、複数のフィールドを指定することもできます。 一部のロケーターは、複数の入力住所フィールド (Address、Address2、Address3 など) をサポートしています。この場合、住所コンポーネントは複数のフィールドに分割可能で、これらの住所フィールドはジオコーディング時に連結されます。たとえば、3 つのフィールドに 100、Main St、Apt 140 がある場合や、2 つのフィールドに 100 Main St と Apt 140 がある場合、ジオコーディングのときは、どちらも 100 Main St Apt 140 になります。 ロケーターで使用されるオプションの入力住所フィールドを住所の入力テーブル内のフィールドにマッピングしない場合、フィールド名の代わりに <None> を使用して、マッピングしないことを示します。 | Field Info |
output_type | ジオコード結果が書き込まれるファイル タイプを指定します。
| String |
output_location | 出力ジオコーディング結果が書き込まれるフォルダー。 出力が *.csv または *.xls ファイルの場合、出力ファイルは指定されたフォルダーに配置されます。 出力がフィーチャクラスの場合、出力ファイル ジオデータベースが作成され、指定されたフォルダーに配置されます。新しいファイル ジオデータベースには、ジオコーディングされたフィーチャクラスが含まれます。出力ファイル ジオデータベースとファイル ジオデータベース内のフィーチャクラスの名前は同じです。 | Workspace |
output_name | ジオコーディングされた出力結果の名前。 | String |
country [country,...] (オプション) | ジオコーディングされた住所を検索する 1 つまたは複数の国。これは「国」パラメーターに対応したロケーターを対象とするもので、ジオコーディングを特定の国々に制限する働きがあります 国を選択すれば、多くの場合、ジオコーディングの精度が向上します。[入力テーブル] パラメーターの国を表すフィールドが、Country の [ロール: フィールド名] にマップされる場合、[入力テーブル] パラメーターの国の値の方が、[国] パラメーターよりも優先されます。 国を指定しないと、ロケーターでサポートされているすべての国に対してジオコーディングが実行されます。入力値を ISO 3166-1 の国コード (3 文字) で指定します。 すべてのロケーターが [国] パラメーターに対応しているわけではありません。 | String |
location_type (オプション) | POINT_ADDRESS の照合の望ましい出力ジオメトリを指定します。このパラメーターのオプションは、ルート検索に使用できる道路脇の位置を表す ROUTING_LOCATION または屋上、住所の区画の重心、玄関を表す ADDRESS_LOCATION です。優先位置がデータに存在しない場合は、代わりに ROUTING_LOCATION のデフォルト位置が返されます。Addr_type=PointAddress のジオコード結果の場合、x および y 属性値は道路に沿った住所の座標を記述し、DisplayX および DisplayY の値は屋上または建物の重心の座標を記述します。reverseGeocode の locationType パラメーターの詳細については、REST API Web ヘルプをご参照ください。 このパラメーターは、すべてのロケーターではサポートされていません。
| String |
category [category,...] (オプション) | ロケーターが検索する場所のタイプを制限します。これにより、誤判定の一致が除外されるため、検索処理の速度が上がる可能性があります。カテゴリの指定がなければ、サポート対象のカテゴリすべてに対してジオコーディングを実施することになります。すべてのカテゴリ値がすべての場所と国でサポートされているとは限りません。通常、[カテゴリ] パラメーターは次の目的に使用できます。
このパラメーターは、すべてのロケーターではサポートされていません。 カテゴリ フィルタリングの詳細については、REST API Web ヘルプをご参照ください。 | String |
output_fields (オプション) | ジオコード結果で返されるロケーター出力フィールドを指定します。 メモ:このパラメーターは、Enterprise 10.9 以降に公開されている [ロケーターの作成 (Create Locator)] ツールまたは [フィーチャ ロケーターの作成 (Create Feature Locator)] ツールを使用して作成された入力ロケーターで使用できます。[住所ロケーターの作成 (Create Address Locator)] ツールを使用して作成されたロケーターが 1 つ以上含まれているコンポジット ロケーターでは、このパラメーターを使用できません。
| String |
派生した出力
名前 | 説明 | データ タイプ |
out_feature_class | 出力フィーチャクラス。 | フィーチャクラス |
out_table | CSV または XLS 形式の出力テーブルです (選択した [出力タイプ] の値によって異なります)。 | テーブル |
コードのサンプル
次の Python スクリプトは、スタンドアロン スクリプトで GeocodeFile 関数を使用する方法を示しています。
import arcpy
arcpy.SignInToPortal("https://<machine_name>/<portal_web_adaptor_name>",
'<username>', '<password>')
# Input is a local table
input_table = r"C:\data\customers.csv"
# This tool works with locators on your portal
in_locator = "https://<machine_name>/server/rest/services/<service_name>/GeocodeServer/<service_name>"
# The easiest way to generate a field mapping is to run the tool in ArcGIS
# Pro and right-click the green success ribbon and click "Copy Python command"
field_mapping = "'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 VISIBLE NONE;ZIP4 <None> VISIBLE NONE;Country <None> VISIBLE NONE"
output_type = "FEATURE_CLASS"
# Output folder for the output CSV, Excel, or GDB table. If user selects
# FEATURE_CLASS output_type, a new GDB will be created in the
# output_folder with the geocoding results
output_folder = r"C:\data\outputs"
output_name = "Geocoding_output"
# Optional geocoding parameters. Only some are supported depending on the
# in_locator that you use.
country = None
location_type = "ROUTING_LOCATION"
category = "'Street Address'"
arcpy.geocoding.GeocodeFile(input_table, in_locator, field_mapping, output_type,
output_folder, output_name, country, location_type,
category)
環境
ライセンス情報
- Basic: 次のものが必要 ArcGIS Enterprise のアカウントで [解析の実行] 権限を設定
- Standard: 次のものが必要 ArcGIS Enterprise のアカウントで [解析の実行] 権限を設定
- Advanced: 次のものが必要 ArcGIS Enterprise のアカウントで [解析の実行] 権限を設定