當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。