ポリゴン近接 (Polygon Neighbors) (解析)

概要

ポリゴン隣接 (重複、一致エッジ、またはノード) に基づいて統計情報のテーブルを作成します。

[ポリゴン近接 (Polygon Neighbors)] ツールの詳細

ソース ポリゴンと隣接ポリゴンを示した図

使用法

  • このツールは、ポリゴン隣接を解析して、以下の情報を要約します。

    • 重複の面積 (重複隣接 - オプション)
    • 一致エッジの長さ (エッジ隣接)
    • 境界が 1 つのポイントで交差または接触する回数 (ノード隣接)
    これらの情報はソース ポリゴンと隣接ポリゴンの関係を示します。要約情報は出力テーブルに書き出されます。1 つのソース ポリゴンに対して隣接ポリゴンが 1 つだけの場合もあれば複数ある場合もあります。隣接ポリゴンは上記の方法のいずれかまたは組み合わせによってソース ポリゴンと空間的に関連しています。

  • このツールは一次隣接のみを解析し、報告します。それ以外のリレーションシップ、つまり隣接の隣接 (二次隣接) は検証しません。

  • 一意のポリゴンまたはポリゴン グループを識別し、ポリゴンまたはポリゴン グループ別に隣接情報を報告するには、[フィールドごとにレポート] パラメーター (Python では in_fields) を使用します。入力の個々のポリゴンの隣接リレーションシップを検出するには、ポリゴンごとに一意の値 (複数のフィールドを使用する場合は値セット) を格納する 1 つ以上の入力フィールドを指定します。

    指定したフィールドによって一意のポリゴン グループが識別されると、グループ別に隣接情報が要約され、報告されます。

    このパラメーターの使用方法の詳細については、「ポリゴン近接 (Polygon Neighbors) の仕組み」をご参照ください。

  • エリア重複リレーションシップを解析する場合は、[エリアの重複を含める] を使用できます。[エリアの重複を含める] を有効にすると、解析対象の重複隣接の重複の面積を格納する AREA フィールドが出力テーブルに含まれます。重複していない場合、AREA フィールドは 0 になります。

    ヒント:

    エリア重複リレーションシップの計算処理は、多くのリソースを消費するため、一致エッジおよびノード隣接リレーションシップの決定に比べて非常に性能が低下する可能性があります。データに重複フィーチャがないことがわかっている場合、または重複隣接を解析する必要がない場合は、ツールのダイアログ ボックスで [エリアの重複を含める] チェックボックスをオフにしてください (Python では area_overlap="NO_AREA_OVERLAP")。

    注意:

    完全にソース ポリゴンに含まれている隣接フィーチャのレコードを取得するには、ダイアログ ボックスで [エリアの重複を含める] チェックボックスをオンにする必要があります (Python では area_overlap="AREA_OVERLAP")。[エリアの重複を含める] チェックボックスがオフになっていると、ソース ポリゴンに完全に含まれている隣接フィーチャのレコードが出力テーブルに含まれません。

  • 隣接フィーチャではないフィーチャについては、出力テーブルに情報は出力されません。

  • ツールのダイアログ ボックスの [隣接リレーションシップの両側を含める] チェックボックスは、出力に含まれるリレーションシップを制御するために使用します。相互リレーションシップを含むすべての隣接リレーションシップを報告するには、[隣接リレーションシップの両側を含める] チェックボックスをオンにします (Python では both_sides="BOTH_SIDES")。たとえば、OID1 の隣接フィーチャに OID2 がある場合、出力テーブルの OID1 には隣接フィーチャとして OID2 が書き出され、同様に OID2 には OID1 が書き出されます。前者のリレーションシップのみで足りる場合は、[隣接リレーションシップの両側を含める] チェックボックスをオフにします。上記の例で [隣接リレーションシップの両側を含める] チェックボックスをオフにすると、OID1 の隣接フィーチャに OID2 があるという情報のみが、出力テーブルに出力されます。

  • [出力距離の単位] は、隣接フィーチャ間で共有される境界線の長さに使用するための単位を指定します。デフォルトでは、入力フィーチャの座標系で定義されているものと同じ単位が使用されます。

  • [出力面積の単位] は、[エリアの重複] パラメーターをオン (Python では area_overlap="AREA_OVERLAP") にしている場合にのみ使用します。[エリアの重複] を有効にした場合は、隣接フィーチャと重複する面積の計算に使用する単位を、[出力面積の単位] パラメーターで指定します。デフォルトでは、入力フィーチャの座標系で定義されているものと同じ単位が使用されます。

  • [出力テーブル] には、ファイル ジオデータベース テーブルまたは *.dbf テーブルを使用できます。

  • 出力テーブルには、次のフィールドが含まれます。

    • src_field - 接頭辞 src はソース ポリゴンを表し、field[フィールドごとにレポート] パラメーターで指定されたフィールドです。[フィールドごとにレポート] パラメーターで指定した数のフィールドが生成されます。
    • nbr_field - 接頭辞 nbr は隣接ポリゴンを表し、field[フィールドごとにレポート] パラメーターで指定されたフィールドです。src_field と同様に、[フィールドごとにレポート] パラメーターで指定した数のフィールドが生成されます。
    • AREA - このフィールドには、ソース ポリゴンと隣接ポリゴン (重複隣接) 間の重複面積の合計が格納されます。このフィールドは、[エリアの重複を含める] チェックボックスがオンになっている (Python では area_overlap="AREA_OVERLAP") 場合にのみ出力テーブルに含まれます。
    • LENGTH - このフィールドには、ソース ポリゴンと隣接ポリゴン間の一致エッジの長さの合計が格納されます。
    • NODE_COUNT - このフィールドには、ソース ポリゴンと隣接ポリゴンが 1 つの点で交差または接触する回数が格納されます。

  • 入力フィーチャに選択セットがある場合は、選択フィーチャのみが解析されます。

