Resumen
Compara dos tablas o vistas de tabla y devuelve los resultados de la comparación.
Uso
Esta herramienta devuelve mensajes que muestran el resultado de la comparación. De forma predeterminada, la ejecución se detiene después de encontrar la primera comparación errónea. Para informar de todas las diferencias, active el parámetro Continuar comparación.
Comparar tabla puede reportar diferencias y similitudes con valores tabulares y definiciones de campo.
Se pueden especificar múltiples campos de ordenamiento. Tanto la Tabla base de entrada como la Tabla test de entrada se ordenan basadas en los campos que especifica. Se ordena el primer campo, luego el segundo campo, y así sucesivamente, en orden ascendente. El ordenamiento por campo común en la tabla base y la tabla test asegura que se está comparando la misma fila de cada dataset de entrada.
-
De manera predeterminada, el tipo de comparación está configurado como Todo (ALL en Python). Esto significa que se verificarán todas las propiedades de las tablas que se están comparando, incluidos atributos y propiedades de campo. Sin embargo, puede elegir un tipo de comparación distinto para verificar sólo propiedades específicas de las tablas que se estén comparando.
La opción Ignorar opciones proporciona la posibilidad de omitir propiedades de la comparación. Éstas incluyen propiedades de extensión, subtipos y clases de relación.
Cuando se omiten campos que no están incluidos en la comparación de recuento de campo, se ignoran las definiciones de campo y los valores tabulares para esos campos.
Las tolerancias de atributos sólo se pueden especificar para los tipos de campos numéricos.
El Archivo de comparación de salida tendrá registradas todas las similitudes y diferencias entre la Tabla base de entrada y la Tabla test de entrada. Este archivo es un archivo de texto delimitado por comas que se puede ver y utilizar como una tabla en ArcGIS. Por ejemplo, esta tabla se puede consultar para obtener todos los valores ObjectID para todas las filas que sean diferentes.
Con esta herramienta de Python se puede obtener el estado de la herramienta mediante result.getOutput(1). El valor será 'true' si no se encuentra ninguna diferencia y 'false' si se detecta alguna diferencia.
Obtenga más información acerca del uso de herramientas en Python
Sintaxis
arcpy.management.TableCompare(in_base_table, in_test_table, sort_field, {compare_type}, {ignore_options}, {attribute_tolerances}, {omit_field}, {continue_compare}, {out_compare_file})
Parámetro | Explicación | Tipo de datos |
in_base_table | La Tabla base de entrada se compara con la Tabla test de entrada. La Tabla base de entrada se refiere a los datos tabulares que declaró como válidos. Los datos base tienen las definiciones de campo y los valores de atributo correctos. | Table View; Raster Layer |
in_test_table | La Tabla test de entrada se compara con la Tabla base de entrada. La Tabla test de entrada se refiere a los datos que sufrieron cambios por edición o compilación de nuevos campos, registros o valores de atributo. | Table View ; Raster Layer |
sort_field [sort_field,...] | Campos utilizados para ordenar registros en la Tabla base de entrada y la Tabla test de entrada. Los registros se clasifican en orden ascendente. El ordenamiento por campo común en la Tabla base de entrada y la Tabla test de entrada asegura que se está comparando la misma fila de cada dataset de entrada. | Value Table |
compare_type (Opcional) | El tipo de comparación. ALL es el valor predeterminado. El valor predeterminado comparará todas las propiedades de las tablas que se están comparando.
| String |
ignore_options [ignore_options,...] (Opcional) | Estas propiedades no se compararán.
| String |
attribute_tolerances [[Field, {Tolerance}],...] (Opcional) | El valor numérico que determina el rango en el cual los valores de atributos se consideran iguales. Esto sólo se aplica a los tipos de campos numéricos. | Value Table |
omit_field [omit_field,...] (Opcional) | El campo o los campos que se omitirán durante la comparación. Se ignorarán las definiciones de campo y los valores tabulares para estos campos. | String |
continue_compare (Opcional) | Indica si se deben comparar todas las propiedades después de encontrar la primera falta de coincidencia.
| Boolean |
out_compare_file (Opcional) | Este archivo contendrá todas las similitudes y diferencias entre las in_base_table y las in_test_table. Este archivo es un archivo de texto delimitado por comas que se puede ver y utilizar como una tabla en ArcGIS. | File |
Salida derivada
Nombre | Explicación | Tipo de datos |
compare_status | El estado de comparación será 'true' si no se encuentra ninguna diferencia y 'false' si se detectan diferencias. | Booleano |
Muestra de código
El siguiente script de la ventana de Python demuestra cómo utilizar la función TableCompare en el modo inmediato.
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')
Ejemplo de cómo utilizar la herramienta TableCompare en un script independiente.
# 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)
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí