頂点の挿入(Densify) (編集)
サマリ
ライン フィーチャまたはポリゴン フィーチャに沿って頂点を挿入します。円弧線分(ベジェ、円弧、楕円弧)も頂点が密集した線分に置き換えられます。
図
使用法
-
直線セグメントへの頂点の挿入には [距離] パラメータの値が使用されます。曲線セグメントは [距離]、[最小偏角]、または [最大オフセット偏差] パラメータに基づいた頂点の挿入によって単純化されます。
頂点の挿入はセグメントごとに行われます。
頂点の挿入を実行するたびに、頂点の挿入方法を 1 つだけ選択できます。
-
データの空間参照は、このツールによって生成される結果に非常に大きな影響を与えます。フィーチャの形状を正確に維持するため、適切な座標系で頂点の挿入を行う必要があります。
-
出力フィーチャのすべてのセグメントの頂点は元の入力フィーチャ上にあります。各セグメントの始点と終点の位置は変わりません。
[最大オフセット偏差] によって頂点を挿入する際の入力ジオメトリに円弧が含まれている場合、出力ジオメトリで 2 本の連続するセグメントがなす角度が 10 度を超えないように、オフセットの上限が適用されます。[最小偏角] によって頂点を挿入する場合、この角度を超えることができます。
このツールを使用すると入力データが変更されます。詳しい説明および不適切なデータ変更を防ぐための方法については、「出力を伴わないツール」をご参照ください。
構文
パラメータ | 説明 | データ タイプ |
in_features |
頂点を挿入する対象のポリゴンまたはライン フィーチャクラス。 | Feature Layer |
densification_method (オプション) |
フィーチャに頂点を挿入する方法。
| String |
distance (オプション) |
頂点間の最大直線距離。この距離は、直線だけでなく曲線の単純化にも必ず適用されます。デフォルト値は許容値の関数です。 | Linear unit |
max_deviation (オプション) |
入力ジオメトリからオフセット可能な出力ジオメトリの最大距離。このパラメータは曲線の単純化のみに使用されます。デフォルト値は、フィーチャクラスをシェープファイルに変換するための値です。 | Linear unit |
max_angle (オプション) |
入力ジオメトリからオフセット可能な出力ジオメトリの最大角度。このパラメータは曲線の単純化のみに使用されます。入力角度は、0 ~ 90 度の範囲で指定できます。デフォルト値は、フィーチャクラスをシェープファイルに変換するための値です。 | Double |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで Densify(頂点の挿入)関数を使用する方法を、例を挙げて示したものです。
import arcpy arcpy.Densify_edit("C:/data/data.gdb/lines", "ANGLE","", "", "0.75")
次に示すスタンドアロン スクリプトは、ワークフローの一部として Densify(頂点の挿入)関数およびスナップ編集ツールを使用する方法を示しています。
# Name: Snap.py # Description: Snap climate regions boundary to vegetation layer # boundary to ensure common boundary is coincident # Author: ESRI # import system modules import arcpy # Set environment settings arcpy.env.workspace = "C:/data" # Make backup copy of climate regions feature class, # since modification with the Editing tools below is permanent climate = "climate.shp" climateBackup = "C:/output/Output.gdb/climateBackup" arcpy.CopyFeatures_management(climate, climateBackup) # Densify climate regions feature class to make sure there are enough #vertices to match detail of vegetation layer when layers are snapped arcpy.Densify_edit(climate, "DISTANCE", "10 Feet") # Snap climate regions feature class to vegetation layer vertices and edge veg = "Habitat_Analysis.gdb/vegtype" # first, snap climate region vertices to the nearest vegetation layer vertex within 30 Feet snapEnv1 = [veg, "VERTEX", "30 Feet"] # second, snap climate region vertices to the nearest vegetation layer edge within 20 Feet snapEnv2 = [veg, "EDGE", "20 Feet"] arcpy.Snap_edit(climate, [snapEnv1, snapEnv2])