Zusammenfassung
Vergleicht zwei Tabellen oder Tabellensichten und gibt die Vergleichsergebnisse zurück.
Verwendung
Mit diesem Werkzeug werden Meldungen mit den Vergleichsergebnissen zurückgegeben. Standardmäßig wird die Ausführung nach dem Auffinden des ersten Übereinstimmungsfehlers beendet. Sollen alle Abweichungen in den Bericht aufgenommen werden, aktivieren Sie den Parameter Vergleich fortsetzen.
Mit Tabellenvergleich können Unterschiede und Ähnlichkeiten bei Tabellenwerten und Felddefinitionen gemeldet werden.
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 Alle (ALL in Python) 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, die nicht im Vergleich der Feldanzahl enthalten sind, werden die Felddefinitionen und Tabellenwerte für diese Felder 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.
Bei der Verwendung dieses Werkzeugs in Python können Sie den Status des Werkzeugs mit result.getOutput(1) abrufen. Der Wert lautet 'true', wenn keine Unterschiede gefunden werden, und 'false', wenn Unterschiede festgestellt werden.
Weitere Informationen zur Verwendung von Werkzeugen in Python
Syntax
arcpy.management.TableCompare(in_base_table, in_test_table, sort_field, {compare_type}, {ignore_options}, {attribute_tolerances}, {omit_field}, {continue_compare}, {out_compare_file})
Parameter | Erklärung | 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. Die 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 [ignore_options,...] (optional) | Diese Eigenschaften werden 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 den in_base_table und den in_test_table. Diese Datei ist eine kommagetrennte Textdatei, die in ArcGIS als Tabelle angezeigt und verwendet werden kann. | File |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
compare_status | Der Vergleichsstatus lautet 'true', wenn keine Unterschiede gefunden werden, und 'false', wenn Unterschiede festgestellt werden. | Boolesch |
Codebeispiel
Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion TableCompare im unmittelbaren Modus verwendet wird.
import arcpy
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.
# import system modules
import arcpy
# 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)
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja