相似搜索 (Spatial Statistics)

许可等级:BasicStandardAdvanced

摘要

根据要素属性确定哪些候选要素与单个或多个输入要素最相似或者最不相似。

了解有关相似性搜索工作原理的详细信息

插图

Similarity Search

用法

语法

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

该图层(或者图层上的选择)包含候选匹配要素。该工具会在这些候选要素中查找与要匹配的输入要素最相似(或者最不相似)的要素。

提示:如果要匹配的输入要素候选要素源于同一个数据集,则

  • 右键单击图层并选择选择,然后再选择根据所选要素创建图层。使用为该参数创建的新图层。
  • 接下来,再次右键单击图层,并选择选择,然后选择切换选择以获取将要用于该参数的图层。

Feature Layer
Output_Features

输出要素类包含每个要匹配的输入要素的记录,以及查找到的所有与解决方案相匹配的要素的记录。

Feature Class
Collapse_Output_To_Points

指定是要将 Output_Features 的几何设置为点,还是使其与输入要素的几何(线或面)相匹配。只有在 Input_Features_To_MatchCandidate_Features 均为线或面时,此选项才可用。针对大型线或面数据集选择 COLLAPSE 将会提高工具性能。

  • NO_COLLAPSE输出几何将与输入要素的线或面几何相匹配。这是默认设置。
  • COLLAPSE线和面要素将表示为要素质心(点)。
Boolean
Most_Or_Least_Similar

选择是否对与要匹配的输入要素最相似或最不相似的要素感兴趣。

  • MOST_SIMILAR查找最相似的要素。
  • LEAST_SIMILAR查找最不相似的要素。
  • BOTH查找最相似的要素和最不相似的要素。
String
Match_Method

选择是否应根据值、等级或余弦关系进行匹配。

  • ATTRIBUTE_VALUES相似性或相异性会以所有感兴趣属性的标准化属性值平方差的总和为基础。
  • RANKED_ATTRIBUTE_VALUES相似性或相异性会以所有感兴趣属性的等级平方差的总和为基础。
  • ATTRIBUTE_PROFILES会以余弦相似性函数的方式来计算所有感兴趣属性的相似性和相异性。
String
Number_Of_Results

要查找的匹配解决方案的数量。

提示:要划分所有候选要素的相似性等级,您只需输入一个较大的数字(等于或大于实际候选要素数)。

Long
Attributes_Of_Interest
[field,...]

表示匹配条件的数值属性列表。

Field
Fields_To_Append_To_Output
[field,...]
(可选)

将包含输出要素的可选属性列表。例如,您可能想要包含名称标识符、分类字段或者日期字段。这些字段不用于确定相似性;它们包含在输出要素中仅供参考之用。

Field

代码实例

相似性搜索示例 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")
相似性搜索示例 2(独立 Python 脚本)

以下独立 Python 脚本演示了如何使用相似性搜索 (SimilaritySearch) 工具。

# Similarity Search of crime data in a metropolitan area

# Import system modules
import arcpy, os
import arcpy.stats as SS

# Set geoprocessor object property to overwrite existing output
arcpy.gp.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()

环境

相关主题

许可信息

ArcGIS for Desktop Basic: 是
ArcGIS for Desktop Standard: 是
ArcGIS for Desktop Advanced: 是
5/10/2014