Tabellenvergleich (Data Management)
Zusammenfassung
Vergleicht zwei Tabellen oder Tabellensichten und gibt die Vergleichsergebnisse zurück. Mit diesem Werkzeug können Unterschiede und Ähnlichkeiten bei Tabellenwerten und Felddefinitionen gemeldet werden.
Verwendung
-
Mit dem Werkzeug werden Meldungen mit den Vergleichsergebnissen zurückgegeben. Standardmäßig beendet das Werkzeug die Ausführung nach dem Auffinden des ersten Übereinstimmungsfehlers. Sollen alle Abweichungen in den Bericht aufgenommen werden, legen Sie die Option zum Fortsetzen der Vergleichsoperation auf "True" fest.
-
Es können mehrere Sortierfelder angegeben werden. Sowohl die Eingabe-Basistabelle als auch die Eingabe-Testtabelle werden auf Grundlage der angegebenen Felder sortiert. Es wird das erste Feld sortiert, anschließend das zweite usw. (in aufsteigender Reihenfolge). Wenn Sie nach einem gemeinsamen Feld in Basis- und Testtabelle sortieren, können Sie sicherstellen, dass für jedes Eingabe-Dataset dieselbe Zeile verglichen wird.
-
Für den Vergleichstyp ist standardmäßig ALL festgelegt. Das heißt, dass alle Eigenschaften der verglichenen Tabellen geprüft werden, einschließlich Feldeigenschaften und Attribute. Sie können jedoch einen anderen Vergleichstyp auswählen, um nur bestimmte Eigenschaften der verglichenen Tabellen zu prüfen.
-
Mit den Ausschlussoptionen haben Sie die Möglichkeit, Eigenschaften aus dem Vergleich auszuschließen. Zu diesen Eigenschaften zählen Erweiterungseigenschaften, Subtypes und Beziehungsklassen.
-
Wenn Sie Felder weglassen, werden diese nicht in den Vergleich der Feldanzahl einbezogen und die Felddefinitionen und Tabellenwerte für diese Felder werden ignoriert.
-
Attributtoleranzen können nur für Zahlenfelder angegeben werden.
-
Die Ausgabe-Vergleichsdatei enthält alle Ähnlichkeiten und Unterschiede der Eingabe-Basistabelle und der Eingabe-Testtabelle. Diese Datei ist eine kommagetrennte Textdatei, die in ArcGIS als Tabelle angezeigt und verwendet werden kann. Diese Tabelle kann beispielsweise abgefragt werden, um alle ObjectID-Werte für alle abweichenden Zeilen abzurufen.
-
Das ResultObject des Vergleichswerkzeugs hat den Wert "true", wenn keine Unterschiede gefunden werden, und den Wert "false", wenn Unterschiede festgestellt werden.
Syntax
Parameter | Erläuterung | Datentyp |
in_base_table |
Die Eingabe-Basistabelle wird mit der Eingabe-Testtabelle verglichen. Die Eingabe-Basistabelle bezieht sich auf die Tabellendaten, die als gültig deklariert wurden. Diese Basisdaten verfügen über die richtigen Felddefinitionen und Attributwerte. | Table View; Raster Layer |
in_test_table |
Die Eingabe-Testtabelle wird mit der Eingabe-Basistabelle verglichen. Die Eingabe-Testtabelle bezieht sich auf Daten, an denen Sie durch Bearbeitung oder Kompilierung neuer Felder, neuer Datensätze oder neuer Attributwerte Änderungen vorgenommen haben. | Table View ; Raster Layer |
sort_field [sort_field,...] |
Das Feld bzw. die Felder, die zur Sortierung von Datensätzen in der Eingabe-Basistabelle und der Eingabe-Testtabelle verwendet werden. Die Datensätze werden in aufsteigender Reihenfolge sortiert. Standardmäßig wird mit einem gemeinsamen Feld für die Eingabe-Basistabelle und die Eingabe-Testtabelle sichergestellt, dass für jedes Eingabe-Dataset dieselbe Zeile verglichen wird. | Value Table |
compare_type (optional) |
Der Vergleichstyp. Die Standardeinstellung ist ALL. Mit der Standardeinstellung werden alle Eigenschaften der zu vergleichenden Tabellen verglichen.
| String |
ignore_options (optional) |
Diese Eigenschaften werden während des Vergleichs nicht verglichen.
| String |
attribute_tolerances [[Field, {Tolerance}],...] (optional) |
Der numerische Wert, mit dem festgelegt wird, in welchem Bereich Attributwerte als gleich betrachtet werden. Diese Option ist nur für Zahlenfelder relevant. | Value Table |
omit_field [omit_field,...] (optional) |
Das Feld beziehungsweise die Felder, die beim Vergleich übergangen werden. Die Felddefinitionen und die Tabellenwerte für diese Felder werden ignoriert. | String |
continue_compare (optional) |
Gibt an, ob nach dem Auffinden des ersten Übereinstimmungsfehlers alle Eigenschaften verglichen werden sollen.
| Boolean |
out_compare_file (optional) |
Diese Datei enthält alle Ähnlichkeiten und Unterschiede zwischen Eingabe-Basistabelle und Eingabe-Testtabelle. Diese Datei ist eine kommagetrennte Textdatei, die in ArcGIS als Tabelle angezeigt und verwendet werden kann. | File |
Codebeispiel
Mit dem folgenden Skript im Python-Fenster wird veranschaulicht, wie Sie die Funktion "TableCompare" im unmittelbaren Modus verwenden.
import arcpy from arcpy import env arcpy.TableCompare_management(r'c:\Workspace\wells.dbf', r'c:\Workspace\wells_new.dbf', 'WELL_ID', 'ALL', 'IGNORE_EXTENSION_PROPERTIES', 'WELL_DEPTH 0.001', '#', 'CONTINUE_COMPARE', r'C:\Workspace\well_compare.txt' )
Beispiel für die Verwendung des Werkzeugs "TableCompare" in einem eigenständigen Skript.
# Name: TableCompare.py # Description: Compare two dBASE tables and return comparison result. # Author: ESRI # import system modules import arcpy try: # Set local variables base_table= "C:/Workspace/wells.dbf" test_table = "C:/Workspace/wells_new.dbf" sort_field = "WELL_ID" compare_type = "ALL" ignore_option = "IGNORE_EXTENSION_PROPERTIES" attribute_tolerance = "WELL_DEPTH 0.001" omit_field = "#" continue_compare = "CONTINUE_COMPARE" compare_file = "C:/Workspace/well_compare.txt" # Process: FeatureCompare compare_result = arcpy.TableCompare_management(base_table, test_table, sort_field, compare_type, ignore_option, attribute_tolerance, omit_field, continue_compare, compare_file) print compare_result print arcpy.GetMessages() except: # Print error message if an error occurs print arcpy.GetMessages()