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


Python ArcGIS merge_layers用法及代碼示例

本文簡要介紹 python 語言中 arcgis.features.analysis.merge_layers 的用法。

用法:

arcgis.features.analysis.merge_layers(input_layer, merge_layer, merging_attributes=[], output_name=None, context=None, gis=None, estimate=False, future=False)

返回:

result_layer:如果指定了output_name,則為 FeatureLayer ,否則為特征集合。

merge_layers.png

merge_layers 方法將特征從兩個層複製到一個新層。要合並的圖層必須全部包含相同的要素類型(點、線或麵)。您可以控製輸入圖層中的字段如何連接和複製。例如:

  • 我有英格蘭、威爾士和蘇格蘭的三層,我想要大不列顛的單層。

  • 我有兩層包含相鄰鄉鎮的包信息。我想將它們合並成一個圖層,隻保留兩個圖層上具有相同名稱和類型的字段。

Parameter

Description

input_layer

必需的要素圖層。帶有 merge_layer 的點、線或麵要素。請參閱特征輸入。

merge_layer

必需的要素圖層。要與 input_layer 合並的點、線或麵要素。 merge_layer 必須包含與 input_layer 相同的要素類型(點、線或多邊形)。請參閱特征輸入。

merge_attributes

可選列表。定義如何修改merge_layer 中的字段。默認情況下,來自兩個輸入的所有字段都將包含在輸出層中。

如果一個字段存在於一個圖層中而另一圖層中不存在,則輸出圖層仍將包含該字段。輸出字段將包含沒有該字段的輸入要素的空值。例如,如果 input_layer 包含名為 TYPE 的字段,但 merge_layer 不包含 TYPE,則輸出將包含 TYPE,但對於從 merge_layer 複製的所有要素,其值為 null。

您可以使用對指定 merge_layer 字段進行操作的以下合並類型來控製如何將 merge_layer 中的字段寫入輸出層:

  • Remove - merge_layer 中的字段將從輸出層中刪除。

  • Rename - merge_layer 中的字段將在輸出層中重命名。您無法將 merge_layer 中的字段重命名為 input_layer 中的字段。如果您想讓字段名稱等效,請使用 Match。

  • Match - merge_layer 中的字段等同於由合並值指定的 input_layer 中的字段。例如,input_layer 有一個名為 CODE 的字段,merge_layer 有一個名為 STATUS 的字段。您可以將 STATUS 與 CODE 匹配,輸出將包含 CODE 字段以及用於從 merge_layer 複製的函數的 STATUS 字段的值。支持類型轉換(例如,浮點到整數、整數到字符串),但字符串到數字除外。

output_name

可選字符串或 FeatureLayer 。現有要素圖層將導致新圖層附加到要素服務。如果 overwrite 在上下文中為 True,則新層將覆蓋現有層。如果未指示output_name,則創建新的 FeatureCollection

context

可選字典。處理範圍和輸出空間參考等附加設置。對於calculate_density,有三個設置。

  • extent - 定義分析區域的邊界框。僅分析input_layer 中與邊界框相交的那些特征。

  • outSR - 輸出要素將投影到 wkid 引用的輸出空間參考中。

  • overwrite - 如果為 True,則 output_name 中的要素層將被新要素層覆蓋。適用於 ArcGIS Online 或 Enterprise 10.9.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}

gis

可選,運行此工具的 GIS 。如果未指定,則使用活動 GIS。

estimate

可選的布爾值。如果為 True,則將返回運行該操作所需的估計積分數。

future

可選布爾值。如果為 True,則將返回 future 對象,並且進程不會等待任務完成。默認為False,表示等待結果。

如果 future = True ,則結果是 Future 對象。調用result() 獲取響應。

例子:

#USAGE EXAMPLE: To merge two layers into a new layer using merge attributes.
merged = merge_layers(input_layer=esri_offices,
                      merge_layer=satellite_soffice_lyr,
                      merging_attributes=["State Match Place_Name"],
                      output_name="merge layers")

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 arcgis.features.analysis.merge_layers。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。