Краткая информация
Определяет, какой из объектов-кандидатов имеет наибольшее сходство или наибольшее различие с одним или несколькими входными объектами на основе их атрибутов.
Более подробно о том, как работает инструмент Поиск сходства
Иллюстрация
Использование
Следует указать слой, содержащий Входные объекты для сопоставления (Input Features To Match) и второй слой, содержащий Объекты-кандидаты (Candidate Features), по которым будет проводится сопоставление. Часто Входные объекты для сопоставления (Input Features To Match) и Объекты-кандидаты (Candidate Features) находятся на одном слое. Хотя имеется опция для создания двух отдельных наборов данных, так делать не следует. Вместо этого значительно легче создать слои с двумя разными выбранными наборами. Предположим у вас есть файл со всеми преступлениями за прошедший месяц. Если вы хотите найти все преступления, похожие на последние угоны машин, то
- Используя стандартные инструменты выборки ArcMap или инструменты геообработки, выберите запись последнего угона на слое всех преступлений.
- Щелкните слой с выборкой правой кнопкой мыши, затем щелкните Выборка (Selection) > Создать слой из выбранных объектов (Create Layer From Selected Features). Используйте этот новый слой для параметра Входные объекты для сопоставления (Input Features To Match).
- Переключите выборку в слое со всеми преступлениями. Используйте этот слой для параметра Объекты-кандидаты (Candidate Features).
Если Входных объектов для сопоставления (Input Features To Match) несколько, сопоставление проводится по средним значениям Атрибутов интереса (Attributes of Interest). Поэтому, например, если у вас есть два Входных объекта для сопоставления (Input Features To Match) и один из Атрибутов интереса (Attributes of Interest) является численностью населения, инструмент будет искать Объекты-кандидаты (Candidate Features) с населением, наиболее соответствующим среднему значению. Если значения населения равны 100 и 102, например, инструмент будет искать кандидатов со значением около 101.
Выходные объекты (Output Features) всегда будут содержать точки, если только Входные объекты для сопоставления (Input Features To Match) и Объекты-кандидаты (Candidate Features) оба не будут полигональными или полилинейными. Создание полигональных или полилинейных Выходных объектов (Output Features) может снизить производительность при работе с большими наборами данных, поэтому вы можете включить опцию Сократить выходные данные до точек (Collapse Output To Points), чтобы повысить производительность путем создания точек.
С помощью параметра Наибольшее или наименьшее сходство можно искать объекты с MOST_SIMILAR или LEAST_SIMILAR по сравнению с Входными объектами сопоставления. В некоторых случаях вам может понадобиться увидеть оба крайних значения диапазона. Если вы введете 3 для параметра Число результатов и BOTH для параметра Наибольшее или наименьшее сходство, например, инструмент вернет три наиболее сходных и три наименее сходных объекта-кандидата.
Любое данное решение соответствия в Выходных объектах (Output Features) будет либо решением наибольшего сходства, либо, по крайней мере, похожим на целевые Входные объекты для сопоставления (Input Features To Match); одно решение не может быть тем и другим (и результаты решения не будут дублироваться в Выходных объектах (Output Features)). Соответственно, когда вы выбираете Оба для параметра Наибольшее или наименьшее сходство, максимально возможное число сопоставленных результатов (Число результатов) будет равно половине Объектов-кандидатов. Если вы вводите слишком большое значение Числа результатов (Number of Results), инструмент изменит его на максимально возможное.
Иногда для изучения пространственных закономерностей сходности, вам может потребоваться определить сходство для всех Объектов-кандидатов. Простой способ указать, что вы хотите ранжировать все Объекты-кандидаты (Candidate Features), состоит в том, чтобы ввести нулевое значение для параметра Число результатов (Number of Results). Инструмент определит число подходящих объектов в наборе данных кандидатов и запишет их всех в Выходные объекты (Output Features) в порядке убывания сходности.
Для параметра Метод сопоставления можно выбрать ATTRIBUTE_VALUES, RANKED_ATTRIBUTE_VALUES или ATTRIBUTE_VALUES.
- При выборе ATTRIBUTE_VALUES наиболее сходные кандидаты имеют наименьшую сумму квадратов разницы для всех Атрибутов интереса; все значения стандартизуются перед вычислением различий.
- При выборе RANKED_ATTRIBUTE_VALUES наиболее сходные кандидаты имеют наименьшую сумму квадратов рангов для всех Атрибутов интереса. Выходные объекты (Output Features) представляют эти суммы в поле SIMINDEX.
- При выборе ATTRIBUTE_PROFILES вычисляется косинусный коэффициент подобия. Косинусный коэффициент подобия определяет те же связи среди стандартизованных значений атрибутов, а не пытается сопоставить значения. Предположим, имеется четыре Атрибута интереса (Attributes of Interest), A1, A2, A3 и A4, и что A2 вдвое больше A1, A3 почти равен A2, а A4 в три раза больше A3. При выборе ATTRIBUTE_PROFILES для Метода сопоставления инструмент будет искать кандидатов с теми же атрибутивными соотношениями: вдвое больше, почти равно, затем в три раза больше. Поскольку этот метод определяет отношения между атрибутами, для него необходимо указать минимум два Атрибута интереса (Attributes of Interest). Вы можете использовать метод сходства по косинусу (ATTRIBUTE_PROFILES) для поиска мест, таких как Лос-Анджелес, но в меньшем масштабе. Косинусный коэффициент подобия может иметь значения от 1.0 (полное сходство) до -1.0 (полное различие). Значение косинусного коэффициента подобия записывается в Выходные объекты (Output Features) в поле SIMINDEX.
Атрибуты интереса (Attributes of Interest) должны быть числовыми и присутствовать (то же имя и тот же тип поля) в обоих наборах данных Входные объекты для сопоставления (Input Features To Match) и Объекты-кандидаты (Candidate Features). При выборе параметра Атрибуты интереса (Attributes of Interest) инструмент перечислит все числовые поля, найденные в наборе данных Входные объекты для сопоставления (Input Features To Match). Если инструмент не находит соответствующие поля в Объектах-кандидатах (Candidate Features), вы увидите предупреждение, что отсутствующие атрибуты не будут участвовать в анализе. Если все Атрибуты интереса (Attributes of Interest) исключены, инструмент ничего не может использовать для сопоставления, и вы увидите сообщение об ошибке, предупреждающее, что инструмент не может выполнить анализ.
Все атрибуты, использованные для сопоставления, записываются в Выходные объекты (Output Features). Параметр Поля для присоединения к выходным данным (Fields To Append To Output) позволяет включить в выходную таблицу другие поля, если необходимо. Поскольку числовые поля Атрибутов интереса (Attributes of Interest) являются не слишком удобными идентификаторами, может потребоваться присоединить имя или другое идентифицирующее поле для каждого найденного соответствия. Если необходимо выбрать одно из нескольких решений, вы также можете присоединить другие, не числовые атрибуты. Если решением должен быть один из нескольких типов землепользования, например, присоединение категорийного атрибута землепользования поможет выработать решение, соответствующее этому требованию. Иногда бывает необходимо включить дополнительные числовые атрибуты в выходную таблицу, для справки. Предположим, например, вы ищите подходящее местообитание для определенного животного. Вы можете использовать известные местообитания этих видов в качестве Входных объектов для сопоставления (Input Features To Match). Вы можете выбрать Атрибуты интереса (Attributes of Interest), относящиеся к удобному местообитанию вида. Кроме того, вы можете присоединить числовой атрибут площади к Выходным объектам (Output Features), не потому, что вы хотите сопоставить площадь целевой области, а потому, что ищите решения с максимально возможной площадью.
Все Входные объекты для сопоставления (Input Features To Match) и итоги сопоставления записываются в Выходные объекты (Output Features) вместе с Атрибутами интереса (Attributes Of Interest) и Полями для присоединения к выходным данным (Fields To Append To Output). Кроме того, в Выходные объекты (Output Features) будут добавлены следующие поля:
Имя поля Псевдоним поля Описание Примечания MATCH_ID
MATCH_ID
Все целевые объекты слоя Входные объекты для сопоставления (Input Features To Match) сначала перечисляются с идентификаторами OID или FID, записываемыми в поле MATCH_ID. Для найденных сопоставлений в этом поле указывается значение NULL.
Если Выходные объекты (Output Features) являются шейп-файлом, значения NULL представлены большим отрицательным числом (например, -21474836).
CAND_ID
CAND_ID
Все решения для сопоставления записываются рядом, а это значение становится их OID или FID идентификатором. Целевой объект в слое Входные объекты для сопоставления (Input Features To Match) в этом поле имеет значение NULL.
Если Выходные объекты (Output Features) являются шейп-файлом, значения NULL представлены большим отрицательным числом (например, -21474836).
SIMRANK
Ранг сходства
Когда вы выбираете значение MOST_SIMILAR или BOTH для параметра Метод сопоставления, все найденные решения ранжируются от наиболее сходных до наименее сходных. Наиболее сходное решение получает значение ранга 1.
Это поле включается в Выходные объекты (Output Features), когда вы выбираете MOST_SIMILAR или BOTH для параметра Метод сопоставления.
DSIMRANK
Ранг различия
Когда вы выбираете значение LEAST_SIMILAR или BOTH для параметра Метод сопоставления, все найденные решения ранжируются от наименее до наиболее сходных. Наименее сходное решение получает значение ранга 1.
Это поле включается в Выходные объекты, когда вы выбираете LEAST_SIMILAR или BOTH для параметра Метод сопоставления.
SIMINDEX
Сумма квадратов значений различия, Сумма квадратов различий ранга или Сходство по косинусу
В этом поле определяется количественное значение сходства с целевым объектом.
- Когда вы выбираете ATTRIBUTE_VALUES для Метода сопоставления, псевдоним поля имеет вид Sum of Squared Value Differences.
- Когда вы выбираете RANKED_ATTRIBUTE_VALUES для Метода сопоставления, псевдоним поля имеет вид Sum of Squared Rank Differences.
- Когда вы выбираете ATTRIBUTE_PROFILES для Метода сопоставления, псевдоним поля имеет вид Cosine Similarity.
Если имеется только один Входной объект для сопоставления (Input Features To Match), он и является целевым объектом. Если имеется более одного Входного объекта для сопоставления, целевым объектом является временный объект, созданный с усредненными значениями всех Атрибутов интереса.
LABELRANK
Ранг отображения
Это поле используется только для целей отображения. Инструмент использует это поле для задания метода отображения результатов анализа по умолчанию.
Слой Выходных объектов<ArcGIS>/Desktop10.x/ArcToolbox/Templates/Layers автоматически добавляется в таблицу содержания с методом отображения по умолчанию, примененным к полю LABELRANK. Применяемое отображение определяется файлом слоя в <ArcGIS>/Desktop10.x/ArcToolbox/Templates/Layers. Метод отображения по умолчанию, если это необходимо, можно применить заново путем импорта символов слоя шаблона.
Синтаксис
SimilaritySearch_stats (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 оба являются линейными или полигональными. Включение опции 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())
Параметры среды
- Выходная система координат (Output Coordinate System)
- Географические преобразования (Geographic Transformations)
- Текущая рабочая область (Current Workspace)
- Временная рабочая область (Scratch Workspace)
- Стандартизированные имена полей (Qualified Field Names)
- Выходные данные содержат значения M (Output has M values)
- Разрешение M (M Resolution)
- Допуск M (M Tolerance)
- Выходные данные содержат Z значения (Output has Z values)
- Выходное значение Z по умолчанию (Default Output Z Value)
- Разрешение Z (Z Resolution)
- Допуск Z (Z Tolerance)
- Разрешение XY (XY Resolution)
- Допуск XY (XY Tolerance)
Информация о лицензиях
- ArcGIS Desktop Basic: Да
- ArcGIS Desktop Standard: Да
- ArcGIS Desktop Advanced: Да