Polygon glätten (Cartography)

Zusammenfassung

Glättet spitze Winkel in Umrisslinien von Polygonen, um die ästhetische oder kartografische Qualität zu verbessern.

Erfahren Sie mehr zur Funktionsweise der Werkzeuge "Linie glätten" und "Polygon glätten".

Abbildung

Abbildung des Werkzeugs "Polygon glätten"
Die spitzen Winkel eines Polygons können entweder mit der PAEK- oder der Bézier-Interpolationsmethode geglättet werden.

Verwendung

  • Der Parameter Glättungsalgorithmus bietet die folgenden Optionen:

    • Polynomiale Approximation mit exponentiellem Kernel (PAEK, Polynomial Approximation with Exponential Kernel): Glättet Polygone auf der Grundlage einer Glättungstoleranz. Ein geglättetes Polygon hat möglicherweise mehr Stützpunkte als das ursprüngliche Polygon. 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.
    • Bézier-Interpolation: Glättet Polygone ohne die Verwendung einer Toleranz. Dabei werden approximierte Bézierkurven erstellt, die den Eingabe-Polygonen entsprechen.
  • Verwenden Sie den Parameter Eingabe-Barriere-Layer zum Bestimmen von Features, die nicht von geglätteten Polygonen gekreuzt werden dürfen. Als Barrieren-Features können Punkte, Linien oder Polygone verwendet werden.

  • Bei Verarbeitung von großen Datasets werden möglicherweise Speicherbeschränkungen überschritten. Erwägen Sie in solchen Fällen, die Eingabedaten partitionsweise zu verarbeiten, indem Sie eine relevante Polygon-Feature-Class in der Umgebungseinstellung Kartografische Partitionen angeben. Die Teile der Daten, die durch Partitionsgrenzen definiert werden, werden sequenziell verarbeitet. Die sich ergebende Feature-Class ist an den Partitionsrändern nahtlos und konsistent. Weitere Informationen erhalten Sie unter Generalisieren von großen Datasets mit Partitionen.

    Vorsicht:

    Die Umgebungseinstellung "Kartografische Partitionen" wird ignoriert, wenn der Parameter Verarbeitung topologischer Fehler auf Nicht auf topologische Fehler überprüfen oder Auf topologische Fehler überprüfen und sie kennzeichnen gesetzt wird.

  • Domänen und Subtypes werden auch dann in die Ausgabe kopiert, wenn die Umgebung Felddomäne, Subtypes und Attributregeln übertragen deaktiviert ist.

  • Die Ausgabe-Polygon-Feature-Class ist topologisch korrekt. Alle topologischen Fehler in den Eingabedaten werden in der Ausgabe-Polygon-Feature-Class gekennzeichnet. In der Ausgabe-Feature-Class sind die folgenden zusätzlichen Felder enthalten:

    • InPoly_FID: Die Feature-IDs der Eingabe.
    • SmoPgnFlag: Topologische Fehler der Eingabe. Ein Wert von 1 gibt an, dass ein topologischer Fehler vorliegt. Ein Wert von 0 gibt an, dass keine Fehler vorhanden sind.

    Vorversion:

    Vor der ArcGIS Pro 2.2-Version dieses Werkzeugs wurde der Parameter Endpunkt für Ringe beibehalten verwendet, um anzugeben, ob der Endpunkt eines entstandenen isolierten Polygonrings beibehalten werden soll. Dieser Parameter ist in der Syntax des Werkzeugs für Kompatibilität in Skripten und Modellen nach wie vor enthalten, wird aber nun ignoriert und aus dem Dialogfeld des Werkzeugs ausgeblendet.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Features

Die zu glättenden Polygon-Features.

Feature Layer
Ausgabe-Feature-Class

Die Ausgabe-Polygon-Feature-Class, die erstellt wird.

Feature Class
Glättungsalgorithmus

Gibt den Algorithmus für die Glättung an, der verwendet wird.

  • PAEK (Polynomial Approximation with Exponential Kernel, Polynomiale Approximation mit exponentiellem Kernel)Ein geglättetes Polygon, das nicht durch die Eingabe-Polygon-Stützpunkte verläuft, wird berechnet. Dies ist die Standardeinstellung.
  • Bezier-InterpolationBézierkurven werden zwischen den Stützpunkten angepasst. Die entstehenden Polygone verlaufen durch die Stützpunkte der Eingabe-Polygone. Für diesen Algorithmus ist keine Toleranz erforderlich. Bézierkurven werden bei der Ausgabe annähernd berechnet.
String
Glättungstoleranz

Die von der Option PAEK (Polynomial Approximation with Exponential Kernel, Polynomiale Approximation mit exponentiellem Kernel) des Parameters Glättungsalgorithmus verwendete Toleranz. 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. Dieser Parameter ist nicht verfügbar, wenn die Option Bézier-Interpolation für den Parameter Glättungsalgorithmus verwendet wird.

Linear Unit
Endpunkt für Ringe beibehalten
(optional)

Dies ist ein älterer Parameter, der nicht mehr verwendet wird. Er wurde verwendet, um anzugeben, ob der Endpunkt eines isolierten Polygonrings beibehalten wird. Dieser Parameter ist aus Gründen der Kompatibilität in Skripten und Modellen nach wie vor in der Syntax des Werkzeugs enthalten, wird aber im Bereich Geoverarbeitung ausgeblendet.

