概要
フィーチャクラスのポイント位置から住所を生成します。リバース ジオコーディング処理により、指定した検索距離に基づいて、ポイント位置に最も近い住所または交差点を検索します。ArcGIS World Geocoding Service を使用している場合、この操作でクレジットが消費されることがあります。
ArcGIS World Geocoding Service を使用してジオコーディング操作を行うには、ArcGIS Online の組織のサブスクリプションが必要であり、クレジットを消費します。組織アカウントには、ジオコーディング リクエスト全体を実行するのに十分なクレジットが必要です。
使用法
入力フィーチャクラスは有効な X、Y 座標を持つポイント形状を含んでいる必要があります。NULL 座標のポイントには住所は返されません。
出力フィーチャクラスには入力フィーチャクラスと同数のレコードが含まれます。住所の検索結果を含むフィールドがフィーチャクラスに追加されます。フィールド名は「REV_」で始まります。住所が検索できなかった場合、フィールドは空の値になります。
入力フィーチャクラスの空間参照が住所ロケーターと異なる場合、住所ロケーターはリアルタイムに座標を変換して照合を試みます。出力フィーチャクラスは入力フィーチャクラスと同じ空間参照内に保存されます。出力フィーチャクラスの空間参照を変更するには、ツールの環境設定で異なる出力座標系を設定します。
入力フィーチャクラスのポイントに住所が返されない場合、入力されたポイントに関連付けられるフィーチャが住所ロケーター内に存在しないことを意味します。ポイントが照合されない一般的な原因は、次のとおりです。
- 検索距離が短すぎて、ポイントが最も近いフィーチャを見つけられない場合。
- ポイントが NULL 座標を含んでいる場合。
- ポイントの座標が不正で、住所ロケーターで使用される空間座標に変換できない場合。
- 住所ロケーターがポイントと関連付けられる参照フィーチャをエリア内に保持していない場合。
検索距離を長くすることで最も近い住所が見つかる可能性は高くなります。また、より多くのフィーチャを含む住所ロケーターまたはより広いエリアをカバーする住所ロケーターを代わりに使用して、入力されたポイントを照合できます。
ArcGIS World Geocoding Service を使用してフィーチャクラスをリバース ジオコーディングするには、ArcGIS Online for organizations サブスクリプションが必要です。
構文
arcpy.geocoding.ReverseGeocode(in_features, in_address_locator, out_feature_class, {address_type}, search_distance, {feature_type}, {location_type})
パラメーター | 説明 | データ タイプ |
in_features | フィーチャのポイント位置に基づいて住所を返すポイント フィーチャクラスまたはレイヤー。 | Feature Layer |
in_address_locator | 入力フィーチャクラスまたはレイヤーをリバース ジオコーディングするために使用する住所ロケーター。 | Address Locator |
out_feature_class | 出力フィーチャクラス。 | Feature Class |
address_type (オプション) | ロケーターが交差点の照合をサポートしている場合に、ポイントの住所を道路の住所として返すか、または交差点の住所として返すかを指定します。 レガシー:このパラメーターは、[住所ロケーターの作成 (Create Address Locator)] ツールで構築されたロケーターか、[住所ロケーターの作成 (Create Address Locator)] ツールで構築されたロケーターを含むコンポジット ロケーターにのみ適用されます。
| String |
search_distance | ポイント位置に最も近い住所または交差点を検索するために使用される距離。一部のロケーターは、検索距離パラメーターのオーバーライドをサポートしない最適距離値を使用しています。[住所ロケーターの作成 (Create Address Locator)] ツールで作成されたロケーターのデフォルト検索距離は 100 メートルです。 | Linear Unit |
feature_type [feature_type,...] (オプション) | 返される可能性がある照合タイプを指定します。単一または複数の値を選択できます。単一の値を選択した場合、入力フィーチャ タイプの検索許容値は 500 メートルです。複数の値が含まれる場合、フィーチャ タイプの階層テーブルで指定されているデフォルトの検索距離が適用されます。reverseGeocode の [featureTypes] パラメーターの詳細については、REST API Web ヘルプをご参照ください。 このパラメーターは、すべてのロケーターではサポートされていません。
| String |
location_type (オプション) | POINT_ADDRESS の照合の望ましい出力ジオメトリを指定します。このパラメーターのオプションは、ルート検索に使用できる道路脇の位置を表す [ROUTING_LOCATION] または屋上、住所のパーセルの重心、玄関を表す [ADDRESS_LOCATION] です。優先位置がデータに存在しない場合は、代わりに ROUTING_LOCATION のデフォルト位置が返されます。Addr_type = "PointAddress" のジオコード結果の場合、x および y 属性値は道路に沿った住所の座標を記述し、DisplayX および DisplayY の値は屋上または建物の重心の座標を記述します。reverseGeocode の [位置情報] パラメーターの詳細については、REST API Web ヘルプをご参照ください。 このパラメーターは、すべてのロケーターではサポートされていません。
| String |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで ReverseGeocode 関数を使用する方法を示しています。
import arcpy
arcpy.env.workspace = "C:/data/locations.gdb"
# Set local variables:
input_feature_class = "customers"
address_locator = "e:/StreetMap/data/Street_Addresses_US"
result_feature_class = "customers_with_address"
arcpy.ReverseGeocode_geocoding(input_feature_class, address_locator,
result_feature_class, "ADDRESS", "100 Meters")
次の Python スクリプトは、スタンドアロン スクリプトで ReverseGeocode 関数を使用する方法を示しています。
# Description:
# Reverse Geocode customer point locations using a locator created with
# the Create Locator tool.
# Import system modules
import arcpy
# Set workspace
arcpy.env.workspace = "c:/data/Atlanta.gdb"
# Set local variables
input_features = "MyCustomers"
locator = "c:/data/Atlanta/Atlanta_StreetAddress.loc"
reverse_output = "MyCustomers_Reverse_Streets"
addr_type = "ADDRESS"
search_distance = "0 Unknown"
feature_type = "STREET_INTERSECTION;STREET_ADDRESS"
location_type = "ROUTING_LOCATION"
# Execuste ReverseGeocode
arcpy.geocoding.ReverseGeocode(input_features, locator, reverse_output,
addr_type, search_distance, feature_type,
location_type)
環境
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい