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

Сводка

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

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

Иллюстрация

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

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

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

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

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

    Примечание:

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

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

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

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

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

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

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

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

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

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

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

    MATCH_ID

    MATCH_ID

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

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

    CAND_ID

    CAND_ID

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

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

    SIMRANK

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

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

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

    DSIMRANK

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

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

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

    SIMINDEX

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

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

    • Когда вы выбираете Значения атрибутов для Метода сопоставления, псевдоним поля – Сумма квадратов значений различия.
    • Когда вы выбираете Ранжированные значения атрибутов для Метода сопоставления, псевдоним поля – Сумма квадратов различий ранга.
    • Когда вы выбираете Профили атрибутов для Метода сопоставления, псевдоним поля – Сходство по косинусу.
    Подробнее о вычислении этих индексов см. в разделе Как работает Поиск сходства.

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

    LABELRANK

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

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

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

    Примечание:

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

Синтаксис

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})
ParameterОбъяснениеТип данных
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

Если и Input_Features_To_Match, и Candidate_Features являются линейными или полигональными объектами, вы можете выбрать, будут ли Output_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, можно ввести либо нулевое значение, либо число большее, чем общее число объектов-кандидатов.

Long
Attributes_Of_Interest
[field,...]

Список числовых атрибутов, отображающий критерии соответствия.

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

Дополнительный список атрибутов для включения вместе с 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)

Следующий автономный 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: Да

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