Zusammenfassung
Vereinfacht die Kanten von Eingabe-Features, wobei die topologische Beziehung mit den gemeinsamen Kanten von anderen Features beibehalten wird.
Abbildung
Verwendung
Dieses Werkzeug stellt unterschiedliche Vereinfachungsalgorithmen für verschiedene Zwecke bereit. Weitere Informationen zu diesen Algorithmen finden Sie unter Funktionsweise von "Linie vereinfachen" und "Polygon vereinfachen".
- Der Algorithmus Kritische Punkte beibehalten (Douglas-Peucker) (algorithm='POINT_REMOVE' in Python) identifiziert und entfernt relativ überflüssige Stützpunkte, um die Daten für die Anzeige in kleineren Maßstäben zu vereinfachen. Er ist der schnellste der Vereinfachungsalgorithmen in diesem Werkzeug. Er wird häufig zur Datenkomprimierung oder für eine grobere Vereinfachung verwendet. Die entstehenden Linien weisen mit zunehmender Toleranz deutlich mehr Winkel auf. Dieser Algorithmus basiert auf dem Douglas-Peucker-Algorithmus: Douglas, David and Peucker, Thomas, "Algorithms for the reduction of the number of points required to represent a digitized line or its caricature," The Canadian Cartographer. 10(2), 112–22 (1973).
- Der Algorithmus Kritische Biegungen beibehalten (Wang-Müller) (algorithm='BEND_SIMPLIFY' in Python) identifiziert und entfernt relativ unbedeutende Biegungen, um die Daten für die Anzeige in kleineren Maßstäben zu vereinfachen. Er gibt die Eingabe-Geometrie in der Regel wirklichkeitsgetreuer wieder als der Algorithmus Kritische Punkte beibehalten (Douglas-Peucker), kann jedoch mehr Zeit für die Bearbeitung in Anspruch nehmen. Dieser Algorithmus basiert auf dem in Wang, Zeshen and Müller, Jean-Claude, "Line Generalization Based on Analysis of Shape Characteristics," Cartography and Geographic Information Systems 25(1), 3–15 (1998) definierten Algorithmus.
- Der Algorithmus Gewichtete effektive Flächen beibehalten (Zhou-Jones) (algorithm='WEIGHTED_AREA' in Python) identifiziert zuerst Dreiecke einer effektiven Fläche für jeden Stützpunkt. Anschließend erfolgt anhand mehrerer Kennwerte eine Gewichtung der ermittelten Dreiecke nach Flachheit, Schiefe und Krümmung der jeweiligen Fläche. Die gewichteten Flächen bestimmen die Entfernung ihrer entsprechenden Stützpunkte, um die Linie zu vereinfachen, während so viele Eigenschaften wie möglich beibehalten werden. Dieser Algorithmus basiert auf dem Algorithmus, der in Zhou, Sheng und Jones, Christopher B., (2005) "Shape-Aware Line Generalisation with Weighted Effective Area" in Fisher, Peter F. (Hrsg.), Developments in Spatial Handling 11th International Symposium on Spatial Handling, 369–80, definiert wurde.
- Der Algorithmus Effektive Flächen beibehalten (Visvalingam-Whyatt) (algorithm='EFFECTIVE_AREA' in Python) identifiziert Dreiecke der effektiven Fläche für jeden Stützpunkt, um das Entfernen von Stützpunkten zu steuern und die Linie zu vereinfachen, während möglichst viele Eigenschaften beibehalten werden. Dieser Algorithmus basiert auf dem Algorithmus, der in Visvalingam, M. und Whyatt, J. D., "Line Generalisation by Repeated Elimination of the Smallest Area", Cartographic Information Systems Research Group (CISRG) Discussion Paper 10, University of Hull (1992), definiert wurde.
Mit diesem Werkzeug werden die Parameter Eingabe-Features und Features mit gemeinsamer Kante geändert. Es wird keine neue Ausgabe erzeugt.
Die Vereinfachung wird auf alle Kanten von Eingabe-Features und nur auf die Kanten von Features mit gemeinsamer Kante, die eine gemeinsame Kante mit Eingabe-Features haben, angewendet. Die Kanten von Features mit gemeinsamer Kante, die keine gemeinsame Kante mit mindestens einer Kante von Eingabe-Features haben, werden nicht vereinfacht.
Syntax
arcpy.cartography.SimplifySharedEdges(in_features, algorithm, tolerance, {shared_edge_features}, {minimum_area}, {in_barriers})
Parameter | Erklärung | Datentyp |
in_features [in_features,...] | Die Linien oder Polygone, die vereinfacht werden sollen. | Feature Layer |
algorithm | Legt den Vereinfachungsalgorithmus fest.
| String |
tolerance | Bestimmt den Grad der Vereinfachung. Wenn keine Einheit angegeben wurde, werden die Eingabeeinheiten verwendet.
| Linear Unit |
shared_edge_features [shared_edge_features,...] (optional) | Linien- oder Polygon-Features, die entlang der gemeinsamen Kanten mit Eingabe-Features vereinfacht werden. Andere Kanten werden nicht vereinfacht. | Feature Layer |
minimum_area (optional) | Die Mindestfläche für ein beizubehaltendes Polygon. Der Standardwert ist 0. Bei diesem Wert werden alle Polygone beibehalten. Es kann eine Einheit angegeben werden. Falls dies nicht geschieht, wird die Eingabeeinheit verwendet. Dieser Parameter ist nur verfügbar, wenn es sich bei mindestens einer Eingabe um eine Polygon-Feature-Class handelt. | Areal Unit |
in_barriers [in_barriers,...] (optional) | Punkt-, Linien- oder Polygon-Features, die als Barrieren für die Vereinfachung dienen. Die vereinfachten Features berühren oder kreuzen keine Barrieren-Features. | Feature Layer |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_feature_class | Die geglätteten Eingabe-Features. | Feature-Layer |
out_shared_edge_feature_class | Die Features mit gemeinsamer Kante. | Feature-Layer |
Codebeispiel
Das folgende Skript für das Python-Fenster veranschaulicht, wie das Werkzeug SimplifySharedEdges im unmittelbaren Modus verwendet wird:
import arcpy
arcpy.env.workspace = "C:/data/LandUse.gdb"
arcpy.SimplifySharedEdges_cartography
arcpy.SimplifySharedEdges_cartography("Water;Parks;",
"POINT_REMOVE",
"10 Meters",
"Commercial;Highways;Buildings",
"0 SquareMeters")
Dieses eigenständige Skript stellt ein Beispiel für die Verwendung des Werkzeugs SimplifySharedEdges dar.
# Name: SimplifySharedEdges_standalone_script.py
# Description: Simplifies input features while maintaining topological
# relationships along shared edges. For features included as
# shared_edge_features (4th argument of
# SimplifySharedEdges_cartography()) only the edges that are shared
# with in_features (1st argument) are simplified.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/LandUse.gdb"
# Set local variables
in_features = "Water;Parks"
algorithm = "POINT_REMOVE"
tolerance = "10 Meters"
shared_edge_features = "Commercial;Highways;Buildings"
minimum_area = "0 SquareMeters"
barriers = None
# Execute Simplify Shared Edges
arcpy.SimplifySharedEdges_cartography(in_features, algorithm, tolerance,
shared_edge_features, minimum_area,
barriers)
Umgebungen
Lizenzinformationen
- Basic: Nein
- Standard: Ja
- Advanced: Ja