フィーチャ → ライン(Feature to Line) (データ管理)
サマリ
ポリゴン境界線をラインへ変換するか、ライン フィーチャまたはポリゴン フィーチャ、またはその両方をフィーチャの交点で分割することで生成されるラインを含むフィーチャクラスを作成します。
図
使用法
-
必要に応じて入力属性を出力フィーチャクラスに保持できます。これは、ダイアログ ボックスの [属性を保存] オプション(スクリプトでは 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)] ツールを使用してください。
-
このツールは非常に大きなデータセットをタイル化し、パフォーマンスとスケーラビリティを向上します。詳細については、「大きなデータセットのジオプロセシング」をご参照ください。
構文
パラメータ | 説明 | データ タイプ |
in_features [in_features,...] |
ラインまたはポリゴン、またはその両方である入力フィーチャ。 | Feature Layer |
out_feature_class |
出力ライン フィーチャクラス。 | Feature Class |
cluster_tolerance (オプション) |
すべてのフィーチャ座標の最短距離、および空間計算の間に X 方向、Y 方向、XY 方向に座標を移動できる距離。デフォルトの XY 許容値は、0.001 メートル、またはフィーチャ単位でそれに相当する値に設定されます。 | Linear unit |
attributes (オプション) |
入力属性を出力フィーチャクラスに保存するか、しないかを指定します。
| Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで FeatureToLine(フィーチャ → ライン)関数を使用する方法を示しています。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.FeatureToLine_management(["majorrds.shp", "habitat_analysis.gdb/futrds"],
"c:/output/output.gdb/allroads",
"0.001 Meters", "ATTRIBUTES")
次のスタンドアロン スクリプトは、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
from arcpy import env
# Set environment settings
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")