頂点の間引き(Generalize) (編集)
サマリ
Simplifies the input features using the Douglas-Peucker simplification algorithm with a specified maximum offset tolerance. The output features will contain a subset of the original input vertices.
図
使用法
-
This tool uses the same algorithm as the Simplify Line tool's point remove method. The Simplify Line tool provides more parameters and creates a new output, whereas this tool modifies the input feature class.
-
This tool generalizes features record by record. Sections of lines and polygon boundaries which were coincident between features may not be conincident after the tool is run.
-
Bézier curve, circular arc, elliptic arc segments will be converted to a set of straight line segments.
-
This tool does not delete records or features. If the tolerance is larger than a polygon, the polygon will be reduced to three vertices.
このツールを使用すると入力データが変更されます。詳しい説明および不適切なデータ変更を防ぐための方法については、「出力を伴わないツール」をご参照ください。
構文
パラメータ | 説明 | データ タイプ |
in_features |
The polygon or line features to be generalized. | Feature Layer |
tolerance (オプション) |
The tolerance sets the maximum allowable offset, which will determine the degree of simplification. This value limits the distance the output geometry can differ from the input geometry. You can specify a preferred unit of measurement. The default is the feature unit. | Linear unit |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで Generalize(ジェネラライズ)関数を使用する方法を示しています。
import arcpy
from arcpy import env
env.workspace = "C:\data\data.gdb"
arcpy.Generalize_edit("zones", "10 Feet")
以下のスタンドアロン スクリプトは、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