頂点の間引き(Generalize) (編集)
サマリ
指定した最大許容オフセットに基づき、Douglas-Peucker 単純化アルゴリズムを使用して入力フィーチャを単純化します。出力フィーチャには、元の入力頂点のサブセットが含まれます。
図
使用法
-
このツールでは、[ラインの単純化(Simplify Line)] ツールのポイント削除方法と同じアルゴリズムが使用されます。[ラインの単純化] ツールはパラメータが多く、新しい出力を作成しますが、このツールは入力フィーチャクラスを変更します。
-
このツールはレコードごとにフィーチャの頂点を間引きします。フィーチャ間で重なっているラインとポリゴン境界の部分は、ツールを実行した後に重なりが解消されます。
-
ベジェ曲線、円弧、楕円円弧の線分は、一連の直線の線分に変換されます。
このツールでは、レコードまたはフィーチャは削除されません。許容値がポリゴンより大きい場合は、ポリゴンの頂点の数が 3 つに減少します。
注意:
このツールを使用すると入力データが変更されます。詳しい説明および不適切なデータ変更を防ぐための方法については、「出力を伴わないツール」をご参照ください。
構文
Generalize_edit (in_features, {tolerance})
パラメータ | 説明 | データ タイプ |
in_features |
頂点を間引くポリゴンまたはライン フィーチャ。 | Feature Layer |
tolerance (オプション) |
最大許容オフセットを設定します。この値によって単純化の度合いが決まります。入力ジオメトリからオフセット可能な出力ジオメトリの最大距離。必要な計測単位を指定できます。デフォルトはフィーチャの単位です。 | Linear unit |
コードのサンプル
Generalize の例(Python ウィンドウ)
次の Python ウィンドウ スクリプトは、イミディエイト モードで Generalize 関数を使用する方法を示しています。
import arcpy from arcpy import env 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 #Author: ESRI #Import script modules import arcpy from arcpy import env try: #Set the workspace 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, e: # If an error occurred, print line number and error message import traceback, sys tb = sys.exc_info()[2] print "Line %i" % tb.tb_lineno print e.message
環境
関連項目
ライセンス情報
ArcView: いいえ
ArcEditor: はい
ArcInfo: はい
7/10/2012