Gibt an, ob die Endpunkte von isolierten Polygonringen beibehalten werden. Diese Option kann nur mit der Option PAEK (Polynomial Approximation with Exponential Kernel, Polynomiale Approximation mit exponentiellem Kernel) des Parameters Glättungsalgorithmus verwendet werden.

  • Aktiviert: Der Endpunkt eines isolierten Polygonrings wird beibehalten. Dies ist die Standardeinstellung.
  • Deaktiviert: Der Endpunkt eines isolierten Polygonrings wird nicht beibehalten. Er wird geglättet.
Boolean
Verarbeitung topologischer Fehler
(optional)

Gibt an, wie (möglicherweise bei der Verarbeitung entstandene) topologische Fehler, z. B. sich schneidende Linien oder Überlappungen, behandelt werden.

  • Nicht auf topologische Fehler überprüfenTopologische Fehler werden nicht erkannt. Dies ist die Standardeinstellung.
  • Auf topologische Fehler überprüfen und sie kennzeichnenWenn topologische Fehler gefunden werden, werden diese gekennzeichnet.
  • Topologische Fehler lösenWenn topologische Fehler gefunden werden, werden diese gelöst.
String
Eingabe-Barriere-Layer
(optional)

Die Eingaben mit Features, die als Barrieren für das Glätten fungieren. Die resultierenden geglätteten Polygone berühren oder kreuzen keine Barrieren-Features.

Feature Layer

arcpy.cartography.SmoothPolygon(in_features, out_feature_class, algorithm, tolerance, {endpoint_option}, {error_option}, {in_barriers})
NameErläuterungDatentyp
in_features

Die zu glättenden Polygon-Features.

Feature Layer
out_feature_class

Die Ausgabe-Polygon-Feature-Class, die erstellt wird.

Feature Class
algorithm

Gibt den Algorithmus für die Glättung an, der verwendet wird.

  • PAEKEin geglättetes Polygon, das nicht durch die Eingabe-Polygon-Stützpunkte verläuft, wird berechnet. Dies ist die Standardeinstellung.
  • BEZIER_INTERPOLATIONBézierkurven werden zwischen den Stützpunkten angepasst. Die entstehenden Polygone verlaufen durch die Stützpunkte der Eingabe-Polygone. Für diesen Algorithmus ist keine Toleranz erforderlich. Bézierkurven werden bei der Ausgabe annähernd berechnet.
String
tolerance

Die von der Option PAEK des Parameters algorithm verwendete Toleranz. 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 der Option BEZIER_INTERPOLATION des Parameters algorithm müssen Sie eine 0 als Platzhalter eingeben.

Linear Unit
endpoint_option
(optional)

Dies ist ein älterer Parameter, der nicht mehr verwendet wird. Er wurde verwendet, um anzugeben, ob der Endpunkt eines isolierten Polygonrings beibehalten wird. Dieser Parameter ist in der Syntax des Werkzeugs für Kompatibilität in Skripten und Modellen nach wie vor enthalten.

Gibt an, ob die Endpunkte von isolierten Polygonringen beibehalten werden. Diese Option kann nur mit der Option PAEK des Parameters algorithm verwendet werden.

  • FIXED_ENDPOINTDer Endpunkt eines isolierten Polygonrings wird beibehalten. Dies ist die Standardeinstellung.
  • NO_FIXEDDer Endpunkt eines isolierten Polygonrings wird nicht beibehalten. Er wird geglättet.
Boolean
error_option
(optional)

Gibt an, wie (möglicherweise bei der Verarbeitung entstandene) topologische Fehler, z. B. sich schneidende Linien oder Überlappungen, behandelt werden.

  • NO_CHECKTopologische Fehler werden nicht erkannt. Dies ist die Standardeinstellung.
  • FLAG_ERRORSWenn topologische Fehler gefunden werden, werden diese gekennzeichnet.
  • RESOLVE_ERRORSWenn topologische Fehler gefunden werden, werden diese gelöst.
String
in_barriers
[in_barriers,...]
(optional)

Die Eingaben mit Features, die als Barrieren für das Glätten fungieren. Die resultierenden geglätteten Polygone berühren oder kreuzen keine Barrieren-Features.

Feature Layer

Codebeispiel

SmoothPolygon: Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion SmoothPolygon im Direkt-Modus verwendet wird.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.cartography.SmoothPolygon("soils.shp", "C:/output/output.gdb/smoothed_soils", "PAEK", 100)
SmoothPolygon: Beispiel 2 (eigenständiges Skript)

Das folgende eigenständige Skript veranschaulicht, wie die Funktion SmoothPolygon verwendet wird.

# Name: SmoothPolygon_Example2.py
# Description: Eliminate small islands before simplifying and smoothing lake boundaries

# Import system modules.
import arcpy

# Set environment settings.
arcpy.env.workspace = "C:/data/Portland.gdb/Hydrography"

# Set local variables.
inLakeFeatures = "lakes"
barriers = "C:/data/Portland.gdb/Structures/buildings"
eliminatedFeatures = "C:/data/PortlandOutput.gdb/lakes_eliminated"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/lakes_simplified"
smoothedFeatures = "C:/data/PortlandOutput.gdb/lakes_smoothed"

# Eliminate small islands in lake polygons.
arcpy.management.EliminatePolygonPart(
    inLakeFeatures, eliminatedFeatures, 100, "OR", 0, "CONTAINED_ONLY")

# Simplify lake polygons.
arcpy.cartography.SimplifyPolygon(
    eliminatedFeatures, simplifiedFeatures, "POINT_REMOVE", 50, 200, 
    "RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS", barriers)

# Smooth lake polygons.
arcpy.cartography.SmoothPolygon(
    simplifiedFeatures, smoothedFeatures, "PAEK", 100, "", "FLAG_ERRORS",
    barriers)

Lizenzinformationen

  • Basic: Nein
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen