Advanced のライセンスで利用可能。
概要
ポリゴン境界線をラインへ変換するか、ライン フィーチャまたはポリゴン フィーチャ、またはその両方をフィーチャの交点で分割することで生成されるラインを含むフィーチャクラスを作成します。
図
使用法
必要に応じて入力属性を出力フィーチャクラスに保持できます。これは、ダイアログ ボックスの [属性の保存] オプション (スクリプトでは attributes パラメーター) によって指定します。
複数のフィーチャクラスまたはレイヤーが入力フィーチャのリストで指定されている場合、それらのエントリの順序は出力フィーチャ タイプに影響を与えません。ただし、このツールのダイアログ ボックスで、リストの最上位にあるエントリの空間参照が処理で使用され、出力に設定されます。
入力ラインまたは入力ポリゴン境界線が、フィーチャの始点と終点以外の位置で互いに接しているか、交差しているか、重なり合っている場合は、それらのフィーチャが交点で分割され、分割された各ラインが 1 つの出力ライン フィーチャになります。入力ラインまたは入力ポリゴン境界線が別のフィーチャと交差していない場合は、そのフィーチャの形状全体が 1 つのライン フィーチャとして書き込まれます。
マルチパート入力フィーチャの場合、出力ラインはシングルパートになります。
入力フィーチャがパラメトリック カーブ (トゥルー カーブ) である場合、出力ラインでは、分割された場合でもトゥルー カーブが維持されます。これは、シェープファイル データには適用されません。
ダイアログ ボックスの [属性の保存] オプションがオンの場合 (スクリプトで attributes パラメーターが ATTRIBUTES に設定されている)、すべての入力エントリの属性が、入力リストに表示されている順番で出力ラインに保存されます。新規フィールドである FID_xxx (xxx は、該当する入力エントリのソース フィーチャクラス名) が各入力エントリの出力に追加され、ソース フィーチャの ID に設定されます。出力ラインは、次のいずれかの方法で属性に関連付けられます。
- 2 つのポリゴンを区切る境界線など、同じ入力フィーチャのセット内でラインまたはポリゴン境界が一致している場合は、同じジオメトリを持つ 2 つのライン フィーチャが出力に書き込まれます。それらには、個別にそのソース フィーチャの属性が設定されます。
- ポリゴン境界線に重なっているラインなど、2 つの異なる入力フィーチャのセット内でラインまたはポリゴン境界が一致している場合は、両方のソース フィーチャの属性を含むライン フィーチャが 1 つだけ出力に書き込まれます。
- 出力ラインが、該当する入力フィーチャ セット内のどのフィーチャとも重なり合っていない場合、その出力ラインの FID_xxx フィールドには値 -1 が設定され、当該フィーチャ セットの他のフィールドには 0 または NULL 値が設定されます。
ダイアログ ボックスの [属性の保存] オプションがオフの場合 (スクリプトで attributes パラメーターが NO_ATTRIBUTES に設定されている)、入力属性はいずれも出力フィーチャクラスに保存されません。一致するラインまたはポリゴン境界線のセットごとに 1 つのライン フィーチャが出力に書き込まれます。
入力フィーチャに隣接ポリゴンが含まれる場合、属性として左右のポリゴン フィーチャ ID が設定されている共有境界線を出力するには、代わりに [ポリゴン → ライン (Polygon To Line)] ツールを使用してください。
このツールは非常に大きなデータセットをタイル化し、パフォーマンスとスケーラビリティを向上します。詳細については、「大きなデータセットのジオプロセシング」をご参照ください。
構文
arcpy.management.FeatureToLine(in_features, out_feature_class, {cluster_tolerance}, {attributes})
パラメーター | 説明 | データ タイプ |
in_features [in_features,...] | ラインまたはポリゴン、またはその両方である入力フィーチャ。 | Feature Layer |
out_feature_class | 出力ライン フィーチャクラス。 | Feature Class |
cluster_tolerance (オプション) | すべてのフィーチャ座標の最短距離、および空間計算の間に X 方向、Y 方向、XY 方向に座標を移動できる距離。デフォルトの XY 許容値は、0.001 メートル、またはフィーチャ単位でそれに相当する値に設定されます。 | Linear Unit |
attributes (オプション) | 入力属性を出力フィーチャクラスに保存するか、しないかを指定します。
| Boolean |
コードのサンプル
FeatureToLine (フィーチャ → ライン) の例 1 (Python ウィンドウ)
次の Python ウィンドウ スクリプトは、イミディエイト モードで FeatureToLine 関数を使用する方法を示しています。
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.FeatureToLine_management(["majorrds.shp", "habitat_analysis.gdb/futrds"],
"c:/output/output.gdb/allroads",
"0.001 Meters", "ATTRIBUTES")
FeatureToLine (フィーチャ → ライン) の例 2 (スタンドアロン スクリプト)
次のスタンドアロン スクリプトは、FeatureToLine 関数をスクリプティング環境で適用する方法の例を示しています。
# Name: FeatureToLine_Example2.py
# Description: Use FeatureToLine function to combine features from two
# street feature classes into a single feature class,
# then determine an area of impact around all streets
# by buffering
# import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
oldStreets = "majorrds.shp"
newStreets = "habitat_analysis.gdb/futrds"
uptodateStreets = "c:/output/output.gdb/allroads"
# Use FeatureToLine function to combine features into single feature class
arcpy.FeatureToLine_management([oldStreets, newStreets], uptodateStreets,
"0.001 Meters", "ATTRIBUTES")
# Use Buffer function to determine area of impact around streets
roadsBuffer = "c:/output/output.gdb/buffer_output"
arcpy.Buffer_analysis(uptodateStreets, roadsBuffer, "50 Feet",
"FULL", "ROUND", "ALL")
環境
ライセンス情報
- Basic: いいえ
- Standard: いいえ
- Advanced: はい