ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Сравнить пространственные объекты

  • Сводка
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензиях

Сводка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Синтаксис

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

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

Feature Layer
in_test_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_option,...]
(Дополнительный)

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

  • 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 – это минимальное расстояние между координатами Z, до того, как они будут считаться равными.

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

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

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

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

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

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

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

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

File

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

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

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

Булево

Пример кода

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

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

import arcpy
arcpy.FeatureCompare_management(
    r'C:/Workspace/baseroads.shp', r'C:/Workspace/newroads.shp', 'ROAD_ID', 
    'ALL', 'IGNORE_M;IGNORE_Z', '0.001 METERS', 0, 0, 'Shape_Length 0.001', '#', 
    'CONTINUE_COMPARE', r'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.FeatureCompare_management(
    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: Да

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

  • Обзор группы инструментов Сравнение данных (Data Comparison)

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация