Поиск сходства (Пространственная статистика)

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

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

Более подробно о том, как работает инструмент Поиск сходства

Иллюстрация

Поиск сходства

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

  • Вам следует указать слой, содержащий значения Входных объектов для сопоставления и второй слой, который содержит значения Объектов кандидатов, из которого сопоставления будут получены. Часто эти значения находятся в том же векторном слое. Один из вариантов подразумевает создание двух отдельных наборов данных. Другой вариант - создать слои с двумя разными определяющими запросами, иногда это проще. Например, если у вас есть файл со сведениями о преступлениях, которые были совершены в прошлом месяце, и вы хотите найти все преступления, которые больше всего похожи на последние угоны автомобилей, вы можете сделать следующее:

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

  • Если есть несколько значений Входных объектов для сопоставления, то сопоставление будет основано на средних значениях Атрибутов интереса. Поэтому, например, если у вас есть два значения Входных объектов для сопоставления и одно из значений Атрибутов интереса является численностью населения, инструмент будет искать значения Объектов-кандидатов с населением, наиболее соответствующим среднему значению. Если значения населения равны 100 и 102, например, инструмент ищет кандидаты со значением около 101.

    Примечание:

    Если есть несколько значений Входных объектов для сопоставления, выберите аналогичные значения в параметре Атрибуты интереса. Если, например, первый объект имеет значение населения 100, а другой – 100 000 жителей, инструмент возьмет среднее от этих значений и будет искать кандидатов с населением около 50050. Это среднее значение не похоже ни на одно из значений Входных объектов для сопоставления.

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

  • С помощью параметра Наиболее или наименее схожие вы можете найти результаты, используя опции Наиболее схожие или Наименее схожие, чтобы сопоставить значения Входных объектов для сопоставления. Иногда полезно увидеть оба варианта. Если значение параметра Число результатов равно 3 и значение параметра Наибольшее или наименьшее сходство установлено Оба, например, инструмент вернет три наиболее сходных и три наименее сходных объекта-кандидата.

  • Любое данное решение соответствия в параметре Выходные объекты будет либо решением наибольшего сходства, либо, по крайней мере, похожим на целевой параметр Входные объекты для сопоставления; одно решение не может быть тем и другим (и результаты решения не будут дублироваться в параметре Выходные объекты). Соответственно, когда вы выбираете Оба для параметра Наибольшее или наименьшее сходство, максимально возможное число сопоставленных результатов (Число результатов) будет равно половине Объекты кандидаты. Если введенное значение для Числа результатов будет слишком большим, инструмент постарается сделать его максимально возможным.

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

  • Опции параметра Метод сопоставления - это Значения атрибута, Ранжированные значения атрибутов и Профили атрибутов.

    • Значения атрибутов – у наиболее похожих кандидатов будут наименьшие суммы среднеквадратических отклонений для всех значений Атрибутов интереса; перед вычислением разностей все значения будут стандартизированы.
    • Ранжированные значения атрибутов – наиболее похожие кандидаты будут иметь наименьшую сумму квадратов различий для всех значений Атрибутов интереса. Параметр Выходные объекты включает эти суммы в поле SIMINDEX (Sum of Squared Rank Differences).
    • Профили атрибутов - вычисляется косинусный коэффициент подобия. Косинусный коэффициент подобия определяет те же связи среди стандартизованных значений атрибутов, а не пытается сопоставить значения. Например, есть четыре значения Атрибутов интереса с именами A1, A2, A3 и A4. A2 в два раза больше A1, A3 примерно равно A2, а A4 в три раза больше A3. Для Профилей атрибутов инструмент проверит кандидатов с похожими отношениями атрибутов: в два раза больше, примерно равно, а затем в три раза больше. Поскольку этот метод проверяет отношения атрибутов, вам нужно указать как минимум два значения Атрибутов интереса. Вы можете использовать метод косинусного подобия (Профили атрибутов) для поиска мест, похожих на Лос-Анджелес, но меньшего масштаба. Косинусный коэффициент подобия может иметь значения от 1.0 (полное сходство) до -1.0 (полное различие). Значение косинусного коэффициента подобия записывается в параметр Выходные объекты в поле SIMINDEX.

  • Значения Атрибутов интереса должны быть числовыми и должны существовать (то же имя и тот же тип поля) в обоих наборах данных: Входные объекты для сопоставления и Объекты-кандидаты. При выборе параметра Атрибуты интереса инструмент перечислит все числовые поля, найденные в наборе данных Входные объекты для сопоставления. Если инструмент не находит соответствующие поля для Объектов-кандидатов, то появится предупреждение о том, что утраченные атрибуты будут исключены из анализа. Если исключены все значения Атрибутов интереса, то сопоставление не может быть выполнено, появится ошибка, говорящая о том, что инструмент не может выполнить требуемый анализ.

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

  • Все значения Входных объектов для сопоставления и найденные решения будут записаны в параметр Выходные объекты наряду с параметрами Атрибуты интереса и Поля, которые будут добавлены к результату. Кроме того, в Выходные объекты будут добавлены следующие поля:

    Имя поляПсевдоним поляОписаниеПримечания

    MATCH_ID

    MATCH_ID

    Все целевые объекты в слое Входные объекты для сопоставления будут перечислены первыми со своими идентификаторами OID или FID, которые записаны в поле MATCH_ID. Для найденных сопоставлений в этом поле указывается значение NULL.

    Если значение Выходных объектов представление собой шейп-файл, то значения NULL будут представлены очеь большими отрицательными числами (типа -21474836).

    CAND_ID

    CAND_ID

    Все решения для сопоставления записываются рядом, а это значение становится их OID или FID идентификатором. Целевой объект в слое Входные объекты для сопоставления в этом поле имеет значение NULL.

    Если значение Выходных объектов представление собой шейп-файл, то значения NULL будут представлены очеь большими отрицательными числами (типа -21474836).

    SIMRANK

    Ранг сходства

    Когда вы выбираете значение Наиболее схожие или Оба для параметра Метод сопоставления, все найденные решения получают ранг от наиболее до наименее сходных. Наиболее сходное решение получает значение ранга 1.

    Это поле включается в Выходные объекты, когда вы выбираете Наиболее схожие или Оба для параметра Метод сопоставления.

    DSIMRANK

    Ранг различия

    Когда вы выбираете значение Наименьшее сходство или Оба для параметра Метод сопоставления, все найденные решения получают ранг от наименее сходных до наиболее сходных. Наименее сходное решение получает значение ранга 1.

    Это поле включается в Выходные объекты, когда вы выбираете Наименее схожие или Оба для параметра Метод сопоставления.

    SIMINDEX

    Сумма квадратов значений различия, Сумма квадратов различий ранга или Сходство по косинусу

    В этом поле определяется количественное значение сходства с целевым объектом.

    • Когда вы задаете Атрибутивные значения для параметра Метод сопоставление, то у поля будет псевдонимSum of Squared Value Differences.
    • Когда вы задаете Ранжированные атрибутивные значения для параметра Метод сопоставления, то у поля будет псевдоним Sum of Squared Rank Differences.
    • Когда вы задаете Профили атрибутов для параметра Метод сопоставления, то у поля будет псевдоним Cosine Similarity.
    Более подробно о том, как вычисляются эти индексы, см. Как работает Поиск сходства.

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

    LABELRANK

    Ранг отображения

    Это поле используется только для целей отображения. Инструмент использует это поле для задания метода отображения результатов анализа по умолчанию.

  • Слой Выходные объекты будет автоматически добавлен в таблицу содержания с механизмом отрисовки по умолчанию, который применен к полю LABELRANK. Применяемое отображение определяется файлом слоя в <ArcGIS Pro>\Resources\ArcToolBox\Templates\Layers. Вы можете заново применить механизм отрисовки по умолчанию, если необходимо, с помощью инструмента Применить символы из слоя.

    Примечание:

    По умолчанию размер выборки равен 10 000 записям. Если значение Число результатов больше значения по умолчанию, вам нужно увеличить размер выборки, чтобы отрисовать все результаты. Чтобы увеличить размер выборки, откройте панель Символы и щелкните вкладку Дополнительные опции символов Дополнительные опции символов. Разверните Размер выборки и измените значение параметра Максимальный размер выборки.

