Zusammenfassung
Glättet spitze Winkel in Linien, um die ästhetische oder kartografische Qualität zu verbessern.
Abbildung
Verwendung
Sie können aus zwei Glättungsmethoden wählen:
- Die Methode PAEK (Polynomial Approximation with Exponential Kernel, Polynomiale Approximation mit exponentiellem Kernel) (PAEK in Python) glättet Polygone auf Grundlage einer Glättungstoleranz. Eine geglättete Linie weist möglicherweise mehr Stützpunkte als die ursprüngliche Linie auf. Der Parameter Glättungstoleranz steuert die Länge eines "gleitenden" Pfades, der bei der Berechnung neuer Stützpunkte verwendet wird. Je geringer die Länge, desto mehr Details bleiben erhalten und desto länger ist die Verarbeitungszeit.
- Die Methode Bezier-Interpolation (BEZIER_INTERPOLATION in Python) glättet Linien ohne Verwendung einer Toleranz durch das Erstellen von Bézierkurven, die den Eingabelinien entsprechen. Wenn die Ausgabe ein Shapefile ist, werden die Bézierkurven approximiert, da in Shapefiles keine echten Bézierkurven gespeichert werden können.
Die Glättung verursacht möglicherweise topologische Fehler wie Linienüberschneidungen. Verwenden Sie für den Parameter Verarbeitung topologischer Fehler die Option Fehler kennzeichnen (FLAG_ERRORS in Python), um diese Fehler zu identifizieren. Die Felder InLine_FID und SmoLnFlag für Eingabe-Feature-IDs und topologische Fehler werden hinzugefügt. Der Wert 1 im Feld SmoLnFlag zeigt einen Topologiefehler an. 0 (null) bedeutet, dass kein Fehler aufgetreten ist. Das Feld InLineFID verknüpft die Ausgabelinien mit ihren Eingabelinien. Die Option Fehler kennzeichnen kann nicht innerhalb einer Editiersitzung verwendet werden.
Während des Glättungsvorgangs erstellte ungültige (sich selbst schneidende) Geometrie wird repariert, aber nicht verbessert. Wenn sich z. B. eine Linie selbst schneidet, wird sie zu einer Multipart-Linie, sieht aber nach wie vor wie eine sich selbst schneidende Linie aus.
Syntax
SmoothLine_cartography (in_features, out_feature_class, algorithm, tolerance, {endpoint_option}, {error_option})
Parameter | Erläuterung | Datentyp |
in_features | Die zu glättenden Linien-Features. | Feature Layer |
out_feature_class | Die zu erstellende Ausgabe-Feature-Class. | Feature Class |
algorithm | Gibt den Algorithmus für die Glättung an.
| String |
tolerance | Legt die vom Algorithmus PAEK verwendete Toleranz fest. Die Toleranz muss angegeben und größer als 0 sein. Sie können eine bevorzugte Einheit auswählen. Standardmäßig wird die Feature-Einheit verwendet. Beim Verwenden des Glättungs-Algorithmus BEZIER_INTERPOLATION müssen Sie eine 0 als Platzhalter eingeben. | Linear Unit |
endpoint_option (optional) | Legt fest, ob die Endpunkte für geschlossene Linien beibehalten werden. Diese Option kann nur mit dem PAEK-Algorithmus verwendet werden.
| Boolean |
error_option (optional) | Festlegung, wie (möglicherweise durch den Vorgang entstandene) topologische Fehler, wie z. B. sich schneidende Linien, behandelt werden.
| String |
Codebeispiel
SmoothLine – Beispiel (Python-Fenster)
Das folgende Skript im Python-Fenster veranschaulicht, wie das Werkzeug SmoothLine im unmittelbaren Modus verwendet wird.
import arcpy
import arcpy.cartography as CA
arcpy.env.workspace = "C:/data"
CA.SmoothLine("contours.shp", "C:/output/output.gdb/smoothed_contours", "PAEK", 100)
SmoothLine Beispiel 2 (eigenständiges Skript)
Im folgenden eigenständigen Skript wird veranschaulicht, wie das Werkzeug SmoothLine verwendet wird.
# Name: SmoothLine_Example2.py
# Description: Simplify and then Smooth coastlines
# Import system modules
import arcpy
import arcpy.cartography as CA
# Set environment settings
arcpy.env.workspace = "C:/data/Portland.gdb/Hydrography"
# Set local variables
inCoastlineFeatures = "coastlines"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/coastlines_simplified"
smoothedFeatures = "C:/data/PortlandOutput.gdb/coastlines_smoothed"
# Simplify coastlines.
CA.SimplifyLine(inCoastlineFeatures, simplifiedFeatures, "POINT_REMOVE", 50, "RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS", "CHECK")
# Smooth coastlines.
CA.SmoothLine(simplifiedFeatures, smoothedFeatures, "PAEK", 100, "", "FLAG_ERRORS")
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Nein
- ArcGIS Desktop Standard: Ja
- ArcGIS Desktop Advanced: Ja