Краткая информация
Сравнивает две таблицы или два представления таблицы. Этот инструмент может сообщать о различиях и сходствах в табличных значениях и определениях полей.
Использование
Этот инструмент выдает сообщение с результатами сравнения. По умолчанию этот инструмент завершает работу и выдает результат после обнаружения первого несоответствия при сравнении. Чтобы получить информацию о всех различиях, отметьте параметр Продолжить сравнение (Continue Comparison).
Могут быть определены несколько полей для сортировки. И Исходная таблица (Input Base Table) и Тестовая таблица (Input Test Table) сортируются на основе заданных полей. Сортируется первое поле, затем второе, и т.д. в порядке возрастания. Сортировка по общему полю и в исходной и в тестовой таблице гарантирует, что вы сравниваете ту же строку из каждого набора данных.
По умолчанию установлен тип сравнения ALL. Это означает, что будут проверены все свойства сравниваемых таблиц, включая такие, как свойства и атрибуты полей. Однако, вы можете выбрать другой тип сравнения, чтобы проверять только конкретные свойства сравниваемых таблиц.
Параметр Игнорировать (Ignore Options) позволяет пропускать определенные свойства при сравнении. К ним относятся свойства расширения (extension properties), подтипы (subtypes) и классы отношений (relationship classes).
При пропуске, поля, которые не включены в сравнение подсчета полей, а также определения полей и табличные значения для этих полей игнорируются.
Атрибутивные допуски могут быть определены только для числовых типов полей.
Выходной файл сравнения (Output Compare File) будет содержать все сходства и различия между Исходной таблицей (Input Base Table) и Тестовой таблицей (nput Test Table). Этот файл – текстовый файл с запятой в качестве разделителя, который можно просмотреть и использовать как таблицу в ArcGIS. Например, эта таблица может требоваться для получения значений ObjectID для всех строк, которые различаются.
При использовании этого инструмента в Python вы можете получить статус инструмента, используя синтаксис result.getOutput(1). Значение будет равно 'true', если не было найдено различий, и 'false' – если различия были обнаружены.
Дополнительные сведения об использовании инструментов в Python
Синтаксис
TableCompare_management (in_base_table, in_test_table, sort_field, {compare_type}, {ignore_options}, {attribute_tolerances}, {omit_field}, {continue_compare}, {out_compare_file})
Параметр | Объяснение | Тип данных |
in_base_table | С Исходной таблицей (Input Base Table) сопоставляется Тестовая таблица (Input Test Table). Исходная таблица (Input Base Table) соответствует данным, которые считаются корректными. Исходная таблица – это таблица, имеющая корректный набор атрибутивных полей и их значений. | Table View; Raster Layer |
in_test_table | Тестовая таблица (Input Test Table) сопоставляется с Исходной таблицей (Input Base Table). Тестовая таблица (Input Test Table) соответствует данным, в которые внесены изменения при редактировании или компиляции новых полей, новых записей или новых значений атрибутов. | Table View ; Raster Layer |
sort_field [sort_field,...] | Одно или несколько полей, используемые для сортировки записей в Исходной таблице (Input Base Table) и Тестовой таблице. Записи сортируются по возрастанию. Сортировка по общему для обеих таблиц (Исходной таблицы (Input Base Table) и Тестовой таблицы (Input Test Table)) полю гарантирует, что сравнивается одна и та же строка из каждой входной базы данных. | Value Table |
compare_type (дополнительно) | Тип сравнения. ALL используется по умолчанию. По умолчанию будут сравниваться все свойства таблиц.
| String |
ignore_options (дополнительно) | Отмеченные свойства будут проигнорированы при сравнении.
| String |
attribute_tolerances [[Field, {Tolerance}],...] (дополнительно) | Диапазон, в котором значения будут считаться идентичными. Используется только для числовых полей. | Value Table |
omit_field [omit_field,...] (дополнительно) | Одно или несколько полей, которые будут пропущены в процессе сравнения. Свойства и значения данных полей будут проигнорированы. | String |
continue_compare (дополнительно) | Определяет необходимость продолжения сравнения после обнаружения первого несовпадения.
| Boolean |
out_compare_file (дополнительно) | Данный файл будет хранить информацию обо всех совпадениях и отличиях Исходной таблицы (Input Base Table) и Тестовой таблицы (Input Test Table). Этот файл – текстовый файл с запятой в качестве разделителя, который можно просмотреть и использовать как таблицу в ArcGIS. | File |
Пример кода
TableCompare, пример (окно Python)
Пример скрипта окна Python для использования функции TableCompare в режиме прямого запуска.
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' )
TableCompare, пример 2 (автономный скрипт)
Пример использования функции TableCompare в автономном скрипте.
# 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)