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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。