Сравнить таблицы (Управление данными)

Сводка

Сравнивает две таблицы или два представления таблицы.

Использование

  • Этот инструмент выдает сообщение с результатами сравнения. По умолчанию этот инструмент завершает работу и выдает результат после обнаружения первого несоответствия при сравнении. Чтобы получить информацию о всех различиях, отметьте параметр Продолжить сравнение.

  • Сравнить таблицы может сообщать о различиях и сходствах в табличных значениях и определениях полей.

  • Могут быть определены несколько полей для сортировки. И Исходная таблица и Тестовая таблица сортируются на основе заданных полей. Сортируется первое поле, затем второе, и т.д. в порядке возрастания. Сортировка по общему полю и в исходной и в тестовой таблице гарантирует, что вы сравниваете ту же строку из каждого набора данных.

  • По умолчанию установлен тип сравнения All (ALL в Python). Это означает, что будут проверены все свойства сравниваемых таблиц, включая такие, как свойства и атрибуты полей. Однако, вы можете выбрать другой тип сравнения, чтобы проверять только конкретные свойства сравниваемых таблиц.

  • Параметр Игнорировать позволяет пропускать определенные свойства при сравнении. К ним относятся свойства расширения, подтипы и классы отношений.

  • При пропуске, поля, которые не включены в сравнение подсчета полей, а также определения полей и табличные значения для этих полей игнорируются.

  • Атрибутивные допуски могут быть определены только для числовых типов полей.

  • Выходной файл сравнения будет содержать все сходства и различия между Исходной таблицей и Тестовой таблицей. Это текстовый файл с запятой в качестве разделителя, который можно просмотреть и использовать как таблицу в ArcGIS. Например, эта таблица может требоваться для получения значений ObjectID для всех строк, которые различаются.

  • При использовании этого инструмента в Python вы можете получить статус инструмента, используя синтаксис result.getOutput(1). Значение будет равно 'true', если не было найдено различий, и 'false' – если различия были обнаружены.

    Дополнительные сведения об использовании инструментов в Python

Синтаксис

TableCompare(in_base_table, in_test_table, sort_field, {compare_type}, {ignore_options}, {attribute_tolerances}, {omit_field}, {continue_compare}, {out_compare_file})
ParameterОбъяснениеТип данных
in_base_table

С Исходной таблицей сопоставляется Тестовая таблица. Исходная таблица соответствует данным, которые считаются корректными. Исходная таблица – это таблица, имеющая корректный набор атрибутивных полей и их значений.

Table View; Raster Layer
in_test_table

Тестовая таблица сопоставляется с Исходной таблицей. Тестовая таблица соответствует данным, в которые внесены изменения при редактировании или компиляции новых полей, новых записей или новых значений атрибутов.

Table View ; Raster Layer
sort_field
[sort_field,...]

Одно или несколько полей, используемые для сортировки записей в Исходной таблице и Тестовой таблице. Записи сортируются по возрастанию. Сортировка по общему для обеих таблиц (Исходной таблицы и Тестовой таблицы) полю гарантирует, что сравнивается одна и та же строка из каждой входной базы данных.

Value Table
compare_type
(Дополнительный)

Тип сравнения. ВСЕ используется по умолчанию. По умолчанию будут сравниваться все свойства таблиц.

  • ALLСравнить все свойства. Используется по умолчанию.
  • ATTRIBUTES_ONLYСравнить только атрибуты и их значения.
  • SCHEMA_ONLYСравнить только схему.
String
ignore_options
[ignore_options,...]
(Дополнительный)

Эти свойства не будут сравниваться.

  • IGNORE_EXTENSION_PROPERTIESНе сравнивать свойства расширения.
  • IGNORE_SUBTYPESНе сравнивать подтипы.
  • IGNORE_RELATIONSHIPCLASSESНе сравнивать классы отношений.
  • IGNORE_FIELDALIASНе используйте псевдонимы полей.
String
attribute_tolerances
[[Field, {Tolerance}],...]
(Дополнительный)

Диапазон, в котором значения будут считаться идентичными. Используется только для числовых полей.

Value Table
omit_field
[omit_field,...]
(Дополнительный)

Одно или несколько полей, которые будут пропущены в процессе сравнения. Свойства и значения данных полей будут проигнорированы.

String
continue_compare
(Дополнительный)

Определяет необходимость продолжения сравнения после обнаружения первого несовпадения.

  • NO_CONTINUE_COMPAREПрекращается при обнаружении первого несоответствия. Используется по умолчанию.
  • CONTINUE_COMPAREПосле обнаружения первого несоответствия продолжается сравнение других свойств.
Boolean
out_compare_file
(Дополнительный)

Данный файл будет хранить информацию обо всех совпадениях и отличиях Исходного файла (in_base_table) и Тестового файла (in_test_table). Это текстовый файл с запятой в качестве разделителя, который можно просмотреть и использовать как таблицу в ArcGIS.

File

Производные выходные данные

NameОбъяснениеТип данных
compare_status

Статус сравнения будет равно 'true', если не было найдено различий, и 'false' – если различия были обнаружены.

Boolean

Пример кода

TableCompare, пример 1 (окно 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)

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы