ArcGIS Desktop

  • 文档
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

相似搜索

  • 摘要
  • 插图
  • 用法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

摘要

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

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

插图

相似性搜索

用法

  • 您需要提供一个包含要匹配的输入要素的图层和另一个包含候选要素的图层,从中将获得匹配。通常,要匹配的输入要素和候选要素会在同一个要素图层中。虽然可选择创建两个单独的数据集,但您不必执行此操作。使用两个不同的选择集来创建图层要更加容易。假设您具有包含上个月发生的全部犯罪事件的文件。如果您要找出与最近劫车事件最相似的所有犯罪事件,可进行以下操作:

    • 使用标准 ArcMap 选择工具或地理处理工具在包含所有犯罪事件的图层中选择最近劫车事件的记录。
    • 右键单击含有选择内容的图层,然后单击选择 > 根据所选要素创建图层。将该新图层用于要匹配的输入要素参数。
    • 在包含所有犯罪事件的图层中切换选择内容。将该图层用于候选要素参数。
      警告:

      当所有输入都来自同一个数据集时,会经常忘记切换选择内容,因此要匹配的输入要素与候选要素的要素完全相同。这显然不是您想要的结果。最典型的情况是存在一个要匹配的输入要素和多个候选要素。

  • 如果存在多个要匹配的输入要素,可根据感兴趣属性的平均值进行匹配。例如,如果存在两个要匹配的输入要素,并且其中一个感兴趣属性为人口变量,那么工具会查找人口数与平均人口值最接近的候选要素。例如,如果人口值为 100 和 102,那么工具会查找人口数接近 101 的候选要素。

    注:

    如果具有多个要匹配的输入要素,则可以选择具有相似值的感兴趣属性。例如,如果其中一个输入的人口值为 100,另一个为 100,000,则工具将查找人口数接近两者平均值 50,050 的匹配。注意,该平均值与两个要匹配的输入要素的人口值均不相同。

  • 输出要素将始终包含点,除非要匹配的输入要素和候选要素均为面或者折线。创建面或者折线输出要素会降低大型数据集的性能,因此您可以选中折叠输出转点以强制提高点几何的性能。

  • 使用最相似或最不相似参数,可以搜索要匹配的输入要素的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 。

    如果输出要素为 shapefile,则 NULL 值将由很大的负数(例如 -21474836)来表示。

    CAND_ID

    CAND_ID

    接下来将列出所有的匹配解决方案,该值表示这些解决方案的 OID 或 FID 标识符。要匹配的输入要素图层中的目标要素在该字段的值为 NULL。

    如果输出要素为 shapefile,则 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 路径下的图层文件定义。需要时,可通过导入模板图层符号系统重新应用默认渲染。

    注:

    默认采样大小为 10,000 条记录。当结果数超过该默认值时,您会希望提高采样大小来渲染所有结果。

语法

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

如果 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

要查找的匹配解决方案的数量。输入 0 或一个大于 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())

环境

  • 输出坐标系
  • 地理变换
  • 当前工作空间
  • 临时工作空间
  • 限定的字段名
  • 输出包含 M 值
  • M 分辨率
  • M 容差
  • 输出包含 Z 值
  • 默认输出 Z 值
  • Z 分辨率
  • Z 容差
  • XY 分辨率
  • XY 容差

许可信息

  • ArcGIS Desktop Basic: 是
  • ArcGIS Desktop Standard: 是
  • ArcGIS Desktop Advanced: 是

相关主题

  • 相似性搜索工作原理
  • 分组分析

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2018 Esri. | 隐私政策 | 法律声明