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. Enterprise-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 Enterprise-Geodatabases 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 Geometrieproblem. 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 Objekt-ID (OID) des Features mit dem Geometriefehler.
- PROBLEM: Eine kurze Beschreibung des Problems.
Das Feld PROBLEM kann Folgendes beinhalten:
- Short segment: Einige Segmente sind kürzer, als es aufgrund der Systemeinheiten des mit der Geometrie verknüpften Raumbezugs zulässig ist.
- Null geometry: Das Feld SHAPE des Features besitzt keine Geometrie bzw. ist leer.
- Incorrect ring ordering: Das Polygon ist topologisch einfach, aber die Ringe sind nicht korrekt ausgerichtet (äußere Ringe im Uhrzeigersinn, innere Ringe gegen den Uhrzeigersinn).
- Incorrect segment orientation: Einzelne Segmente sind nicht einheitlich ausgerichtet. Der Bis-Punkt des Segments i muss mit dem Von-Punkt des Segments i+1 übereinstimmen.
- Self intersections: Ein Polygon darf sich nicht überschneiden.
- Unclosed rings: Der Bis-Punkt des letzten Segments in einem Ring muss mit dem Von-Punkt des ersten Segments übereinstimmen.
- Empty parts: Die Geometrie besteht aus mehreren Teilen, von denen einer leer ist (über keine Geometrie verfügt).
- Duplicate vertex: Die Geometrie hat zwei oder mehr Stützpunkte mit identischen Koordinaten.
- Mismatched attributes: 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.
- Discontinuous parts: Einer der Teile der Geometrie besteht aus getrennten oder diskontinuierlichen Abschnitten.
- Empty Z values: Die Geometrie weist einen oder mehrere Stützpunkte mit leerem Z-Wert auf (z. B. NaN).
- Bad envelope: Der Envelope stimmt nicht mit der Koordinatenausdehnung der Geometrie überein.
- Bad dataset extent: Die Ausdehnung des Datasets enthält nicht alle Features.
Die von diesem Werkzeug erkannten Fehler können wie folgt behoben werden:
- Bearbeiten und korrigieren Sie das Feature mit den Geometrieproblemen. Einige der Probleme können nicht durch Bearbeitung behoben werden.
- Führen Sie für die Feature-Classes, in denen Geometriefehler erkannt wurden, das Werkzeug Geometrie reparieren aus.
Bei Punkt-Features treten möglicherweise nur Probleme mit Null-Geometrie auf.
Zur Vereinfachung der Überprüfung der Features, für die Geometrieprobleme gemeldet werden, können Sie die Eingabe-Features mit der Ausgabetabelle verbinden, indem Sie das Werkzeug Verbindung hinzufügen zusammen mit dem Feld OBJECTID oder FID der Eingabe und dem Feld FEATURE_ID der Ausgabetabelle verwenden.
Syntax
arcpy.management.CheckGeometry(in_features, out_table)
Parameter | Erklärung | Datentyp |
in_features [in_feature,...] | Die Feature-Classes oder Feature-Layer, die auf Geometrieprobleme überprüft werden sollen. Gültige Eingaben sind in einer Personal- oder File-Geodatabase gespeicherte Shapefiles und Feature-Classes. | Feature Layer |
out_table | Die Ausgabetabelle mit Geometrieproblemen, die in den Eingabe-Features erkannt wurden. | Table |
Codebeispiel
CheckGeometry: Beispiel 1 (Python-Fenster)
Das folgende Skript im Python-Fenster veranschaulicht, wie die Funktion CheckGeometry im unmittelbaren Modus verwendet wird.
import arcpy
arcpy.env.workspace = "c:/data/data.gdb"
arcpy.CheckGeometry_management(["contours", "roads", "vegetation"], "CheckGeom_Result")
CheckGeometry: Beispiel 2 (eigenständiges Skript)
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.
# Import modules
import arcpy
import os
# The geodatabase in which the feature classes will be checked
arcpy.env.workspace = "C:\\data\\St_Lucia.gdb"
out_table = "checkGeometryResult"
# A variable that will hold the list of all the feature classes
# inside the geodatabase
fc_list = []
# Identify all feature classes in the geodatabase
for path, dirnames, fcs in arcpy.da.Walk(arcpy.env.workspace,
datatype='FeatureClass'):
for fc in fcs:
fc_list.append(os.path.join(path, fc))
print("Running the check geometry tool on {} feature classes".format(
len(fc_list)))
arcpy.CheckGeometry_management(fc_list, out_table)
print("{} geometry problems found, see {} for details.".format(
arcpy.GetCount_management(out_table)[0], out_table))
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja