近接テーブルの生成 (Generate Near Table) (解析)

サマリー

1 つ以上のフィーチャクラスまたはレイヤー内のフィーチャ間の、距離などの近接情報を計算します。 入力を変更する [最近接 (Near)] ツールとは異なり、[近接テーブルの生成 (Generate Near Table)] は、結果を新しいスタンドアロン テーブルに書き込み、複数の近接フィーチャの検索をサポートします。

ジオプロセシング ツールによる近接性の計算方法の詳細

近接テーブルの生成 ツールの図

使用法

  • 出力テーブルには、以下のテーブルが含まれます。

    • IN_FID- 入力フィーチャの ObjectID。
    • NEAR_FID- 最近接フィーチャの ObjectID。
    • NEAR_DIST- 入力フィーチャから近接フィーチャまでの距離。 このフィールドの値の距離単位は、入力フィーチャの座標系の距離単位、または [方法] パラメーターが [測地線] に設定され、入力が地理座標系に存在する場合、メートルです。
    • NEAR_FC- 近接フィーチャを含むフィーチャクラスのカタログ パス。 このフィールドは、複数の [近接フィーチャ] 値が指定された場合にのみ出力テーブルに追加されます。
    • NEAR_RANK- 個々の入力フィーチャへの近さに基づいてすべての近接フィーチャをランク付けする整数値。 最も近いフィーチャには 1 の値が与えられ、2 番目に近いフィーチャには 2 の値が与えられるというように、ランク付けされます。

    [位置] パラメーターがオンの場合、以下のフィールドが出力テーブルに追加されます。 フィールド値の単位は、[方法] パラメーターの値によって異なります。 [方法] パラメーターが [平面] に設定されている場合、フィールド値は入力フィーチャの座標系の距離単位で表されます。 [測地線] に設定されている場合、フィールド値は入力フィーチャの座標系に関連付けられた地理座標系で表されます。

    • FROM_X- 近接フィーチャに最も近い入力フィーチャの位置の X 座標
    • FROM_Y- 近接フィーチャに最も近い入力フィーチャの位置の Y 座標
    • NEAR_X- 入力フィーチャに最も近い近接フィーチャの位置の X 座標
    • NEAR_Y- 入力フィーチャに最も近い近接フィーチャの位置の Y 座標

    [角度] パラメーターがオンの場合、以下のフィールドが出力テーブルに追加されます。

    • NEAR_ANGLE- 入力フィーチャを近接フィーチャに接続するラインの、FROM_XFROM_Y の位置での角度

  • 入力フィーチャと近接フィーチャが交差する場合、以下の値が出力テーブルに書き込まれます。

    • NEAR_ANGLENEAR_DIST は、0.0 に設定されます。
    • FROM_XFROM_Y は、NEAR_X および NEAR_Y と同じ値になり、2 つのフィーチャが交差する領域内の位置になります。

  • NEAR_DIST フィールドの値の単位は、入力フィーチャの座標系の距離単位になります。 入力が地理座標系内にあり、[方法] パラメーターが [測地線] に設定された場合、NEAR_DIST フィールドの単位はメートルになります。

  • IN_FID を使用して出力テーブルを結合し、入力フィーチャに戻すことができます。あるいは、NEAR_FID を使用して出力テーブルを結合し、近接フィーチャに戻すことができます。

  • [検索範囲] パラメーター値を指定した場合に、近接フィーチャが検出されなければ、レコードは出力されません。

  • [検索範囲] パラメーター値を指定しない場合、近接するすべてのフィーチャが検索の対象になります。

  • [検索範囲] パラメーター値を指定せず、[最近接フィーチャのみを検索] パラメーターをオフにし、[最大最近接フィーチャ数] パラメーターをデフォルト (ゼロまたは未入力) に設定した場合、すべての入力フィーチャとすべての近接フィーチャ間の距離が計算されて出力テーブルに格納されます。 このように指定した場合、処理時間が長くなり、出力テーブルのサイズが大きくなることがあります。 たとえば、1000 個の入力フィーチャと 1000 個の近接フィーチャが存在する場合、出力テーブルには 1,000,000 個のレコードが含まれます。

  • 同じフィーチャクラスまたはレイヤーを、入力フィーチャと近接フィーチャの両方に使用することができます。 その場合、すべてのフィーチャの最近接フィーチャがそのフィーチャ自体になることを防ぐために、評価対象の入力フィーチャは、近接フィーチャの候補から除外されます。

  • [方法] パラメーターで [平面] オプションを使用する場合は、入力フィーチャとして、距離の計測に適した投影法 (正距方位図法など) を使用します。

    座標系と投影法の詳細

  • FROM_XFROM_YNEAR_X、および NEAR_Y のフィールド値を視覚化するには、出力テーブルを、[XY イベント レイヤーの作成 (Make XY Event Layer)] ツールまたは [XY 座標 → ライン (XY To Line)] ツールへの入力として使用します。

  • [距離単位] パラメーターを使用して、NEAR_DIST フィールドの計測単位 (メートル、キロメートル、マイルなど) を設定することができます。

