查找相似位置 (GeoAnalytics)

摘要

根据要素属性识别与单个或多个输入要素最相似或者最不相似的候选要素。

旧版本:

ArcGIS GeoAnalytics Server 扩展模块在 ArcGIS Enterprise 中处于弃用状态。 GeoAnalytics Server最终版本包含在 ArcGIS Enterprise 11.3 中。 可通过 ArcGIS Enterprise 11.3 及较早版本获取此地理处理工具。

插图

查找相似位置工具图示

使用情况

  • 可使用表格、点、线或面要素。

  • 需要输入搜索(候选)图层。将根据输入(参考)位置的相似性为搜索图层中的要素划分等级。

  • 如果输入图层中存在多个要素,可根据平均输入图层值进行匹配。例如,如果存在两个输入图层要素,并且其中一个分析字段属性为人口变量,那么工具会搜索人口数与平均人口值接近的搜索图层。例如,如果人口值为 100 和 102,那么工具会搜索人口数接近 101 的候选要素。

    注:

    如果存在多个输入图层,则请选择具有相似值的分析字段属性。例如,如果其中一个输入的人口值为 100,另一个为 100,000,则工具将搜索人口数接近两者平均值 50,050 的匹配。请注意,此平均值远未达到两个输入图层中任一图层的人口值。

  • 可使用最相似或最不相似参数,分别通过最相似最不相似选项来搜索与输入图层要素最相似的要素或者最不相似的要素。在某些情况下,您可能希望看见上述两者。例如,如果结果数参数值为 3 且最相似或最不相似参数值为二者,则工具将查找三个最相似和三个最不相似的候选要素。

  • 输出要素中给出的任何匹配解决方案均是与目标输入图层最相似或最不相似的解决方案;单个解决方案不会同时出现两种情况(匹配的解决方案不会在输出要素中重复)。因此,如果最相似或最不相似参数值为二者,则可能出现的匹配结果的最大数量(结果数)将是搜索图层数量的一半。

  • 最多将返回 10,000 个搜索图层要素。
  • 匹配方法参数具有以下值选项:

    • 属性值 - 最相似的候选要素会具有所有分析字段属性的最小平方差总和。计算差异之前,所有值均为标准化值。
    • 属性剖面 - 将测量余弦相似性。余弦相似性将在标准化属性值间搜索相同关系,而并非尝试匹配量级。例如,假设有 A1、A2 和 A3 三个分析字段。A2 是 A1 的两倍,且 A3 与 A2 几乎相等。如果匹配方法参数值为属性剖面,该工具会搜索具有同样属性关系的候选要素:A2 是 A1 的两倍,A3 与 A2 几乎相等。由于该方法用于查找属性关系,您必须至少指定两个分析字段属性。您可以使用余弦相似性方法(属性剖面选项)来查找与洛杉矶相似但比例不同的地方;例如您对人口资料感兴趣的地方,这里车辆数与居民数的比值小于 20。余弦相似性的指数范围在 1.0(完全相似)和 -1.0(完全不相似)之间。将余弦相似性指数写入输出要素 simindex(余弦相似性)字段。

  • 分析字段参数应为数值型字段,且必须以相同字段名称和字段类型同时存在于输入图层搜索图层数据集中。如果该工具未找到与搜索图层对应的字段,则会出现一条警告,提示缺失的属性已从分析中删除。

  • 将所有用于匹配的属性均写入输出。追加字段参数允许您指定要添加到输出表中的字段。默认情况下,将添加所有字段。使用追加字段参数从想要添加的搜索图层中选择指定字段。

  • 所有输入图层和匹配的解决方案,以及分析字段追加字段参数都将写入输出要素。此外,下列字段也包含在输出要素中:

    字段名描述备注

    location_type

    用于指示要素是参考图层(输入)还是候选图层(搜索)的字符串。

    simrank

    如果选择最相似二者作为最相似或最不相似参数值,则所有匹配的解决方案均按照从最相似到最不相似的顺序进行等级划分。最相似匹配解决方案的等级值为 1。

    如果选择最相似二者作为最相似或最不相似参数值,则该字段将仅包含在输出要素中。

    dissimrank

    如果为最相似或最不相似参数值选择了最不相似二者,则所有匹配的解决方案均按照从最不相似到最相似的顺序进行等级划分。最不相似的解决方案的等级值为 1。

    如果选择最不相似二者作为最相似或最不相似参数值,则该字段将仅包含在输出要素中。

    simindex

    该字段量化了每个匹配解决方案与目标要素的相似程度。如果将属性值指定为匹配方法参数值,则该值表示值平方差总和。

    有关如何计算该索引的详细信息,请参阅相似性搜索工作原理

    如果选择属性值作为匹配方法参数值,则该字段将仅包含在输出要素中。

    cosimindex

    该字段量化了每个匹配解决方案与目标要素的相似程度。如果将属性剖面指定为匹配方法参数值,则该值表示余弦相似性。

    有关如何计算该索引的详细信息,请参阅相似性搜索工作原理

    如果选择属性剖面作为匹配方法参数值,则该字段将仅包含在输出要素中。

    labelrank

    该字段仅用于显示。此工具使用该字段为分析结果提供默认渲染。

    reference_id

    参考要素的唯一 ID 值。搜索要素被赋予空值。

    该字段适用于 ArcGIS Enterprise 10.6.1 或更高版本。

    search_id

    搜索要素的唯一 ID 值。参考要素被赋予空值。

    该字段适用于 ArcGIS Enterprise 10.6.1 或更高版本。

  • 输出会自动添加到内容列表中,同时对 labelrank 字段应用默认渲染。

  • 您可以使用以下一个或多个提示来提升查找相似位置工具的性能:

    • 设置范围环境,以便仅分析感兴趣的数据。
    • 仅为参考图层选择几个要素。
    • 本地数据用于分析运行的位置。

  • 此地理处理工具由 ArcGIS GeoAnalytics Server 作为支持。 GeoAnalytics Server 上的分析已完成,结果将存储在 ArcGIS Enterprise 的内容中。

  • 当运行 GeoAnalytics Server 工具时,GeoAnalytics Server 上的分析已完成。 要获得最佳性能,通过 ArcGIS Enterprise 门户上托管的要素图层或通过大数据文件共享,可以将数据用于 GeoAnalytics Server。 在分析开始之前,非 GeoAnalytics Server 本地数据将被转移到您的 GeoAnalytics Server。 这意味着运行工具需要更长时间,并且在某些情况下,从 ArcGIS ProGeoAnalytics Server 移动数据可能会失败。 失败的阈值取决于网络速度,以及数据的大小和复杂性。 建议您始终共享数据或创建大数据文件共享。

    了解有关将数据共享至您的门户的详细信息。

    了解有关通过 Server Manager 创建大数据文件共享的详细信息

  • 类似的分析也可使用 ArcGIS Pro 中的“空间统计”工具箱中的相似性搜索工具来完成。

参数

标注说明数据类型
输入图层

包含要匹配的要素的参考图层(或图层上的选择)。该工具用于搜索与这些要素类似的其他要素。如果提供了多个要素,则会根据属性平均值进行匹配。

Record Set
搜索图层

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

Record Set
输出名称

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

String
分析字段

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

String
最相似或最不相似

用于指定要查找的要素与输入图层参数最相似还是最不相似。

  • 最相似查找最相似的要素。
  • 最不相似查找最不相似的要素。
  • 两者查找最相似的要素和最不相似的要素。
String
匹配方法

用于指定是根据值还是余弦关系进行匹配。

  • 属性值相似性或相异性取决于所有分析字段属性的标准化属性值平方差的总和。
  • 属性剖面将根据余弦相似性函数来计算所有分析字段属性的相似性或相异性。
String
结果数

要查找的匹配解决方案的数量。输入 0 或一个大于搜索图层要素总数的数字,将返回所有候选要素的等级(最多 10,000 个)。

Long
追加字段
(可选)

将包含输出的可选属性列表。例如,您可以包含名称标识符、分类字段或者日期字段。这些字段不用于确定相似性;它们包含在输出参数属性中仅供参考之用。默认情况下,将添加所有字段。

Field
数据存储
(可选)

指定将用于存储输出的 ArcGIS Data Store。 在时空大数据存储中存储的所有结果都将存储在 WGS84 中。 在关系数据存储中存储的结果都将保持各自的坐标系。

  • 时空大数据存储输出将存储在时空大数据存储中。 这是默认设置。
  • 关系数据存储输出将存储在关系数据存储中。
