リバース ジオコード (Reverse Geocode) (ジオコーティング)

概要

フィーチャクラスのポイント位置から住所を生成します。リバース ジオコーディング処理により、指定した検索距離に基づいて、ポイント位置に最も近い住所または交差点を検索します。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)] ツールで構築されたロケーターを含むコンポジット ロケーターにのみ適用されます。

  • ADDRESS住所は、道路の住所として、または入力された住所ロケーターで定義された形式で返されます。これがデフォルトです。
  • INTERSECTION住所は交差点の住所として返されます。このオプションは住所ロケーターが交差点の住所の照合をサポートしている場合に使用可能になります。
String
search_distance

ポイント位置に最も近い住所または交差点を検索するために使用される距離。一部のロケーターは、検索距離パラメーターのオーバーライドをサポートしない最適距離値を使用しています。[住所ロケーターの作成 (Create Address Locator)] ツールで作成されたロケーターのデフォルト検索距離は 100 メートルです。

Linear Unit
feature_type
[feature_type,...]
(オプション)

返される可能性がある照合タイプを指定します。単一または複数の値を選択できます。単一の値を選択した場合、入力フィーチャ タイプの検索許容値は 500 メートルです。複数の値が含まれる場合、フィーチャ タイプの階層テーブルで指定されているデフォルトの検索距離が適用されます。reverseGeocode の [featureTypes] パラメーターの詳細については、REST API Web ヘルプをご参照ください。

このパラメーターは、すべてのロケーターではサポートされていません。

  • POINT_ADDRESS照合は、家屋および建物の位置を表すポイントに基づくストリート住所に制限されます。
  • PARCEL照合は、不動産として見なされ、1 軒以上の家屋やその他の構造物が含まれる土地区画に制限されます。この照合タイプは通常、住所とパーセル ID 番号が割り当てられています。
  • STREET_ADDRESS照合は、番地がさまざまな数値から内挿されるため POINT_ADDRESS とは異なるストリート住所に制限されます。STREET_ADDRESS の一致には、内挿された番地の値ではなく、一致する道路セグメントの番地範囲が含まれます。
  • STREET_INTERSECTION照合は、道路の交差点と市、州 (オプション)、および郵便番号で構成されるストリート住所に制限されます。これは、STREET_ADDRESS 参照データから取得されます (「Redlands Blvd & New York St, Redlands, CA, 92373」など)。
  • STREET_NAME照合は、STREET_ADDRESS と似ているものの、番地を含まず、行政区画、郵便番号 (オプション) を含む住所 (「W Olive Ave, Redlands, CA, 92373」など) に制限されます。
  • LOCALITY照合は、居住域を表す場所名に制限されます。
  • POSTAL照合は、郵便番号に制限されます。参照データは、郵便番号ポイントです (「90210 USA」など)。
  • POINT_OF_INTEREST照合は、対象ポイントに制限されます。参照データは、行政区画、場所名、ビジネス、ランドマーク、および地理フィーチャで構成されます (Starbucks など)。
  • DISTANCE_MARKER 照合は、指定された起点からの、道路に沿った直線距離 (通常は、キロメートルまたはマイル単位) を表すストリート住所 (Mile 25 I-5 N, San Diego, CA など) に制限されます。
String
location_type
(オプション)

POINT_ADDRESS の照合の望ましい出力ジオメトリを指定します。このパラメーターのオプションは、ルート検索に使用できる道路脇の位置を表す [ROUTING_LOCATION] または屋上、住所のパーセルの重心、玄関を表す [ADDRESS_LOCATION] です。優先位置がデータに存在しない場合は、代わりに ROUTING_LOCATION のデフォルト位置が返されます。Addr_type = "PointAddress" のジオコード結果の場合、x および y 属性値は道路に沿った住所の座標を記述し、DisplayX および DisplayY の値は屋上または建物の重心の座標を記述します。reverseGeocode の [位置情報] パラメーターの詳細については、REST API Web ヘルプをご参照ください。

このパラメーターは、すべてのロケーターではサポートされていません。

  • ADDRESS_LOCATION屋根、建物の重心、玄関などの住所位置を表すジオコード結果のジオメトリが返されます。
  • ROUTING_LOCATION車両のルート検索に使用できる道路脇に近い位置を表すジオコード結果のジオメトリが返されます。これがデフォルトです。
String

コードのサンプル

ReverseGeocode (リバース ジオコード) の例 (Python ウィンドウ)

次の 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")
ReverseGeocode (リバース ジオコード) の例 (スタンドアロン スクリプト)

次の 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: はい

関連トピック