ラベル | 説明 | データ タイプ |
入力フィーチャ | 入力ポリゴン フィーチャ。 | Feature Layer |
出力フィーチャクラス | 出力ライン フィーチャクラス。 | Feature Class |
ポリゴン隣接情報を特定して格納 (オプション) | ポリゴン隣接関係を特定し、出力に格納するかどうかを指定します。
| Boolean |
サマリー
ポリゴン フィーチャの境界からライン フィーチャクラスを作成します。隣接するポリゴンを考慮するオプションがあります。
図

使用法
[ポリゴン隣接情報を特定して格納] パラメーターがオンの場合、ポリゴンの隣接関係が解析されます。 境界は、交差セグメントや共有セグメントを考慮して、ラインに変換されます。 次のフィールドが出力に追加されます。
- LEFT_FID- 出力ラインの左側の入力ポリゴンのフィーチャ ID。
- RIGHT_FID- 出力ラインの右側の入力ポリゴンのフィーチャ ID。
プロセスと出力の詳細については、以下のシナリオを参考にしてください。
- ポリゴン ジオメトリ内では、外側境界が常に時計回りの方向に格納されます。 ポリゴンに穴がある場合、穴 (つまり、内側) の境界は常に反時計回りの方向に格納されます。 そのため、ポリゴンの外側境界の左側 (外側) および穴境界の左側 (内側) に隣接するポリゴンが存在しない場合、結果として生成されるラインの LEFT_FID 値が -1 に設定され、ポリゴン フィーチャ ID が RIGHT_FID として設定されます。
- あるポリゴンに別のポリゴンが含まれている場合、共有の境界を表す 1 つの出力ラインが、時計回りの方向に生成されます。その LEFT_FID は外側ポリゴン フィーチャ ID になるのに対して、RIGHT_FID は内側ポリゴン フィーチャ ID になります。
- 2 つのポリゴンがその境界の一部を共有している場合、共有セグメントを表す 1 つの出力ラインが生成されます。 ライン方向は任意です。LEFT_FID フィールド値と RIGHT_FID フィールド値は、左側または右側ポリゴン フィーチャ ID になります。
- あるポリゴンが別のポリゴンと重なり合っている場合、各交差境界を 2 回表す 2 つの出力ラインが生成されます。 最初のラインは、重なり合うポリゴンのいずれか 1 つの外側境界線を表し、LEFT_FID フィールド値は交差するポリゴン フィーチャ ID、RIGHT_FID フィールド値は固有のポリゴン フィーチャ ID です。 2 番目のラインは逆方向に配向され、他のポリゴンを分割するため、その LEFT_FID フィールド値と RIGHT_FID フィールド値は他のポリゴン フィーチャ ID と同じになります。
- 入力マルチパート フィーチャは維持されないため、出力ラインはシングル パートになります。
入力フィーチャがパラメトリック カーブ (トゥルー カーブ) の場合、出力ラインはトゥルー カーブを維持します。出力ラインは、分割されてもトゥルー カーブのままです。
このパラメーターは非常に大きなデータセットをタイル化し、パフォーマンスとスケーラビリティを向上します。
[ポリゴン隣接情報を特定して格納] パラメーターがオフの場合、各入力ポリゴンは内部を囲むライン フィーチャに変換されます。 マルチパート ポリゴンはマルチパート ラインに変換されます。
ORIG_FID フィールドが、各入力ラインのフィーチャ ID とともに出力に追加されます。 入力フィーチャの属性は、出力で保持されます。
パラメーター
arcpy.management.PolygonToLine(in_features, out_feature_class, {neighbor_option})
名前 | 説明 | データ タイプ |
in_features | 入力ポリゴン フィーチャ。 | Feature Layer |
out_feature_class | 出力ライン フィーチャクラス。 | Feature Class |
neighbor_option (オプション) | ポリゴン隣接関係を特定し、出力に格納するかどうかを指定します。
| Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで PolygonToLine 関数を使用する方法を示しています。
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.PolygonToLine("Habitat_Analysis.gdb/vegtype",
"C:/output/Output.gdb/vegtype_lines",
"IGNORE_NEIGHBORS")
次のスタンドアロン スクリプトに、PolygonToLine 関数の使用例を示します。
# Name: PolygonToLine_Example2.py
# Description: Use the PolygonToLine function to convert polygons to lines,
# and report how many shared or overlapping boundary lines
# were found.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/landcovers.gdb"
# Create variables for the input and output feature classes
inFeatureClass = "bldgs"
outFeatureClass = "bldgs_lines"
# Run PolygonToLine to convert polygons to lines using default neighbor_option
arcpy.management.PolygonToLine(inFeatureClass, outFeatureClass)
# Select lines that have LEFT_FID values greater than -1
arcpy.management.MakeFeatureLayer(outFeatureClass, "selection_lyr",
"\"LEFT_FID\" > -1")
result = arcpy.management.GetCount("selection_lyr")
if result[0] == "0":
print("No overlapping or shared boundary lines were found.")
else:
print(f"{result[0]} overlapping or shared boundary lines were found.")