パラメーター

ラベル説明データ タイプ
入力フィーチャ

ポイント、ポリライン、ポリゴン、またはマルチポイント タイプを指定できる入力フィーチャ。

Feature Layer
近接フィーチャ

近接フィーチャの候補が含まれるフィーチャ レイヤーまたはフィーチャクラス。 近接フィーチャとして、ポイント、ポリライン、ポリゴン、またはマルチポイントを使用できます。 複数のレイヤーまたはフィーチャクラスを指定した場合、NEAR_FC フィールドが入力テーブルに追加されます。このフィールドには、検出された最近接フィーチャを含むソース フィーチャクラスのパスが格納されます。 同じフィーチャクラスまたはレイヤーを、入力フィーチャと近接フィーチャの両方に使用することができます。

Feature Layer
近接フィーチャ

近接フィーチャの候補が含まれる 1 つ以上のフィーチャ レイヤーまたはフィーチャクラス。 近接フィーチャとして、ポイント、ポリライン、ポリゴン、またはマルチポイントを使用できます。 複数のレイヤーまたはフィーチャクラスを指定した場合、NEAR_FC フィールドが入力テーブルに追加されます。このフィールドには、検出された最近接フィーチャを含むソース フィーチャクラスのパスが格納されます。 同じフィーチャクラスまたはレイヤーを、入力フィーチャと近接フィーチャの両方に使用することができます。

Feature Layer
出力テーブル

解析結果が格納される出力テーブル。

Table
検索範囲
(オプション)

近接フィーチャの検索に使用される半径。 この値を指定しない場合、すべての近接フィーチャが考慮されます。 距離を指定して、単位を指定しないか、単位に不明を指定した場合、入力フィーチャの座標系の単位が使用されます。 [測地線] オプションが [方法] パラメーターに使用されている場合、距離単位 (キロメートルやマイルなど) を使用します。

Linear Unit
位置
(オプション)

入力フィーチャの位置および最も近い近接フィーチャの位置の XY 座標を、FROM_XFROM_YNEAR_X、および NEAR_Y の各フィールドに書き込むかどうかを指定します。

  • オフ: 出力テーブルに位置を書き込みません。 これがデフォルトです。
  • オン: 出力テーブルに位置を書き込みます。
Boolean
角度
(オプション)

近接角度を計算して出力テーブルの NEAR_ANGLE フィールドに書き込むかどうかを指定します。 近接角度は、入力フィーチャとその最近接フィーチャを最も近い位置で接続するラインの方向を示します。 [方法] パラメーターで [平面] 方法を使用した場合、角度の範囲は -180 〜 180°になり、0°は東、90°は北、180° (または -180°) は西、-90°は南を示します。 [方法] パラメーターで [測地線] 方法を使用した場合、角度の範囲は -180 〜 180°になり、0°は北、90°は東、180° (または -180°) は南、-90°は西を示します。

  • オフ - 近接角度は計算されず、NEAR_ANGLE フィールドは出力テーブルに追加されません。 これがデフォルトです。
  • オン - 近接角度が計算され、NEAR_ANGLE フィールドが出力テーブルに追加されます。
