近接情報テーブルの生成(Generate Near Table) (解析)
サマリ
検索範囲内で、入力フィーチャの各フィーチャから近接フィーチャの 1 つ以上の近傍フィーチャまでの距離を特定します。結果は出力テーブルに記録されます。
図
使用法
-
このツールは、[最近接(Near)] ツールと同じように動作します。ただし、入力フィーチャを更新するのではなく、新しい出力テーブルを作成します。さらに、[最大最近接フィーチャ数] パラメータで指定した数の近接フィーチャを検出できます。
出力テーブルには、デフォルトで IN_FID、NEAR_FID、および NEAR_DIST の 3 つのフィールドが含まれます。パラメータのエントリの説明にあるように、選択されたオプション パラメータに応じて、追加のフィールドが出力に追加されます。
- IN_FID - 入力フィーチャのフィーチャ ID を保存します。
- NEAR_FID - 最近接フィーチャのフィーチャ ID を保存します。
- NEAR_DIST - 入力フィーチャから最近接フィーチャまでの距離を保存します。このフィールドの値は、入力フィーチャの座標系の距離単位で表されます。
-
IN_FID または NEAR_FID フィールドを使用して、出力テーブルを入力フィーチャクラスまたは近接フィーチャクラスに結合することができます。
-
入力フィーチャと近接フィーチャには、ポイント、マルチポイント、ライン、またはポリゴンを指定できます。
-
このツールのデフォルトのオプションは、各入力フィーチャから最近接フィーチャまでの距離を検出します。すべての入力とすべての近接フィーチャの間の距離を含むテーブルを作成するには、[最近接フィーチャのみを検索] パラメータのチェックをオフにして ALL オプションを選択します。
-
検索範囲内でフィーチャが見つからない場合は、NEAR_FID と NEAR_DIST の値が -1 になります。
-
[検索範囲] の値を指定しない場合、すべての近接フィーチャを距離の計算に組み込める大きさの半径が使用されます。デフォルトの検索範囲を使用する場合(半径を指定しない)、出力テーブルは非常に大きなものになります。たとえば、1 つのフィーチャクラスに 1,000 ポイントが存在し、別のフィーチャクラスに 1,000 ポイントが存在する場合にそれらの間の距離を計算すると、100 万のレコードを含む出力テーブルが作成されます。出力レコード数を制限するには、検索範囲を使用してください。
-
入力フィーチャと近接フィーチャは同じデータセットに属していてもかまいません。その場合、入力フィーチャと近接フィーチャが同じレコードであるときはその結果がスキップされ、そのため距離が 0 単位のフィーチャは報告されません。
入力フィーチャには、選択を実行したレイヤを指定できます。選択フィーチャは、ツールの実行中に使用および更新されます。残りのフィーチャには、新規作成されたフィールド(NEAR_FID、NEAR_DIST など)に -1 の値が設定されます。
このツールで計算された距離は、入力フィーチャの座標系の単位となります。入力が地理座標系であり、出力の距離を距離単位(10 進経緯度ではなく)で計測する場合は、まず [投影変換(Project)] ツールを使用して入力を投影座標系に投影する必要があります。最もよい結果を得るためには、正距方位図法または調査領域に適した投影法(UTM など)を使用してください。
構文
パラメータ | 説明 | データ タイプ |
in_features |
ポイント、ポリライン、ポリゴン、またはマルチポイント タイプの入力フィーチャ。 | Feature Layer |
near_features [near_features,...] |
入力フィーチャから最近接フィーチャを検出するために使用する値です。近接フィーチャを 1 つ以上入力できます。各エントリは、ポイント、ポリライン、ポリゴン、またはマルチポイント タイプになります。近接フィーチャを複数指定した場合、最近接フィーチャを含むソース フィーチャクラスのパスを格納する新しいフィールド NEAR_FC が入力テーブルに追加されます。 | Feature Layer |
out_table |
近接フィーチャと NEAR_FC(必要に応じて)に関する IN_FID、NEAR_FID、NEAR_DIST などの近接情報と、ロケーション(NEAR_X, NEAR_Y)、角度(NEAR_ANGLE)などのその他の属性を含む出力テーブル。 | Table |
search_radius (オプション) |
近接フィーチャを検索するための半径を指定します。この半径内に存在する近接フィーチャから最近接フィーチャが求められます。値を何も指定しない場合は、デフォルト(空の)半径が使用されます。つまり、すべての近接フィーチャが計算対象となります。デフォルトの検索範囲の単位は入力フィーチャの座標系の単位です。この単位は他の単位に変更できます。ただし、これは入力フィーチャの座標系の単位に基づいて設定される NEAR_DIST の単位に影響を与えません。 | Linear unit |
location (オプション) |
最近接フィーチャの位置を表す X 座標と Y 座標を、それぞれ新しい NEAR_X フィールドと NEAR_Y フィールドに書き込むかどうかを指定します。
| Boolean |
angle (オプション) |
近接する角度値(10 進表記)が計算され、新しい NEAR_ANGLE フィールドに書き込まれます。近接角度は、X 軸(水平軸)から、入力フィーチャとその最近接フィーチャをつなぐ直線までの角度を指しており、0 ~ 180 度または 0 ~ -180 度の範囲になります。0 度が東、90 度が北、180(-180)度が西、-90 度が南です。
| Boolean |
closest (オプション) |
最も近いフィーチャのみを検出して取得するか、検索範囲内のすべてのフィーチャを取得するかを指定します。
| Boolean |
closest_count (オプション) |
最も近いフィーチャを指定された数だけ検出します。[最近接フィーチャのみを検索] オプションのチェックがオンになっている場合、このパラメータは使用されません。 | Long |
コードのサンプル
次のスニペットは、Python ウィンドウで GenerateNearTable(近接情報テーブルの作成)関数を使用する方法を示しています。
import arcpy
arcpy.env.workspace = "C:/data/input/gnt.gdb"
arcpy.GenerateNearTable_analysis("campsites", ["parks", "trails"], "better_sites")
次の Python スクリプトは、スタンドアロン スクリプトで GenerateNearTable(近接情報テーブルの作成)関数を使用する方法を示しています。
# Name: GenerateNearTable.py
# Description: Finds 3 nearest in the near feature class from the input feature class.
# import system modules
import arcpy
# set workspace environment
arcpy.env.workspace = "C:/data/input/gnt.gdb"
# set required parameters
in_features = "campsites"
near_features = ["parks", "trails"]
out_table = "near_parks_trails"
# optional parameters
search_radius = '1500 Meters'
location = 'NO_LOCATION'
angle = 'NO_ANGLE'
closest = 'ALL'
closest_count = 3
try:
# find crime locations within the search radius
arcpy.GenerateNearTable_analysis(in_features, near_features, out_table, search_radius,
location, angle, closest, closest_count)
except:
print arcpy.GetMessages()