Сравнить пространственные объекты (Управление данными)

Краткая информация

Сравнивает два класса пространственных объектов или слоя.

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

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

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

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

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

  • По умолчанию, параметр Тип сравнения установлен на Все. Это означает, что будут сравниваться все свойства проверяемых пространственных объектов, включая пространственную привязку, свойства поля, атрибуты и геометрию. Задайте другой тип сравнения, чтобы сравнить определенные свойства пространственных объектов.

  • Параметр Игнорировать опции позволяет исключить такие свойства, как атрибуты измерения, z атрибуты, атрибуты идентификаторов точек и дополнительные свойства. Два класса пространственных объектов могут быть идентичными, но один имеет измерения и координаты по z, а другой – нет. Опция Не сравнивать свойства расширения обращается к дополнительной информации, добавленной к классу пространственных объектов или таблице. Например, пространственные объекты двух классов объектов аннотаций могут быть идентичными, но классы пространственных объектов могут иметь различные дополнительные свойства, например, разные символы в наборе символов и разное поведение при редактировании.

  • Значение параметра Допуск XY по умолчанию определяется значением допуска по xy по умолчанию для значения параметра Входные базовые объекты. Для минимизации ошибок, используемое вами значение допуска сравнения должно быть настолько мало, насколько это возможно. Если указано значение 0, будет выполнено точное сопоставление.

  • Значения параметров Допуск M по умолчанию и Допуск Z по умолчанию определяется значением допуска по m и z по умолчанию для значения параметра Входные базовые объекты. При этом используются те же единицы измерения, что и у значения параметра Входные базовые объекты. Если указано значение 0, будет выполнено точное сопоставление.

  • При использовании опции Только геометрия для параметра Тип сравнения пространственные привязки должны совпадать. Если пространственные привязки для входных данных не совпадают, то будет сообщена разница между входными данными. Если системы координат для входных данных не совпадают, объекты будут считаться разными. Этот инструмент не проецирует объекты на лету.

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

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

  • Значение параметра Выходной файл сравнения будет содержать все сходства и различия между входными наборами данных. Это текстовый файл с запятой в качестве разделителя, который можно просмотреть и использовать как таблицу в ArcGIS. Например, он может потребоваться для получения значений идентификаторов объектов для всех строк, которые различаются. Поле has_error показывает, что запись содержит ошибку. Значение True показывает, что различие есть.

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

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

Параметры

ПодписьОписаниеТип данных
Исходные объекты

Данные, которые будут сравниваться со значением параметра Тестовые объекты. Значение этого параметра представляет собой данные, которые считаются корректными. Эти базовые данные имеют правильное содержание и информацию.

Feature Layer
Тестовые объекты

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

Feature Layer
Поля сортировки

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

Value Table
Тип сравнения
(Дополнительный)

Указывает тип сравнения, который будет использован.

  • ВсеСравниваются все свойства классов пространственных объектов. Это значение по умолчанию
  • Только геометрияСравнивается только геометрия классов пространственных объектов.
  • Только атрибутыСравниваются только атрибуты и их значения из классов объектов.
  • Только схемаСравнивается только схема классов пространственных объектов.
  • Только пространственная привязкаСравниваются только пространственные привязки двух классов пространственных объектов.
String
Игнорировать опции
(Дополнительный)

Задает свойства, которые не будут сравниваться.

  • Игнорировать M-значенияСвойства измерений сравниваться не будут.
  • Игнорировать Z-значенияСвойства высот сравниваться не будут.
  • Игнорировать PointIDСвойства ID точек сравниваться не будут.
  • Игнорировать свойства расширенияСвойства расширения сравниваться не будут.
  • Не сравнивать подтипыПодтипы сравниваться не будут.
  • Не сравнивать классы отношенийКлассы отношений сравниваться не будут.
  • Игнорировать классы представленийКлассы представлений сравниваться не будут.
  • Игнорировать псевдонимы полейПсевдонимы полей сравниваться не будут.
String
Допуск XY
(Дополнительный)

Расстояние, в пределах которого объекты будут считаться идентичными. Для минимизации ошибок, используемое значение параметра должно быть настолько мало, насколько это возможно. По умолчанию, в качестве этого параметра устанавливается допуск xy входных базовых объектов.

Linear Unit
Допуск M
(Дополнительный)

Минимальное расстояние между измерениями, прежде чем они будут считаться равными.

Double
Допуск Z
(Дополнительный)

Минимальное расстояние между координатами z, до того, как они будут считаться равными.

Double
Допуск атрибутов
(Дополнительный)

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

