ArcGIS for Desktop

  • Документация
  • Стоимость
  • Поддержка

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

ArcGIS Online

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

ArcGIS for Desktop

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

ArcGIS for Server

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

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

Справка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Одним из первых сравниваем число объектов. Если число пространственных объектов отличается, а параметру Продолжить сравнение (Continue Compare) присвоено значение TRUE, последующие сообщения о сравнении могут некорректно отображать дополнительные различия между Исходными объектами (Input Base Features) и Тестовыми объектами (Input Test Features). Это происходит потому, что инструменту Сравнить пространственные объекты (Feature Compare) не удается определить, какие объекты добавлены в Тестовые объекты (Input Test Features), а какие объекты удалены из них, поэтому он просто переходит на следующую строку в каждой таблице атрибутов. В той позиции в таблице атрибутов, где объект был добавлен или удален, инструмент переходит на следующую строку и сравнивает базовый объект с некорректным тестовым объектом, потому что корректный объект во Входных базовых данных (Input Test Data) был удален или объект был добавлен до этого.

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

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

Синтаксис

FeatureCompare_management (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

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

Feature Layer
in_test_features

Тестовые объекты (Input Test Features) сопоставляются с исходными объектами (Input Base Features). Тестовые объекты (Input Test Features) соответствуют данным, в которые внесены изменения при редактировании или компиляции новых объектов.

Feature Layer
sort_field
[sort_field,...]

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

Value Table
compare_type
(дополнительно)

Тип сравнения. По умолчанию выбран Все (All), в этом случае сравниваются все свойства сопоставляемых пространственных объектов.

  • 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 —Классы представлений не сравниваются.
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
(дополнительно)

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

File

Пример кода

Пример 1 функции FeatureCompare (окно Python)

Пример скрипта Python для выполнения функции Feature Compare с запуском из окна Python в ArcGIS.

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

try:
    # 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.getOutput(1))
    print(arcpy.GetMessages())
 
except Exception as err:
    print(err.args[0])

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

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

Связанные темы

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

ArcGIS for Desktop

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

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог сотрудников
  • Конференция пользователей
  • Саммит разработчиков
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Конфиденциальность | Правовая информация