Geometrie überprüfen (Data Management)
Zusammenfassung
Generiert einen Bericht über die Geometrieprobleme in einer Feature-Class.
Gültige Eingabeformate sind in einer Personal- oder File-Geodatabase gespeicherte Shapefiles und Feature-Classes. SDE-Geodatabases überprüfen automatisch die Gültigkeit der einzelnen Geometrien, wenn diese hochgeladen werden. Daher werden die Werkzeuge Geometrie überprüfen und Geometrie reparieren mit SDE nicht verwendet.
Weitere Informationen zu Geometrieproblemen, ihren Auswirkungen auf die Software und möglichen Quellen finden Sie im Abschnitt Überprüfen und Reparieren von Geometrien.
Verwendung
-
Die Ausgabetabelle enthält einen Datensatz für jedes erkannte Problem. Wenn keine Probleme gefunden werden, ist die Tabelle leer.
-
Die Ausgabetabelle enthält die folgenden Felder:
- CLASS – Der vollständige Pfad und Name der Feature-Class, in der das Problem aufgetreten ist.
- FEATURE_ID – Die Feature-ID (FID) oder ObjectID (OID) des Features mit dem Geometriefehler.
- PROBLEM – Eine kurze Beschreibung des Problems.
-
Das Feld PROBLEM kann Folgendes beinhalten:
- Kurze Segmente – Einige Segmente sind kürzer, als es aufgrund der Systemeinheiten des mit der Geometrie verknüpften Raumbezugs zulässig ist.
- NULL-Geometrie – Das Feld SHAPE des Features besitzt keine Geometrie bzw. ist leer.
- Falsche Ringanordnung – Das Polygon ist topologisch einfach, aber die Ringe sind nicht korrekt ausgerichtet (äußere Ringe im Uhrzeigersinn, innere Ringe gegen den Uhrzeigersinn).
- Falsche Segmentausrichtung – Einzelne Segmente sind nicht konsistent ausgerichtet. Der Bis-Punkt von Segment i muss mit dem Von-Punkt des Segments i+1 übereinstimmen.
- Schnittpunkte mit sich selbst – Ein Polygon darf sich nicht überschneiden.
- Offene Ringe – Der Bis-Punkt des letzten Segments in einem Ring muss mit dem Von-Punkt des ersten Segments übereinstimmen.
- Leere Teile – Die Geometrie besteht aus mehreren Teilen, von denen eines leer ist (über keine Geometrie verfügt).
- Doppelter Stützpunkt – Die Geometrie hat zwei oder mehr Stützpunkte mit identischen Koordinaten.
- Die Attribute stimmen nicht überein – Die Z- oder die M-Koordinate des Endpunktes eines Liniensegments stimmt nicht mit der Z- oder der M-Koordinate des lagegleichen Endpunktes auf dem nächsten Segment überein.
- Diskontinuierliche Abschnitte – Einer der Teile der Geometrie besteht aus getrennten oder diskontinuierlichen Abschnitten.
- Leere Z-Werte – Die Geometrie weist einen oder mehrere Stützpunkte mit leerem Z-Wert auf (z. B. NaN).
-
Die von diesem Werkzeug erkannten Fehler können wie folgt behoben werden:
- Durch manuelles Bearbeiten und Korrigieren des Features mit den Geometrieproblemen. Einige dieser Probleme, z. B. nicht einfache Geometrie, können im Editor nicht korrigiert werden.
- Führen Sie für die Feature-Classes, in denen Geometriefehler erkannt wurden, das Werkzeug Geometrie reparieren aus.
-
Bei Punkt-Features treten nur Probleme mit NULL-Geometrie auf.
-
Zur Vereinfachung der Überprüfung der Features, für die Geometrieprobleme gemeldet werden, können Sie in ArcMap mit dem Werkzeug Verbinden die Eingabe-Features mit der Ausgabetabelle verbinden. Verbinden Sie einfach, indem Sie das Feld "ObjectID" der Eingabe und das Feld FEATURE_ID der Ausgabetabelle verwenden. Sie können auch die Option Alle beibehalten deaktivieren, um nur Features mit Geometrieproblemen anzuzeigen.
Von der Version 10.0 an wird eine Liniengeometrie nicht mehr als "sich selbst schneidend" angesehen, wenn sie sich selbst kreuzt. Es gab keine negativen Auswirkungen auf diese Geometrietypen, daher meldet das Werkzeug Geometrie überprüfen das Feature nicht mehr als Problem, und das Werkzeug Geometrie reparieren führt keine Reparatur mehr an der Geometrie des Features aus. Vor der Version 10.0 fügte das Werkzeug Geometrie reparieren Stützpunkte am Schnittpunkt "sich selbst überschneidender" Linien hinzu. Falls Sie Stützpunkte hinzufügen möchten, wenn sich Linien-Features überschneiden, verwenden Sie das Werkzeug Integrieren.
Syntax
Parameter | Erläuterung | Datentyp |
in_features [in_features,...] |
Die Feature-Classes oder Feature-Layer, die auf Geometrieprobleme überprüft werden. Gültige Eingabeformate sind in einer Personal- oder File-Geodatabase gespeicherte Shapefiles und Feature-Classes. | Feature Layer |
out_table |
Die Tabelle, in der die in den Eingabe-Features erkannten Probleme aufgelistet werden. | Table |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion "CheckGeometry" im unmittelbaren Modus verwenden.
import arcpy
arcpy.env.workspace = "c:/data/data.gdb"
arcpy.CheckGeometry_management (["contours", "roads", "vegetation"], "CG_Result")
Das folgende eigenständige Skript verwendet die Funktion "CheckGeometry", indem es alle Feature-Classes in einer Geodatabase durchläuft.
# BatchCheckGeometry.py
# Description:
# Loops through all the feature classes in a geodatabase, and generates
# a report of the problems encountered with feature geometry.
# Requirements: Python
# Import modules
import arcpy
# The workspace in which the feature classes will be checked
outTable = "C:/data/St_Lucia.gdb/checkGeometryResult"
arcpy.env.workspace = "C:/data/St_Lucia.gdb"
# A variable that will hold the list of all the feature classes
# inside the geodatabase
fcs = []
# List all feature classes in feature datasets
for fds in arcpy.ListDatasets("","featuredataset"):
fcs += arcpy.ListFeatureClasses("*","",fds)
# List all standalone feature classes
fcs = arcpy.ListFeatureClasses()
print "Running the check geometry tool on %i feature classes" % len(fcs)
arcpy.CheckGeometry_management(fcs, outTable)
print (str(arcpy.GetCount_management(outTable)) + " geometry problems were found.")
print ("See " + outTable + " for full details")