Value Table
Пропустить поля
(Дополнительный)

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

String
Продолжить сравнение
(Дополнительный)

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

  • Не отмечено — инструмент прекращает работу после обнаружения первого различия. Это значение по умолчанию
  • Отмечено — инструмент продолжает работу после обнаружения первого различия.

Boolean
Выходной файл сравнения
(Дополнительный)

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

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

File

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

ПодписьОписаниеТип данных
Статус сравнения

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

Boolean

arcpy.management.FeatureCompare(in_base_features, in_test_features, sort_field, {compare_type}, {ignore_options}, {xy_tolerance}, {m_tolerance}, {z_tolerance}, {attribute_tolerances}, {omit_field}, {continue_compare}, {out_compare_file})
ИмяОписаниеТип данных
in_base_features

Данные, которые будут сравниваться со значением параметра in_test_features. Значение этого параметра представляет собой данные, которые считаются корректными. Эти базовые данные имеют правильное содержание и информацию.

Feature Layer
in_test_features

Данные, которые будут сравниваться со значением параметра in_base_features. Значение этого параметра представляет собой данные, в которые внесены изменения при редактировании или компиляции новой информации.

Feature Layer
sort_field
[sort_field,...]

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

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

Указывает тип сравнения, который будет использован.

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

Задает свойства, которые не будут сравниваться.

  • IGNORE_MСвойства измерений сравниваться не будут.
  • IGNORE_ZСвойства высот сравниваться не будут.
  • IGNORE_POINTIDСвойства ID точек сравниваться не будут.
  • IGNORE_EXTENSION_PROPERTIESСвойства расширения сравниваться не будут.
  • IGNORE_SUBTYPESПодтипы сравниваться не будут.
  • IGNORE_RELATIONSHIPCLASSESКлассы отношений сравниваться не будут.
  • IGNORE_REPRESENTATIONCLASSESКлассы представлений сравниваться не будут.
  • IGNORE_FIELDALIASПсевдонимы полей сравниваться не будут.
String
xy_tolerance
(Дополнительный)

Расстояние, в пределах которого объекты будут считаться идентичными. Для минимизации ошибок, используемое значение параметра должно быть настолько мало, насколько это возможно. По умолчанию, в качестве этого параметра устанавливается допуск xy входных базовых объектов.

Linear Unit
m_tolerance
(Дополнительный)

Минимальное расстояние между измерениями, прежде чем они будут считаться равными.

Double
z_tolerance
(Дополнительный)

Минимальное расстояние между координатами z, до того, как они будут считаться равными.

Double
attribute_tolerances
[[Field, {Tolerance}],...]
(Дополнительный)

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

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

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

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

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

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

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

File

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

ИмяОписаниеТип данных
compare_status

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

Boolean

Пример кода

FeatureCompare, пример 1 (окно Python)

Пример скрипта окна Python для использования функции FeatureCompare в режиме прямого запуска.

import arcpy
arcpy.management.FeatureCompare(
    'C:/Workspace/baseroads.shp', 'C:/Workspace/newroads.shp', 'ROAD_ID', 
    'ALL', ['IGNORE_M', 'IGNORE_Z'], '0.001 METERS', 0, 0,
    [['Shape_Length', 0.001]], '#', 'CONTINUE_COMPARE',
    'C:/Workspace/roadcompare.txt')
FeatureCompare , пример 2 (автономный скрипт)

Следующий пример демонстрирует, как использовать функцию FeatureCompare в автономном скрипте.

# Name: FeatureCompare.py
# Description: Compare two feature classes and return comparison result.

# Import system modules 
import arcpy

# Set local variables
base_features = "C:/Workspace/baseroads.shp"
test_features = "C:/Workspace/newroads.shp"
sort_field = "ROAD_ID"
compare_type = "ALL"
ignore_option = ["IGNORE_M", "IGNORE_Z"]
xy_tolerance = "0.001 METERS"
m_tolerance = 0
z_tolerance = 0
attribute_tolerance = [["Shape_Length", 0.001]]
omit_field = "#"
continue_compare = "CONTINUE_COMPARE"
compare_file = "C:/Workspace/roadcompare.txt"
 
# Process: FeatureCompare
compare_result = arcpy.management.FeatureCompare(
    base_features, test_features, sort_field, compare_type, ignore_option, 
    xy_tolerance, m_tolerance, z_tolerance, attribute_tolerance, omit_field, 
    continue_compare, compare_file)

print(compare_result[1])
print(arcpy.GetMessages())

Параметры среды

Этот инструмент не использует параметры среды геообработки

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

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

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