ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

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

ArcGIS Online

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

ArcGIS Desktop

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

ArcGIS Enterprise

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

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

Найти идентичные

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

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

Выдает отчет о любых записях в классе пространственных объектов или таблице, которые имеют идентичные значения в списке полей, а также создает таблицу, в которой перечислены эти идентичные записи. Если выбрано поле Shape, будет сопоставлена геометрия объектов.

Инструмент Удалить идентичные (Delete Identical) может использоваться для нахождения и удаления идентичных записей.

Иллюстрация

Пример использования инструмента Найти идентичные
В этом примере точки с идентификаторами OBJECTID 1,2, 3, 8, 9 и 10 являются пространственно совпадающими (выделены синим). Выходная таблица определяет эти пространственно совпадающие точки, использующие одно значение CATEGORY.

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

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

  • Если вы хотите сравнить геометрию объектов в классе объектов или слое и найти идентичные по местоположению, выберите поле Shape в параметре Поля (Field(s)). Параметры Допуск XY (XY Tolerance) и Допуск Z (Z Tolerance) допустимы, только если в качестве одного из входных полей выбрано поле Shape.

    Если выбрано поле Shape и входные объекты содержат m-значения и z-значения, эти значения также используются для определения идентичных объектов.

  • Выберите параметр Выводить только дублированные записи (Output only duplicated records), если необходимо отображаться в выходной таблице только дублированные записи. Выходная таблица будет иметь такое же количество записей, что и входной набор данных, если этот параметр не выбран (по умолчанию).

  • Выходная таблица содержит два поля: IN_FID и FEAT_SEQ.

    • Поле IN_FID может использоваться для обратного соединения записей выходной таблицы со входным набором.
    • Идентичные записи содержат одинаковое значение FEAT_SEQ, а неидентичные – последовательные значения. Значения FEAT_SEQ не связаны с идентификаторами входных записей.

Синтаксис

FindIdentical_management (in_dataset, out_dataset, fields, {xy_tolerance}, {z_tolerance}, {output_record_option})
ПараметрОбъяснениеТип данных
in_dataset

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

Table View
out_dataset

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

Table
fields
[fields,...]

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

Field
xy_tolerance
(Дополнительный)

Значение допуска xy, в пределах которого вокруг каждой вершины объекта будет проводиться поиск идентичных вершин соседних объектов. Этот параметр используется, только если в качестве одного из полей выбрано поле Shape.

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

Значение допуска Z, в пределах которого вокруг каждой вершины объекта будет проводиться поиск идентичных вершин соседних объектов. Этот параметр используется, только если в качестве одного из полей выбрано поле Shape.

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

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

  • ALL —Для всех входных записей есть соответствующие им записи в выходной таблице. Это значение используется по умолчанию.
  • ONLY_DUPLICATES —Соответствующие записи в выходной таблице есть только для дублированных записей. Если дубликаты не найдены, выходные записи будут пусты.
Boolean

Пример кода

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

На следующем скрипте окна Python продемонстрировано, как используется функция FindIdentical с запуском из окна Python в ArcGIS.

import arcpy

# Find identical records based on a text field and a numeric field.
arcpy.FindIdentical_management("C:/data/fireincidents.shp", "C:/output/duplicate_incidents.dbf", ["ZONE", "INTENSITY"])
FindIdentical, пример 2 (автономный скрипт)

На следующем автономном скрипте продемонстрировано, как используется инструмент FindIdentical для определения дублированных записей таблицы или класса пространственных объектов.

# Name: FindIdentical_Example2.py
# Description: Finds duplicate features in a dataset based on location (Shape field) and fire intensity

import arcpy

arcpy.env.overwriteOutput = True

# Set workspace environment
arcpy.env.workspace = "C:/data/findidentical.gdb"

# Set input feature class
in_dataset = "fireincidents"

# Set the fields upon which the matches are found
fields = ["Shape", "INTENSITY"]

# Set xy tolerance
xy_tol = ".02 Meters"

out_table = "duplicate_incidents"

# Execute Find Identical 
arcpy.FindIdentical_management(in_dataset, out_table, fields, xy_tol)
print(arcpy.GetMessages())
FindIdentical, пример 3: вывод только дублированных записей (автономный скрипт)

Демонстрирует использование необязательного параметра "Выводить только дублированные записи" (Output only duplicated records). При выборе или установке значения ONLY_DUPLICATES в диалоговом окне инструмента все уникальные записи будут удалены. Сохранятся только дублированные записи из выходных данных/

# Name: FindIdentical_Example3.py
# Description: Demonstrates the use of the optional parameter Output only duplicated records.

import arcpy

arcpy.env.overwriteOutput = True

# Set workspace environment
arcpy.env.workspace = "C:/data/redlands.gdb"

in_data = "crime"
out_data = "crime_dups"

# Note that XY Tolerance and Z Tolerance parameters are not used
# In that case, any optional parameter after them must assign
# the value with the name of that parameter    
arcpy.FindIdentical_management(in_data, out_data, ["Shape"], output_record_option="ONLY_DUPLICATES")

print(arcpy.GetMessages())
FindIdentical, пример 4: группировка идентичных записей по значению FEAT_SEQ

Выполняет чтение выходных данных, сформированных инструментом FindIdentical и группировку идентичных записей по значению FEAT_SEQ.

import arcpy

from itertools import groupby
from operator import itemgetter

# Set workspace environment
arcpy.env.workspace = r"C:\data\redlands.gdb"

# Run Find Identical on feature geometry only.
result = arcpy.FindIdentical_management("parcels", "parcels_dups", ["Shape"])
    
# List of all output records as IN_FID and FEAT_SEQ pair - a list of lists
out_records = []   
for row in arcpy.SearchCursor(result.getOutput(0), fields="IN_FID; FEAT_SEQ"):
    out_records.append([row.IN_FID, row.FEAT_SEQ])

# Sort the output records by FEAT_SEQ values
# Example of out_records = [[3, 1], [5, 3], [1, 1], [4, 3], [2, 2]]
out_records.sort(key = itemgetter(1))
    
# records after sorted by FEAT_SEQ: [[3, 1], [1, 1], [2, 2], [5, 3], [4, 3]]
# records with same FEAT_SEQ value will be in the same group (i.e., identical)
identicals_iter = groupby(out_records, itemgetter(1))
    
# now, make a list of identical groups - each group in a list.
# example identical groups: [[3, 1], [2], [5, 4]]
# i.e., IN_FID 3, 1 are identical, and 5, 4 are identical.
identical_groups = [[item[0] for item in data] for (key, data) in identicals_iter]

print(identical_groups)

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

  • Текущая рабочая область
  • Временная рабочая область
  • Экстент
  • Допуск XY
  • Допуск Z

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

  • ArcGIS Desktop Basic: Нет
  • ArcGIS Desktop Standard: Нет
  • ArcGIS Desktop Advanced: Да

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

  • Обзор группы инструментов Общие

ArcGIS Desktop

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

ArcGIS Platform

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

Об Esri

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