Generalisieren (Bearbeitung)
Zusammenfassung
Vereinfacht die Eingabe-Features mithilfe des Douglas-Peucker-Vereinfachungsalgorithmus in Verbindung mit einer angegebenen maximalen Versatztoleranz. Die Ausgabe-Features enthalten eine Teilmenge der ursprünglichen Eingabe-Stützpunkte.
Bild
Verwendung
-
Dieses Werkzeug verwendet den gleichen Algorithmus wie die Punktentfernungsmethode (POINT REMOVE) des Werkzeugs Linie vereinfachen. Das Werkzeug Linie vereinfachen stellt mehr Parameter bereit und erstellt eine neue Ausgabe, während dieses Werkzeug die Eingabe-Feature-Class ändert.
-
Dieses Werkzeug generalisiert Features von Datensatz zu Datensatz. Abschnitte von Linien und Polygonen, die bei mehreren Features lagegleich sind, sind nach der Ausführung des Werkzeugs unter Umständen nicht mehr lagegleich.
-
Bézierkurven, Kreisbogen- und Ellipsenbogensegmente werden in gerade Liniensegmente konvertiert.
Mit diesem Werkzeug werden Datensätze oder Features nicht gelöscht. Wenn die Toleranz größer als ein Polygon ist, wird das Polygon auf drei Stützpunkte reduziert.
Mit diesem Werkzeug werden die Eingabedaten geändert. Weitere Informationen und Strategien zur Vermeidung unerwünschter Datenänderungen finden Sie unter Werkzeuge ohne Ausgabe.
Syntax
Parameter | Erläuterung | Datentyp |
in_features |
Die Polygon- oder Eingabe-Features, die generalisiert werden sollen. | Feature Layer |
tolerance (optional) |
Die Toleranz legt den maximal zulässigen Versatz fest, der den Grad der Vereinfachung bestimmt. Dieser Wert beschränkt die Entfernung der Ausgabegeometrie von der Eingabegeometrie. Sie können eine bevorzugte Maßeinheit angeben. Die Standardeinstellung ist die Einheit des Features. | Linear unit |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion "Generalisieren" im unmittelbaren Modus verwenden.
import arcpy
from arcpy import env
env.workspace = "C:\data\data.gdb"
arcpy.Generalize_edit("zones", "10 Feet")
Das unten gezeigte eigenständige Skript ist ein Beispiel für die Verwendung der Funktion "Generalisieren" in einem Workflow, in dem Features zuerst vereinfacht und dann gepuffert werden:
#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