Параметры

ПодписьОписаниеТип данных
Входные объекты для сопоставления

Слой или выборка из слоя, который содержит объекты для сопоставления; вы ищите другие объекты, которые похожи на них. Если указано более одного объекта, сопоставление основывается на средних значениях атрибутов.

Подсказка:

Когда значения Входных объектов для сопоставления и Объектов кандидатов поступают из одного слоя набора данных, вы можете сделать следующее:

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

Feature Layer
Объекты-кандидаты

Слой или выборка в слое, которая содержит объекты-кандидаты для сопоставления. Инструмент ищет среди этих кандидатов объекты с наибольшим сходством (или наибольшим различием) с Входными объектами для сопоставления.

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

Feature Layer
Выходные объекты

Выходной класс объектов, содержащий записи для каждого из значений Входных объектов для сопоставления и для всех найденных сопоставленных объектов.

Feature Class
Сократить выходные данные до точек

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

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

Boolean
Наибольшее или наименьшее сходство

Определяет, будут ли идентифицированы объекты, которые наиболее или наименее сходны со значениями Входные объекты для сопоставления.

  • Наибольшее сходствоБудут выявлены наиболее сходные объекты. Это значение по умолчанию.
  • Наименьшее сходствоБудут выявлены наименее сходные объекты.
  • ОбеБудут выявлены и наиболее сходные, и наименее сходные объекты.
String
Метод сопоставления

Будет ли сопоставление основываться на значениях, степенях или на отношениях между косинусами.

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

Число сопоставлений для поиска. Ввод нулевого значения, либо числа большего, чем общее число объектов кандидатов, приведет к ранжированию всех объектов-кандидатов. Значение по умолчанию равно 10.

Long
Атрибуты интереса

Числовые атрибуты, представляющие критерий сопоставления.

Field
Поля для присоединения к выходным данным
(Дополнительный)

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

Field

