概要
ArcGIS Enterprise ポータル上でホストされているロケーターを使用して、ホストされているテーブルをジオコーディングします。これにより、ジオコーディングの結果を含むホスト フィーチャ レイヤーが作成されます。
このツールは、ポータルに公開されたテーブルをジオコーディングして、その出力をポータルに保存する処理を自動化するように設計されています。ジオコーディングの結果がポータルに保存されるようにしない場合は、[テーブルのジオコーディング] ウィンドウまたは [住所のジオコーディング (Geocode Addresses)] ツールを使用します。
メモ:
このツールを実行するには、ポータルの公開者または管理者権限が必要です。カスタム ロールのメンバーである場合は、ポータル管理者から [ホスト Web レイヤーの公開] の権限が付与されていることを確認します。
使用法
単一のフィールドに格納されている住所も複数のフィールドに格納されている住所もジオコーディングすることができます。単一の入力フィールドには、完全な住所が格納されています。たとえば、「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.6 以降が必要です。
複数のスレッドを使用するように構成された ArcGIS Enterprise ポータルでロケーターを使用すると、ジオコーディングのパフォーマンスが向上します。
このツールでは、ArcGIS Enterprise ポータルでホストまたは公開されているテーブルを入力テーブルとして使用する必要があります。ホストされているテーブルはホスト フィーチャ レイヤーの一部と見なされるため、このツールで使用する前に、ポータルでアイテムとして作成しておく必要があります。詳細については、「ホスト フィーチャ レイヤーの公開」をご参照ください。
出力ホスト フィーチャ レイヤーは住所ロケーターと同じ空間参照内に保存されます。出力フィーチャ レイヤーの空間参照を変更するには、このツールの環境設定で異なる出力座標系を設定します。
出力ホスト フィーチャ レイヤーには、スコア、ステータス、各レコードの一致した住所など、関連するすべてのジオコーディング情報だけでなく、元の入力テーブル内の値も含まれます。住所の再照合を行うには、[住所の再照合 (Rematch Addresses)] ツールを使用するか、[住所の再照合] ウィンドウを開く [住所の再照合] オプションを使用します。このツールで生成されるジオコーディングの結果には、元の入力テーブルの静的なスナップショットが含まれるため、元のテーブルで値の追加や更新を行っても、その結果が出力フィーチャ サービスに反映されません。変更内容を含む新しい出力フィーチャ サービスを作成するには、このツールを再実行する必要があります。
構文
arcpy.geocoding.GeocodeLocationsFromTable(in_table, in_address_locator, address_fields, output_name, {country}, {location_type}, {category}, {output_fields})
パラメーター | 説明 | データ タイプ |
in_table | ジオコーディングする住所または場所が含まれるポータル上のテーブル。 | Record Set |
in_address_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 です。ここで、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_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 の [位置情報] パラメーターの詳細については、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 |
派生した出力
名前 | 説明 | データ タイプ |
output_layer | ポータル内の出力ジオコード結果フィーチャ レイヤーへのハイパーリンク。[出力フィーチャ レイヤー名] の値からフィーチャ レイヤーの名前が取得されます。 | フィーチャ セット |
コードのサンプル
次のスタンドアロン スクリプトは、GeocodeLocationsFromTable 関数を使用してホスト テーブル レイヤーをジオコーディングする方法を示しています。
import arcpy
arcpy.SignInToPortal("https://<machine_name>/<portal_web_adaptor_name>",
'<username>', '<password>')
# Input is a hosted table
input_table = "https://<machine_name>/server/rest/services/Hosted/<item_name>/FeatureServer/<table_number>"
# This tool works with locators on your Portal
in_locator = "https://<machine_name>/server/rest/services/<locator_name>/GeocodeServer/<locator_name>"
# The easiest way to generate a field mapping is by running the tool in ArcGIS
# Pro and Right-click the green success ribbon and click "Copy Python command"
field_mapping = "'Street or Intersection' address VISIBLE NONE;'City or Placename' <None> VISIBLE NONE;State <None> VISIBLE NONE;'ZIP Code' zip VISIBLE NONE"
output_name = "geocoding_output"
# Optional geocoding parameters. Only some are supported depending on the
# in_locator that you use.
country = None
location_type = None
category = None
# Note that the output is a hosted feature layer on your portal. To retrieve the
# output, go to your portal and look for a new item with the output_name that
# you entered.
arcpy.geocoding.GeocodeLocationsFromTable(input_table, in_locator,
field_mapping, output_name, country,
location_type, category)
環境
ライセンス情報
- Basic: 次のものが必要 ArcGIS Enterprise のアカウントで [解析の実行] 権限を設定
- Standard: 次のものが必要 ArcGIS Enterprise のアカウントで [解析の実行] 権限を設定
- Advanced: 次のものが必要 ArcGIS Enterprise のアカウントで [解析の実行] 権限を設定