概要
ライン フィーチャまたはポリゴン フィーチャに沿って頂点を追加します。さらに、曲線セグメント (ベクター、円弧、楕円弧) を直線セグメントに置き換えます。
図
使用法
直線セグメントへの頂点の挿入には [距離] パラメーターの値が使用されます。曲線セグメントは [距離]、[最小偏角]、または [最大オフセット偏差] パラメーターに基づいた頂点の挿入によって単純化されます。
頂点の挿入はセグメントごとに行われます。
[頂点の挿入 (Densify)] を実行するたびに、頂点の挿入方法を 1 つだけ選択できます。
データの空間参照は、このツールによって生成される結果に非常に大きな影響を与えます。フィーチャの形状を正確に維持するため、適切な座標系で頂点の挿入を行う必要があります。
生成されるフィーチャには、(始点と終点を含め) 元のフィーチャの各頂点と一致する頂点が配置されます。
[最大オフセット偏差] によって頂点を挿入する際の入力ジオメトリに円弧が含まれている場合、出力ジオメトリで 2 本の連続するセグメントがなす角度が 10 度を超えないように、オフセットの上限が適用されます。[最小偏角] によって頂点を挿入する場合、この角度を超えることができます。
構文
arcpy.edit.Densify(in_features, {densification_method}, {distance}, {max_deviation}, {max_angle})
パラメーター | 説明 | データ タイプ |
in_features | 頂点を挿入する対象のポリゴンまたはライン フィーチャクラス。 | Feature Layer |
densification_method (オプション) | フィーチャに頂点を挿入する方法。
| String |
distance (オプション) | 頂点間の最大直線距離。この距離は、直線だけでなく曲線の単純化にも必ず適用されます。デフォルト値は、データの XY 許容値に基づいています。 | Linear unit |
max_deviation (オプション) | 元のジオメトリから出力ジオメトリまでの最大距離。このパラメーターは曲線にのみ適用されます。デフォルト値は、データの XY 許容値に基づいています。 | Linear unit |
max_angle (オプション) | 入力ジオメトリからオフセット可能な出力ジオメトリの最大角度。有効な範囲は 0 ~ 90 です。デフォルト値は 10。このパラメーターは曲線にのみ適用されます。 | Double |
コードのサンプル
Densify (頂点の挿入) の例 1 (Python ウィンドウ)
次の Python ウィンドウ スクリプトは、イミディエイト モードで Densify (頂点の挿入) 関数を使用する方法を、例を挙げて示したものです。
import arcpy
arcpy.Densify_edit("C:/data.gdb/lines", "ANGLE","", "", "0.75")
Densify (頂点の挿入) の例 2 (スタンドアロン スクリプト)
次に示すスタンドアロン スクリプトは、ワークフローの一部として Densify (頂点の挿入) 関数およびスナップ編集ツールを使用する方法を示しています。
# Name: Snap.py
# Description: Snap climate regions boundary to vegetation layer
# boundary to ensure common boundary is coincident
# 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
#
climateBackup = "backups/climate.shp"
arcpy.CopyFeatures_management('climate.shp', 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.shp', "DISTANCE", "10 Feet")
# Snap climate regions feature class to vegetation layer vertices and edge
# first, snap climate region vertices to the nearest vegetation vertex within 30 Feet
# second, snap climate region vertices to the nearest vegetation edge within 20 Feet
#
snapEnv1 = ["Habitat_Analysis.gdb/vegtype", "VERTEX", "30 Feet"]
snapEnv2 = ["Habitat_Analysis.gdb/vegtype", "EDGE", "20 Feet"]
arcpy.Snap_edit('climate.shp', [snapEnv1, snapEnv2])
環境
ライセンス情報
- Basic: いいえ
- Standard: はい
- Advanced: はい