当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python ArcGIS find_similar_locations用法及代码示例


本文简要介绍 python 语言中 arcgis.features.analysis.find_similar_locations 的用法。

用法:

arcgis.features.analysis.find_similar_locations(input_layer, search_layer, analysis_fields=[], input_query=None, number_of_results=0, output_name=None, context=None, gis=None, estimate=False, future=False)

返回:

FeatureLayer 如果指定了 output_name,否则 Python 字典具有以下键:

“similar_result_layer”:层( FeatureCollection )

“process_info”:消息列表

find_similar_locations.png

find_similar_locations 方法测量候选位置与一个或多个参考位置的相似性。

根据您指定的条件,``find_similar_locations`` 可以回答如下问题:

  • 在客户资料方面,您的哪些商店与您的表现最佳的商店最相似?

  • 根据疫情重灾村的特点,还有哪些村是高危村?

要回答此类问题,您需要提供参考位置(input_layer 参数)、候选位置(search_layer 参数)以及表示要匹配的条件的字段。例如,input_layer 可能是包含表现最好的商店或受疾病影响最严重的村庄的图层。 search_layer 包含要搜索的候选位置。这可能是您的所有商店或所有其他村庄。最后,您提供用于测量相似性的字段列表。 find_similar_locations 将根据所有候选位置与您选择的所有字段中的参考位置的匹配程度对所有候选位置进行排名。

Parameter

Description

input_layer

必需的要素图层。 input_layer 包含一个或多个参考位置,search_layer 中的特征将根据这些参考位置进行相似性评估。例如,input_layer 可能包含您表现最好的商店或受疾病影响最严重的村庄。 input_layersearch_layer 是相同的要素服务并不罕见。例如,要素服务包含所有商店的位置,其中一个是您表现最好的商店。如果您想将剩余的商店从最相似到最不相似进行排名,您可以为 inputLayer 和 search_layer 提供一个过滤器。 input_layer 上的过滤器将选择表现最佳的商店,而search_layer 上的过滤器将选择除表现最佳的商店之外的所有商店。您还可以使用可选的input_query 参数来指定参考位置。

如果有多个参考位置,则相似性将基于您在 analysis_fields 参数中指定的字段的平均值。因此,例如,如果有两个参考位置并且您对匹配人口感兴趣,则该任务将在 search_layer 中寻找与两个参考位置的平均人口最相似的人口的候选位置。例如,如果参考位置的值是 100 和 102,则该方法将查找人口接近 101 的候选位置。因此,您将希望将字段用于具有相似值的参考位置字段。例如,如果一个参考位置的人口值为 100,而另一个为 100,000,则该工具将寻找人口值接近这两个值的平均值的候选位置:50,050。请注意,这个平均值与任何一个参考位置的人口都不同。请参阅特征输入。

search_layer

必需的要素图层。包含将根据参考位置评估的候选位置的图层。请参阅特征输入。

analysis_fields

必需的字符串列表。其值用于确定相似性的字段列表。它们必须是数字字段,并且这些字段必须同时存在于 input_layersearch_layer 上。该方法将在 search_layer 中查找字段值与 input_layer 中的特征最接近的特征。

input_query

可选字符串。在input_layersearch_layer 是同一个要素服务的情况下,该参数允许您在input_layer 上输入查询以指定哪些要素是参考位置。此查询指定的参考位置不会被分析为候选。 input_query 的语法与过滤器相同。

number_of_results

可选的整数。输出到 similar_result_layer 的排名候选位置的数量。如果未指定number_of_results,或设置为零,则将对所有候选位置进行排名并输出。

output_name

可选字符串或 FeatureLayer 。现有要素图层将导致新图层附加到要素服务。如果 overwrite 在上下文中为 True,则新层将覆盖现有层。如果未指示output_name,则创建新的 FeatureCollection

context

可选字典。处理范围和输出空间参考等附加设置。对于find_similar_locations,有三个设置。

  • extent - 定义分析区域的边界框。仅分析input_layer 中与边界框相交的那些特征。

  • outSR - 输出要素将投影到 wkid 引用的输出空间参考中。

  • overwrite - 如果为 True,则 output_name 中的要素层将被新要素层覆盖。适用于 ArcGIS Online 和 ArcGIS Enterprise 11.1+。

    # Example Usage
    context = {"extent": {"xmin": 3164569.408035,
                        "ymin": -9187921.892449,
                        "xmax": 3174104.927313,
                        "ymax": -9175500.875353,
                        "spatialReference":{"wkid":102100,"latestWkid":3857}},
                "outSR": {"wkid": 3857},
                "overwrite": True}

estimate

可选的布尔值。如果为 True,将返回运行该操作的积分数。

future

可选,如果为 True,将返回未来对象,并且进程不会等待任务完成。默认为False,表示等待结果。

例子:

#USAGE EXAMPLE: To find top 4 most locations from the candidates layer that are similar to the target location.
top_4_most_similar_locations = find_similar_locations(target_lyr, candidates_lyr,
                                            analysis_fields=['THH17','THH35','THH02','THH05','POPDENS14','FAMGRW10_14','UNEMPRT_CY'],
                                            output_name = "top 4 similar locations",
                                            number_of_results=4)

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 arcgis.features.analysis.find_similar_locations。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。