Linie vereinfachen (Kartografie)

Lizenzstufe:BasicStandardAdvanced

Zusammenfassung

Vereinfacht Linien durch Entfernen unwesentlicher Biegungen unter Beibehaltung der wesentlichen Form.

Weitere Informationen zur Funktionsweise des Befehls "Linie vereinfachen"

Bild

Abbildung "Linie vereinfachen"

Verwendung

Syntax

SimplifyLine_cartography (in_features, out_feature_class, algorithm, tolerance, {error_resolving_option}, {collapsed_point_option}, {error_checking_option})
ParameterErläuterungDatentyp
in_features

Die zu vereinfachenden Linien-Features.

Feature Layer
out_feature_class

Die zu erstellende Ausgabe-Line-Feature-Class.

Feature Class
algorithm

Dadurch wird der Algorithmus für die Linienvereinfachung festgelegt.

  • POINT_REMOVEBehält so genannte kritische Punkte bei, die die wesentliche Form einer Linie beschreiben. Alle anderen Punkte werden entfernt. Dies ist die Standardeinstellung.
  • BEND_SIMPLIFYBehält die kritischen Biegungen einer Linie bei, und entfernt unwesentliche Biegungen.
String
tolerance

Der Grad der Vereinfachung wird durch die Toleranz bestimmt. 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.

  • Für den Algorithmus POINT_REMOVE stellt die angegebene Toleranz den maximal zulässigen Versatz jedes Stützpunktes von seiner ursprünglichen Position dar. Dieser Wert kann in einigen Gebieten lokal reduziert werden, wenn die Option zum Beheben topologischer Fehler verwendet wird.
  • Für den Algorithmus BEND_SIMPLIFY stellt die angegebene Toleranz die Länge der entsprechenden Basislinie einer Biegung dar.
Linear unit
error_resolving_option
(optional)

Festlegung, wie (möglicherweise durch den Vorgang entstandene) topologische Fehler, wie z. B. sich schneidende, überlappende oder zusammengefasste Linien mit der Länge 0, behandelt werden. Dieser Parameter wird verwendet, wenn 'error_checking_option' auf CHECK festgelegt wurde (Standardwert).

  • FLAG_ERRORSErmittelte topologische Fehler werden gekennzeichnet. Dies ist die Standardeinstellung.
  • RESOLVE_ERRORSErmittelte topologische Fehler werden behoben.
Boolean
collapsed_point_option
(optional)

Legt fest, ob während des Vorgangs ermittelte zusammengefasste Linien mit der Länge 0 beibehalten werden. Diese Option wird nur berücksichtigt, wenn NO_CHECK angegeben wurde oder sowohl FLAG_ERRORS als auch CHECK angegeben wurden.

  • KEEP_COLLAPSED_POINTSZusammengefasste Linien mit der Länge 0 werden als Punkte beibehalten. Die Endpunkte der zusammengefassten Linien werden in einer Point-Feature-Class am Speicherort der Position der Ausgabe-Feature-Class unter dem Namen der Ausgabe-Feature-Class und dem Suffix _Pnt gespeichert. Dies ist die Standardeinstellung.
  • NO_KEEPZusammengefasste Linien mit der Länge 0, die während des Vorgangs gefunden werden, werden nicht als Punkte beibehalten. Die Point-Feature-Class bleibt leer.
Boolean
error_checking_option
(optional)

Festlegung, wie (möglicherweise durch den Vorgang entstandene) topologische Fehler, wie z. B. sich schneidende, überlappende oder zusammengefasste Linien mit der Länge 0, behandelt werden.

  • CHECKLegt fest, dass auf topologische Fehler überprüft wird, und aktiviert den Parameter error_resolving_option. Dies ist die Standardeinstellung.
  • NO_CHECKLegt fest, dass keine Überprüfung auf topologische Fehler durchgeführt wird, und deaktiviert den Parameter error_resolving_option.
Boolean

Codebeispiel

SimplifyLine – Beispiel (Python-Fenster)

Im folgenden Skript im Python-Fenster wird veranschaulicht, wie Sie das Werkzeug "SimplifyLine" im unmittelbaren Modus verwenden.

import arcpy
from arcpy import env
import arcpy.cartography as CA
env.workspace = "C:/data"
CA.SimplifyLine("roads.shp", 
                "C:/output/output.gdb/simplified_roads", 
                "POINT_REMOVE", 
                20)
SimplifyLine – Beispiel 2 (eigenständiges Skript)

Das folgende eigenständige Skript veranschaulicht, wie das Werkzeug "SimplifyLine" verwendet wird.

# Name: SimplifyLine_Example2.py
# Description: Simplify line features from two feature classes, rivers and coastlines,
# while maintaining their connections

 
# Import system modules
import arcpy
from arcpy import env
import arcpy.management as DM
import arcpy.cartography as CA
 
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Hydrography"
 
# Set local variables
inRiverFeatures = "rivers"
inCoastlineFeatures = "coastlines"

mergedFeatures = "C:/data/PortlandOutput.gdb/merged_lines"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/merged_lines_simplified"
tempLayer = "tempLyr"

outRiverFeatureClass = "C:/data/PortlandOutput.gdb/rivers_final"
outCoastlineFeatureClass = "C:/data/PortlandOutput.gdb/coastlines_final"

# Merge rivers and coastlines into one feature class, 
# assuming that they have a common f-code field 
# with value 40 for rivers and 80 for coastlines.
DM.Merge(inRiverFeatures, inCoastlineFeatures, mergedFeatures)

# Simplify all lines.
CA.SimplifyLine(mergedFeatures, 
                simplifiedFeatures, 
                "BEND_SIMPLIFY", 
                100, 
                "RESOLVE_ERRORS", 
                "KEEP_COLLAPSED_POINTS", 
                "CHECK")
 
# Select rivers and coastlines by their f-code values 
# and put them in separate feature classes.
DM.MakeFeatureLayer(simplifiedFeatures, tempLayer, "f-code = 40")
DM.CopyFeatures(tempLayer, outRiverFeatureClass)

DM.MakeFeatureLayer(simplifiedFeatures, tempLayer, "f-code = 80")
DM.CopyFeatures(tempLayer, outCoastlineFeatureClass)

Umgebung

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Nein
ArcGIS for Desktop Standard: Ja
ArcGIS for Desktop Advanced: Ja
6/5/2014