ラベル | 説明 | データ タイプ |
入力フィーチャ | 入力ポリゴン フィーチャ。 | Feature Layer |
出力テーブル | 出力テーブル。 | Table |
フィールドごとにレポート (オプション) | 一意のポリゴンまたはポリゴン グループを識別して出力に報告するために使用する 1 つ以上の入力属性フィールド。 | Field |
エリアの重複を含める (オプション) | 重複エリア リレーションシップを解析し、出力に含めるかどうかを指定します。
| Boolean |
隣接リレーションシップの両側を含める (オプション) | 出力に隣接リレーションシップの両側を含めるかどうかを指定します。
| Boolean |
XY 許容値 (オプション) | 座標が等しいと見なされる前の座標間の最小距離。 デフォルトでは、これが入力フィーチャの X,Y 許容値になります。 注意:このパラメーターの値を変更すると、失敗または予期しない結果が発生する可能性があります。 このパラメーターは変更しないことをお勧めします。 ツール ダイアログ ボックスのビューからは削除されています。 デフォルトでは、入力フィーチャクラスの空間参照の [XY許容値] プロパティが使用されます。 | Linear Unit |
出力距離の単位 (オプション) | 隣接するポリゴン間の一致エッジの長さの合計を報告するために使用する単位を指定します。 デフォルトは入力フィーチャの単位です。
| String |
出力面積の単位 (オプション) | 隣接するポリゴン間のエリア重複を報告するために使用する単位を指定します。 デフォルトは入力フィーチャの単位です。 このパラメーターは、[エリアの重複を含める] パラメーターがオンになっている場合にのみ有効になります。
| String |
図
使用法
このツールはポリゴン隣接を解析し、ソース ポリゴンと隣接ポリゴン間の以下の情報を要約します。
- 重複の面積 (重複隣接 - オプション)
- 一致エッジの長さ (エッジ隣接)
- 境界が 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> と nbr_<field> の命名規則を使用する 2 つのフィールドが含まれます。 フィールドは、入力のソースと隣接フィールド値を表します。
出力テーブルには、以下のテーブルも含まれます。
- 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 (オプション) | 重複エリア リレーションシップを解析し、出力に含めるかどうかを指定します。
| Boolean |
both_sides (オプション) | 出力に隣接リレーションシップの両側を含めるかどうかを指定します。
| Boolean |
cluster_tolerance (オプション) | 座標が等しいと見なされる前の座標間の最小距離。 デフォルトでは、これが入力フィーチャの X,Y 許容値になります。 注意:このパラメーターの値を変更すると、失敗または予期しない結果が発生する可能性があります。 このパラメーターは変更しないことをお勧めします。 ツール ダイアログ ボックスのビューからは削除されています。 デフォルトでは、入力フィーチャクラスの空間参照の [XY許容値] プロパティが使用されます。 | Linear Unit |
out_linear_units (オプション) | 隣接するポリゴン間の一致エッジの長さの合計を報告するために使用する単位を指定します。 デフォルトは入力フィーチャの単位です。
| String |
out_area_units (オプション) | 隣接するポリゴン間のエリア重複を報告するために使用する単位を指定します。 デフォルトは入力フィーチャの単位です。 このパラメーターは、area_overlap パラメーターが AREA_OVERLAP に設定されている場合のみ有効です。
| String |
コードのサンプル
カナダ、ノバスコシア州の各選挙区に隣接する選挙区を検出します。
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: Yes
- Standard: Yes
- Advanced: Yes