構文

arcpy.analysis.PolygonNeighbors(in_features, out_table, {in_fields}, {area_overlap}, {both_sides}, {cluster_tolerance}, {out_linear_units}, {out_area_units})
パラメーター説明データ タイプ
in_features

入力ポリゴン フィーチャ。

Feature Layer
out_table

出力テーブル。

Table
in_fields
[field,...]
(オプション)

一意のポリゴンまたはポリゴン グループを識別して出力に報告するために使用する 1 つ以上の入力属性フィールド。

Field
area_overlap
(オプション)

重複ポリゴンを解析し、出力に報告するかどうかを指定します。

  • NO_AREA_OVERLAP重複リレーションシップは解析されず、出力に含まれません。これがデフォルトです。
  • AREA_OVERLAP重複リレーションシップは解析され、出力に含まれます。
Boolean
both_sides
(オプション)

出力に隣接リレーションシップの両側を含めるかどうかを指定します。

  • BOTH_SIDES 2 つのポリゴンが (1 対 1 で) 隣接している場合に、両側の隣接情報がどちらもお互いのソースおよび隣接フィーチャとして報告され、相互リレーションシップが含まれます。これがデフォルトです。
  • NO_BOTH_SIDES 2 つのポリゴンが (1 対 1 で) 隣接している場合に、両側の隣接情報が 1 つはソース、もう 1 つは隣接フィーチャとしてのみ報告され、 相互リレーションシップは含まれません。
Boolean
cluster_tolerance
(オプション)

複数のメジャー値が同一と見なされるための最小距離。入力フィーチャの [XY 許容値] がデフォルト値となります。

注意:

このパラメーターの値を変更すると、失敗または予期しない結果が発生する可能性があります。このパラメーターを変更しないことをお勧めします。ツール ダイアログのビューからは削除されています。デフォルトでは、入力フィーチャクラスの空間参照の [XY許容値] プロパティが使用されます。

Linear Unit
out_linear_units
(オプション)

隣接するポリゴン間の一致エッジの長さの合計を報告するために使用する単位。デフォルトは入力フィーチャの単位です。

  • UNKNOWN不明
  • INCHESインチ
  • FEETフィート
  • YARDSヤード
  • MILESマイル
  • NAUTICAL_MILES海里
  • MILLIMETERSミリメートル
  • CENTIMETERSセンチメートル
  • DECIMETERSデシメートル
  • METERSメートル
  • KILOMETERSキロメートル
  • DECIMAL_DEGREES度 (10 進)
  • POINTSポイント
String
out_area_units
(オプション)

隣接するポリゴン間のエリア重複を報告するために使用する単位。デフォルトは入力フィーチャの単位です。このパラメーターは、area_overlap="AREA_OVERLAP" である場合にのみ使用できます。

  • UNKNOWN不明
  • ARESアール
  • ACRESエーカー
  • HECTARESヘクタール
  • SQUARE_INCHES平方インチ
  • SQUARE_FEET平方フィート
  • SQUARE_YARDS平方ヤード
  • SQUARE_MILES平方マイル
  • SQUARE_MILLIMETERS平方ミリメートル
  • SQUARE_CENTIMETERS平方センチメートル
  • SQUARE_DECIMETERS平方デシメートル
  • SQUARE_METERS平方メートル
  • SQUARE_KILOMETERS平方キロメートル
String

コードのサンプル

PolygonNeighbors (ポリゴン近接) の例 (Python ウィンドウ)

カナダ、ノバスコシア州の各選挙区に隣接する選挙区を検出します。

import arcpy
arcpy.MakeFeatureLayer_management(r"C:\Data\Canada\CanadaElecDist.shp", 
                                  "Canada_ElectoralDist")
arcpy.SelectLayerByAttribute_management("Canada_ElectoralDist", "NEW_SELECTION", 
                                        "\"PROVCODE\" = 'NS'")
count = arcpy.GetCount_management("Canada_ElectoralDist")[0]
print("Selected feature count: {}".format(count))
arcpy.PolygonNeighbors_analysis("Canada_ElectoralDist", 
                                r"C:\Data\Output\NS_elec_neigh.dbf", "ENNAME")
print(arcpy.GetMessages())

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック