Краткая информация
Определяет, какой из объектов-кандидатов имеет наибольшее сходство или наибольшее различие с одним или несколькими входными объектами на основе их атрибутов.
Более подробно о том, как работает инструмент Поиск сходства
Иллюстрация
Использование
Следует указать слой, содержащий Входные объекты для сопоставления и второй слой, содержащий Объекты-кандидаты, по которым будет проводиться сопоставление. Часто Входные объекты для сопоставления и Объекты-кандидаты находятся в одном слое. Хотя имеется опция для создания двух отдельных наборов данных, так делать не следует. Вместо этого значительно легче создать слои с двумя разными выбранными наборами. Предположим у вас есть файл со всеми преступлениями за прошедший месяц. Если вы хотите найти все преступления, похожие на последние угоны машин, то можете выполнить следующие действия:
- Используя стандартные инструменты выборки ArcMap или инструменты геообработки, выберите запись последнего угона на слое всех преступлений.
- Щелкните слой с выборкой правой кнопкой мыши, затем щелкните Выборка > Создать слой из выбранных объектов. Используйте этот новый слой для параметра Входные объекты для сопоставления.
- Переключите выборку в слое со всеми преступлениями. Используйте этот слой для параметра Объекты-кандидаты.
Если Входных объектов для сопоставления несколько, сопоставление проводится по средним значениям Атрибутов интереса. Поэтому, например, если у вас есть два Входных объекта для сопоставления и один из Атрибутов интереса является численностью населения, инструмент будет искать Объекты-кандидаты с населением, наиболее соответствующим среднему значению. Например, если значения населения равны 100 и 102, инструмент будет искать кандидатов со значением около 101.
Выходные объекты всегда будут содержать точки, если только Входные объекты для сопоставления и Объекты-кандидаты оба не будут полигональными или полилинейными. Создание полигональных или полилинейных Выходных объектов может снизить производительность при работе с большими наборами данных, поэтому вы можете включить опцию Сократить выходные данные до точек, чтобы повысить производительность путем создания точек.
С помощью параметра Наибольшее или наименьшее сходство можно искать объекты с MOST_SIMILAR или LEAST_SIMILAR по сравнению с Входными объектами сопоставления. В некоторых случаях вам может понадобиться увидеть оба крайних значения диапазона. Если вы введете 3 для параметра Число результатов и BOTH для параметра Наибольшее или наименьшее сходство, например, инструмент вернет три наиболее сходных и три наименее сходных объекта-кандидата.
Любое данное решение соответствия в Выходных объектах будет либо решением наибольшего сходства, либо, по крайней мере, похожим на целевые Входные объекты для сопоставления; одно решение не может быть тем и другим (и результаты решения не будут дублироваться в Выходных объектах). Соответственно, когда вы выбираете Оба для параметра Наибольшее или наименьшее сходство, максимально возможное число сопоставленных результатов (Число результатов) будет равно половине Объектов-кандидатов. Если вы вводите слишком большое значение Числа результатов, инструмент изменит его на максимально возможное.
Иногда для изучения пространственных закономерностей сходности, вам может потребоваться определить сходство для всех Объектов-кандидатов. Простой способ указать, что вы хотите ранжировать все Объекты-кандидаты, состоит в том, чтобы ввести нулевое значение0 для параметра Число результатов. Инструмент определит число подходящих объектов в наборе данных кандидатов и запишет их в Выходные объекты в порядке убывания сходства.
Для параметра Метод сопоставления можно выбрать ATTRIBUTE_VALUES, RANKED_ATTRIBUTE_VALUES или ATTRIBUTE_VALUES.
- При выборе ATTRIBUTE_VALUES наиболее сходные кандидаты имеют наименьшую сумму квадратов разницы для всех Атрибутов интереса; все значения стандартизуются перед вычислением различий.
- При выборе RANKED_ATTRIBUTE_VALUES наиболее сходные кандидаты имеют наименьшую сумму квадратов рангов для всех Атрибутов интереса. Выходные объекты представляют эти суммы в поле SIMINDEX (Сумма квадратов различий ранга).
- При выборе ATTRIBUTE_PROFILES вычисляется косинусный коэффициент подобия. Косинусный коэффициент подобия определяет те же связи среди стандартизованных значений атрибутов, а не пытается сопоставить значения. Предположим, есть четыре Атрибута интереса, A1, A2, A3 и A4, и что A2 вдвое больше A1, A3 почти равен A2, а A4 в три раза больше A3. При выборе ATTRIBUTE_PROFILES для Метода сопоставления инструмент будет искать кандидатов с теми же атрибутивными соотношениями: вдвое больше, почти равно, затем в три раза больше. Поскольку этот метод определяет отношения между атрибутами, для него необходимо указать минимум два Атрибута интереса. Вы можете использовать метод сходства по косинусу (ATTRIBUTE_PROFILES) для поиска мест, таких как Лос-Анджелес, но в меньшем масштабе. Косинусный коэффициент подобия может иметь значения от 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
Ранг сходства
Когда вы выбираете значение MOST_SIMILAR или BOTH для параметра Метод сопоставления, все найденные решения ранжируются от наиболее сходных до наименее сходных. Наиболее сходное решение получает значение ранга 1.
Это поле включается в Выходные объекты, когда вы выбираете MOST_SIMILAR или BOTH для параметра Метод сопоставления.
DSIMRANK
Ранг различия
Когда вы выбираете значение LEAST_SIMILAR или BOTH для параметра Метод сопоставления, все найденные решения ранжируются от наименее до наиболее сходных. Наименее сходное решение получает значение ранга 1.
Это поле включается в Выходные объекты, когда вы выбираете LEAST_SIMILAR или BOTH для параметра Метод сопоставления.
SIMINDEX
Сумма квадратов значений различия, Сумма квадратов различий ранга или Сходство по косинусу
В этом поле определяется количественное значение сходства с целевым объектом.
- Когда вы указываете ATTRIBUTE_VALUES для Метода сопоставления, псевдоним поля – Сумма квадратов значений различия.
- Когда вы указываете RANKED_ATTRIBUTE_VALUESдля Метода сопоставления, псевдоним поля – Сумма квадратов различий ранга.
- Когда вы указываете ATTRIBUTE_PROFILES для Метода сопоставления, псевдоним поля имеет вид Сходство по косинусу.
Если имеется только один Входной объект для сопоставления, он и является целевым объектом. Если имеется более одного Входного объекта для сопоставления, целевым объектом является временный объект, созданный с усредненными значениями всех Атрибутов интереса.
LABELRANK
Ранг отображения
Это поле используется только для целей отображения. Инструмент использует это поле для задания метода отображения результатов анализа по умолчанию.
Слой Выходных объектов<ArcGIS>/Desktop10.x/ArcToolbox/Templates/Layers автоматически добавляется в таблицу содержания с методом отображения по умолчанию, примененного к полю LABELRANK. Применяемое отображение определяется файлом слоя в <ArcGIS>/Desktop10.x/ArcToolbox/Templates/Layers. Метод отображения по умолчанию, если это необходимо, можно применить заново путем импорта символов слоя шаблона.
Синтаксис
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 | Если и Input_Features_To_Match, и Candidate_Features являются линейными или полигональными объектами, вы можете выбрать, будут ли Output_Features представлены точечным слоем, или наследовать тип геометрии (линия или полигон) входных объектов. Эта опция доступна только на уровне лицензии Desktop Advanced. Включение опции COLLAPSE для больших наборов данных линий или полигонов повышает производительность инструмента.
| Boolean |
Most_Or_Least_Similar | Выберите, нужны ли вам объекты с наибольшим или наименьшим сходством с Input_Features_To_Match.
| String |
Match_Method | Выберите, будет ли сопоставление основываться на значениях, рангах или отношениях между косинусами.
| 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: Да