String

派生输出

标注说明数据类型
输出要素类

输入中的要素以及查找到的所有解决方案匹配要素。

Record Set

arcpy.geoanalytics.FindSimilarLocations(input_layer, search_layer, output_name, analysis_fields, most_or_least_similar, match_method, number_of_results, {append_fields}, {data_store})
名称说明数据类型
input_layer

包含要匹配的要素的参考图层(或图层上的选择)。该工具用于搜索与这些要素类似的其他要素。如果提供了多个要素,则会根据属性平均值进行匹配。

Record Set
search_layer

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

Record Set
output_name

输出要素服务的名称。输出要素服务包含每个 input_layer 参数的记录,以及查找到的所有与解决方案相匹配的要素的记录。

String
analysis_fields
[analysis_fields,...]

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

String
most_or_least_similar

用于指定要查找的要素与 input_layer 参数最相似还是最不相似。

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

用于指定是根据值还是余弦关系进行匹配。

  • ATTRIBUTE_VALUES相似性或相异性取决于所有 analysis_fields 属性的标准化属性值平方差的总和。
  • ATTRIBUTE_PROFILES将根据余弦相似性函数来计算所有 analysis_fields 属性的相似性或相异性。
String
number_of_results

要查找的匹配解决方案的数量。输入 0 或一个大于 search_layer 要素总数的数字,将返回所有候选要素的等级(最多 10,000 个)。

Long
append_fields
[append_fields,...]
(可选)

将包含输出的可选属性列表。例如,您可以包含名称标识符、分类字段或者日期字段。这些字段不用于确定相似性;它们包含在输出参数属性中仅供参考之用。默认情况下,将添加所有字段。

Field
data_store
(可选)

指定将用于存储输出的 ArcGIS Data Store。 在时空大数据存储中存储的所有结果都将存储在 WGS84 中。 在关系数据存储中存储的结果都将保持各自的坐标系。

  • SPATIOTEMPORAL_DATA_STORE输出将存储在时空大数据存储中。 这是默认设置。
  • RELATIONAL_DATA_STORE输出将存储在关系数据存储中。
String

派生输出

名称说明数据类型
output

输入中的要素以及查找到的所有解决方案匹配要素。

Record Set

代码示例

FindSimilarLocations(Python 窗口)

以下 Python 窗口脚本演示了如何使用 FindSimilarLocations 工具。

#-------------------------------------------------------------------------------
# Name: FindSimilarLocations.py
# Description: Find Similar stores to a top performing store
#
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
referenceStore = "https://MyGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_Stores/BigDataCatalogServer/TopPerformer"
candidateStores = "https://MyGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_Stores/BigDataCatalogServer/AllStores"
analysisFields = [ "SickDays", "TotalCustomers", "AvgPurchaseAmount"]
outputName = "BestStores_10"
dataStore = "SPATIOTEMPORAL_DATA_STORE"
# Execute Find Similar Locations
arcpy.geoanalytics.FindSimilarLocations(referenceStore, candidateStores, 
                                        outputName, analysisFields, 
                                        "MOST_SIMILAR", "ATTRIBUTE_VALUES", 10, 
                                        None, dataStore)

环境

特殊情况

输出坐标系

将用于分析的坐标系。 除非由该参数进行指定,否则将基于输入坐标系完成分析。 对于 GeoAnalytics Tools,最终结果将存储于 WGS84 中的时空数据存储之内。

许可信息

  • Basic: 需要 ArcGIS GeoAnalytics Server
  • Standard: 需要 ArcGIS GeoAnalytics Server
  • Advanced: 需要 ArcGIS GeoAnalytics Server

相关主题