arcpy.stats.SimilaritySearch(Input_Features_To_Match, Candidate_Features, Output_Features, Collapse_Output_To_Points, Most_Or_Least_Similar, Match_Method, Number_Of_Results, Attributes_Of_Interest, {Fields_To_Append_To_Output})
ИмяОписаниеТип данных
Input_Features_To_Match

Слой или выборка из слоя, который содержит объекты для сопоставления; вы ищите другие объекты, которые похожи на них. Если указано более одного объекта, сопоставление основывается на средних значениях атрибутов.

Подсказка:

Когда значения Входных объектов для сопоставления и Объектов кандидатов поступают из одного слоя набора данных, вы можете сделать следующее:

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

Feature Layer
Candidate_Features

Слой или выборка в слое, которая содержит объекты-кандидаты для сопоставления. Инструмент ищет среди этих кандидатов объекты с наибольшим сходством (или наибольшим различием) с Input_Features_To_Match.

Feature Layer
Output_Features

Выходной класс объектов, содержащий записи для каждого из значений Input_Features_To_Match и для всех найденных сопоставленных объектов.

Feature Class
Collapse_Output_To_Points

Определяет, будет ли геометрия параметра Output_Features сжата до точек, либо будет совпадать с исходной геометрией (линии или полигоны) входных объектов, если значения параметров Input_Features_To_Match и Candidate_Features оба являются линиями или полигонами. Этот параметр доступен только с лицензией уровня Desktop Advanced. При выборе COLLAPSE повысится производительность работы инструмента для больших линейных и полигональных наборов данных.

  • COLLAPSEЛинейные и полигональные объекты будут представлены как центроиды объектов (точки).
  • NO_COLLAPSEВыходная геометрия соответствует линейной или полигональной геометрии входных объектов. Это значение по умолчанию.
Boolean
Most_Or_Least_Similar

Определяет, будут ли идентифицированы объекты, которые наиболее или наименее сходны со значениями Input_Features_To_Match.

  • MOST_SIMILARБудут выявлены наиболее сходные объекты. Это значение по умолчанию.
  • LEAST_SIMILARБудут выявлены наименее сходные объекты.
  • BOTHБудут выявлены и наиболее сходные, и наименее сходные объекты.
String
Match_Method

Будет ли сопоставление основываться на значениях, степенях или на отношениях между косинусами.

  • ATTRIBUTE_VALUESСопоставление будет основано на сумме квадратов стандартизированных различий значений атрибутов для всех значений Атрибутов интереса. Это значение по умолчанию.
  • RANKED_ATTRIBUTE_VALUESСопоставление будет основано на сумме квадратов разностей рангов атрибутов для всех значений Атрибутов интереса.
  • ATTRIBUTE_PROFILESСопоставление будет основано как функция подобия косинусов для всех значений Атрибутов интереса.
String
Number_Of_Results

Число сопоставлений для поиска. Ввод нулевого значения, либо числа большего, чем общее количество значений Candidate_Features, приведет к ранжированию всех объектов-кандидатов. Значение по умолчанию равно 10.

Long
Attributes_Of_Interest
[Attributes_Of_Interest,...]

Числовые атрибуты, представляющие критерий сопоставления.

Field
Fields_To_Append_To_Output
[Fields_To_Append_To_Output,...]
(Дополнительный)

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

Field

Пример кода

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

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

import arcpy
import arcpy.stats as SS
arcpy.env.workspace = r"C:\Analysis"
SS.SimilaritySearch("Crime_selection", "AllCrime", "c:\\Analysis\\CrimeMatches", 
                    "NO_COLLAPSE", "MOST_SIMILAR", "ATTRIBUTE_VALUES", 4, 
                    "HEIGHT;WEIGHT;SEVERITY;DST2CHPSHP", "Name;WEAPON")
SimilaritySearch пример 2 (автономный скрипт)

Следующий автономный Python скрипт демонстрирует, как использовать инструмент SimilaritySearch.

# Similarity Search of crime data in a metropolitan area
# Import system modules
import arcpy
import os
import arcpy.stats as SS
# Set property to overwrite existing output
arcpy.env.overwriteOutput = True
try:
    # Set the current workspace (to avoid having to specify the full path to
    # the feature classes each time)
    arcpy.env.workspace = r"C:\Analysis"
    # Make a layer from the crime feature class
    arcpy.MakeFeatureLayer_management("AllCrime", "Crime_selection") 
    # Select the target crime to match
    # Process: Select By Attribute
    arcpy.SelectLayerByAttribute_management("Crime_selection", "NEW_SELECTION",
                                            '"OBJECTID" = 1230043')
    # Use Similarity Search to find  to create groups based on different 
    # variables or analysis fields
    # Process: Group Similar Features  
    SS.SimilaritySearch("Crime_selection", "AllCrime", "CJMatches", 
                        "NO_COLLAPSE", "MOST_SIMILAR", "ATTRIBUTE_VALUES", 4,
                        "HEIGHT;WEIGHT;SEVERITY;DST2CHPSHP", "Name;WEAPON")
    
except:
    # If an error occurred when running the tool, print out the error message.
    print(arcpy.GetMessages())

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

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

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