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

サマリー

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

ポリゴン近接ツールの詳細

ポリゴン近接ツール の例
ソース ポリゴンと隣接ポリゴンの図を示します。

使用法

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

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

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

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

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

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

  • エリア重複リレーションシップを解析する場合は、[エリアの重複を含める] パラメーターを使用できます。 [エリアの重複を含める] をオンにすると、解析対象の重複隣接の重複の面積を格納する 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>nbr_<field> の命名規則を使用する 2 つのフィールドが含まれます。 フィールドは、入力のソースと隣接フィールド値を表します。

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

    • AREA - このフィールドには、ソース ポリゴンと隣接ポリゴン (重複隣接) 間の重複面積の合計が格納されます。 このフィールドは、[エリアの重複を含める] パラメーターがオンになっている (Python では area_overlap = "AREA_OVERLAP") 場合にのみ出力テーブルに含まれます。
    • LENGTH - このフィールドには、ソース ポリゴンと隣接ポリゴン間の一致エッジの長さの合計が格納されます。
    • NODE_COUNT - このフィールドには、ソース ポリゴンと隣接ポリゴンが 1 つの点で交差または接触する回数が格納されます。

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

パラメーター

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

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

Feature Layer
出力テーブル

出力テーブル。

Table
フィールドごとにレポート
(オプション)

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

Field
エリアの重複を含める
(オプション)

重複エリア リレーションシップを解析し、出力に含めるかどうかを指定します。

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

Boolean
隣接リレーションシップの両側を含める
(オプション)

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

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

Boolean
XY 許容値
(オプション)

座標が等しいと見なされる前の座標間の最小距離。 デフォルトでは、これが入力フィーチャの X,Y 許容値になります。

注意:

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

Linear Unit
出力距離の単位
(オプション)

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

  • 不明単位は不明です。
  • インチ単位はインチです。
  • フィート単位はフィートです。
  • ヤード単位はヤードです。
  • マイル単位はマイルです。
  • 海里単位は海里です。
  • ミリメートル単位はミリメートルです。
  • センチメートル単位はセンチメートルです。
  • デシメートル単位はデシメートルです。
  • メートル単位はメートルです。
  • キロメートル単位はキロメートルです。
  • 度 (10 進)単位は度 (10 進) です。
  • ポイント単位はポイントです。
String
出力面積の単位
(オプション)

隣接するポリゴン間のエリア重複を報告するために使用する単位を指定します。 デフォルトは入力フィーチャの単位です。 このパラメーターは、[エリアの重複を含める] パラメーターがオンになっている場合にのみ有効になります。

  • 不明単位は不明です。
  • アール単位はアールです。
  • エーカー単位はエーカーです。
  • ヘクタール単位はヘクタールです。
  • 平方インチ単位は平方インチです。
  • 平方フィート単位は平方フィートです。
  • 平方ヤード単位は平方ヤードです。
  • 平方マイル単位は平方マイルです。
  • 平方ミリメートル単位は平方ミリメートルです。
  • 平方センチメートル単位は平方センチメートルです。
  • 平方デシメートル単位は平方デシメートルです。
  • 平方メートル単位は平方メートルです。
  • 平方キロメートル単位は平方キロメートルです。
String

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

座標が等しいと見なされる前の座標間の最小距離。 デフォルトでは、これが入力フィーチャの X,Y 許容値になります。

注意:

このパラメーターの値を変更すると、失敗または予期しない結果が発生する可能性があります。 このパラメーターは変更しないことをお勧めします。 ツール ダイアログ ボックスのビューからは削除されています。 デフォルトでは、入力フィーチャクラスの空間参照の [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.management.MakeFeatureLayer(r"C:\Data\Canada\CanadaElecDist.shp", 
                                  "Canada_ElectoralDist")

arcpy.management.SelectLayerByAttribute("Canada_ElectoralDist", "NEW_SELECTION", 
                                        "\"PROVCODE\" = 'NS'")
count = arcpy.management.GetCount("Canada_ElectoralDist")[0]
print("Selected feature count: {}".format(count))

arcpy.analysis.PolygonNeighbors("Canada_ElectoralDist", 
                                r"C:\Data\Output\NS_elec_neigh.dbf", "ENNAME")
print(arcpy.GetMessages())

ライセンス情報

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

関連トピック