Boolean
最近接フィーチャのみを検索
(オプション)

最近接フィーチャのみを出力テーブルに書き込むかどうかを指定します。

  • オン: 最近接フィーチャのみを出力テーブルに書き込みます。 これがデフォルトです。
  • オフ: 複数の近接フィーチャを出力テーブルに書き込みます (この最大数は、[最大最近接フィーチャ数] パラメーターで指定できます)。
Boolean
最大最近接フィーチャ数
(オプション)

入力フィーチャごとにレポートされる近接フィーチャの数を制限します。 [最近接フィーチャのみを検索] パラメーターがオンになっている場合、このパラメーターは非アクティブになります。

Long
方法
(オプション)

楕円体 (測地線) または平面地球 (平面) 距離方法の最短パスを使用するかどうかを指定します。 データが、距離の計測に適さない座標系 (Web メルカトル、任意の地理座標系など) で格納されている場合や、データセットが広い地理範囲にまたがる場合、[測地線] 方法を使用することをお勧めします。

  • 平面フィーチャ間で平面距離が使用されます。 これがデフォルトです。
  • 測地線フィーチャ間で測地距離が使用されます。 この方法では、楕円体の曲率を考慮して、日付変更線と極の近くのデータを正確に処理します。
String
距離単位
(オプション)

NEAR_DIST フィールドの計測単位を指定します。 測定値の単位が指定されない場合、NEAR_DIST フィールドの値は入力フィーチャの座標系の距離単位で表されます。 入力で地理座標系が使用され、測地線方法が使用されている場合、NEAR_DIST フィールドの単位はメートルになります。

  • キロメートル単位はキロメートルです。
  • メートル単位はメートルです。
  • 国際海里単位は国際海里です。
  • 法定マイル単位は法定マイルです。
  • 国際ヤード単位は国際ヤードです。
  • 国際フィート単位は国際フィートです。
  • 米国測量海里単位は米国測量海里です。
  • 米国測量マイル単位は米国測量マイルです。
  • 米国測量ヤード単位は米国測量ヤードです。
  • 米国測量フィート単位は米国測量フィートです。
String

arcpy.analysis.GenerateNearTable(in_features, near_features, near_features, out_table, {search_radius}, {location}, {angle}, {closest}, {closest_count}, {method}, {distance_unit})
名前説明データ タイプ
in_features

ポイント、ポリライン、ポリゴン、またはマルチポイント タイプを指定できる入力フィーチャ。

Feature Layer
near_features
[near_features,...]

近接フィーチャの候補が含まれるフィーチャ レイヤーまたはフィーチャクラス。 近接フィーチャとして、ポイント、ポリライン、ポリゴン、またはマルチポイントを使用できます。 複数のレイヤーまたはフィーチャクラスを指定した場合、NEAR_FC フィールドが入力テーブルに追加されます。このフィールドには、検出された最近接フィーチャを含むソース フィーチャクラスのパスが格納されます。 同じフィーチャクラスまたはレイヤーを、入力フィーチャと近接フィーチャの両方に使用することができます。

Feature Layer
near_features
[near_features,...]

近接フィーチャの候補が含まれる 1 つ以上のフィーチャ レイヤーまたはフィーチャクラス。 近接フィーチャとして、ポイント、ポリライン、ポリゴン、またはマルチポイントを使用できます。 複数のレイヤーまたはフィーチャクラスを指定した場合、NEAR_FC フィールドが入力テーブルに追加されます。このフィールドには、検出された最近接フィーチャを含むソース フィーチャクラスのパスが格納されます。 同じフィーチャクラスまたはレイヤーを、入力フィーチャと近接フィーチャの両方に使用することができます。

Feature Layer
out_table

解析結果が格納される出力テーブル。

Table
search_radius
(オプション)

近接フィーチャの検索に使用される半径。 この値を指定しない場合、すべての近接フィーチャが考慮されます。 距離を指定して、単位を指定しないか、単位に不明を指定した場合、入力フィーチャの座標系の単位が使用されます。 method パラメーターに GEODESIC オプションを使用した場合、キロメートルやマイルなどの距離単位を使用します。

Linear Unit
location
(オプション)

入力フィーチャの位置および最も近い近接フィーチャの位置の XY 座標を、FROM_XFROM_YNEAR_X、および NEAR_Y の各フィールドに書き込むかどうかを指定します。

  • NO_LOCATION出力テーブルに位置を書き込みません。 これがデフォルトです。
  • LOCATION出力テーブルに位置を書き込みます。
Boolean
angle
(オプション)

近接角度を計算して出力テーブルの NEAR_ANGLE フィールドに書き込むかどうかを指定します。 近接角度は、入力フィーチャとその最近接フィーチャを最も近い位置で接続するラインの方向を示します。 method パラメーターで PLANAR 方法を使用した場合、角度の範囲は -180 〜 180°になり、0°は東、90°は北、180° (または -180°) は西、-90°は南を示します。 method パラメーターで GEODESIC 方法を使用した場合、角度の範囲は -180 〜 180°になり、0°は北、90°は東、180° (または -180°) は南、-90°は西を示します。

  • NO_ANGLE近接角度は計算されず、NEAR_ANGLE フィールドは出力テーブルに追加されません。 これがデフォルトです。
  • ANGLE近接角度が計算され、NEAR_ANGLE フィールドが出力テーブルに追加されます。
Boolean
closest
(オプション)

最近接フィーチャのみを出力テーブルに書き込むかどうかを指定します。

  • CLOSEST最近接フィーチャのみを出力テーブルに書き込みます。 これがデフォルトです。
  • ALL複数の近接フィーチャを出力テーブルに書き込みます (この最大数は、closest_count パラメーターで指定できます)。
Boolean
closest_count
(オプション)

入力フィーチャごとにレポートされる近接フィーチャの数を制限します。 このパラメーターは、closest パラメーターを CLOSEST に設定した場合、無視されます。

Long
method
(オプション)

楕円体 (測地線) または平面地球 (平面) 距離方法の最短パスを使用するかどうかを指定します。 データが、距離の計測に適さない座標系 (Web メルカトル、任意の地理座標系など) で格納されている場合や、データセットが広い地理範囲にまたがる場合、GEODESIC 方法を使用することをお勧めします。

  • PLANARフィーチャ間で平面距離が使用されます。 これがデフォルトです。
  • GEODESICフィーチャ間で測地距離が使用されます。 この方法では、楕円体の曲率を考慮して、日付変更線と極の近くのデータを正確に処理します。
String
distance_unit
(オプション)

NEAR_DIST フィールドの計測単位を指定します。 測定値の単位が指定されない場合、NEAR_DIST フィールドの値は入力フィーチャの座標系の距離単位で表されます。 入力で地理座標系が使用され、測地線方法が使用されている場合、NEAR_DIST フィールドの単位はメートルになります。

  • Kilometers単位はキロメートルです。
  • Meters単位はメートルです。
  • NauticalMilesInt単位は国際海里です。
  • MilesInt単位は法定マイルです。
  • YardsInt単位は国際ヤードです。
  • FeetInt単位は国際フィートです。
  • NauticalMiles単位は米国測量海里です。
  • Miles単位は米国測量マイルです。
  • Yards単位は米国測量ヤードです。
  • Feet単位は米国測量フィートです。
String

コードのサンプル

GenerateNearTable の例 1 (Python ウィンドウ)

次に、Python ウィンドウでの GenerateNearTable 関数の使用方法を示します。

import arcpy

arcpy.env.workspace = "C:/data/input/gnt.gdb"

arcpy.analysis.GenerateNearTable("campsites", ["parks", "trails"], "better_sites")
GenerateNearTable の例 2 (スタンドアロン スクリプト)

次の 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

# find crime locations within the search radius
arcpy.analysis.GenerateNearTable(in_features, near_features, out_table, search_radius, 
                                 location, angle, closest, closest_count)

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック