サマリー
指定されたオフセットの最大許容値を使用して入力フィーチャを単純化します。出力フィーチャには、元の入力頂点のサブセットが含まれます。
図
使用法
このツールでは、[ラインの単純化 (Simplify Line)] ツールのポイント削除方法 (Douglas-Peucker 単純化アルゴリズム) が使用されます。[ラインの単純化 (Simplify Line)] ツールはパラメーターが多く、新しい出力を作成しますが、このツールは入力フィーチャクラスを変更します。
このツールはレコードごとにフィーチャの頂点を間引きします。フィーチャ間で重なっているラインとポリゴン境界の部分は、ツールを実行した後に重なりが解消されます。
ベジェ曲線、円弧、楕円円弧の線分は、一連の直線の線分に変換されます。
このツールでは、レコードまたはフィーチャは削除されません。許容値がポリゴンより大きい場合は、ポリゴンの頂点の数が 3 つに減少します。
構文
Generalize_edit (in_features, {tolerance})
パラメーター | 説明 | データ タイプ |
in_features | 頂点を間引くポリゴンまたはライン フィーチャ。 | Feature Layer |
tolerance (オプション) | 最大許容オフセットを設定します。この値によって単純化の度合いが決まります。入力ジオメトリからオフセット可能な出力ジオメトリの最大距離。必要な計測単位を指定できます。デフォルトはフィーチャの単位です。 | Linear unit |
コードのサンプル
Generalize (頂点の間引き) の例 (Python ウィンドウ)
次の Python ウィンドウ スクリプトは、イミディエイト モードで Generalize (頂点の間引き) 関数を使用する方法を示しています。
import arcpy
arcpy.env.workspace = "C:\data\data.gdb"
arcpy.Generalize_edit("zones", "10 Feet")
Generalize (頂点の間引き) の例 2 (スタンドアロン スクリプト)
以下のスタンドアロン スクリプトは、Generalize (頂点の間引き) 関数を使用してフィーチャを先に単純化してからバッファーリングを行う方法の例です。
#Name: BufferZones.py
#Purpose: Simplify features using the Generalize tool and then Buffer them
#Import script modules
import arcpy
try:
#Set the workspace
arcpy.env.workspace = "C:/data/data.gdb"
#Set local parameters
inFeatures = "zones"
gTolerance = "4 Feet"
copFeatures = "zones_cp"
bufDist = "50 Miles"
bufOutput = "zones_buff"
#Since Generalize permanently updates the input, first make a copy of the original FC
arcpy.CopyFeatures_management (inFeatures, copFeatures)
#Use the Generalize tool to simplify the Buffer input to shorten Buffer processing time
arcpy.Generalize_edit(copFeatures, gTolerance)
#Buffer the output
arcpy.Buffer_analysis(copFeatures, bufOutput, bufDist)
except Exception as err:
print(err)