Skip To Content

合并图层

“合并图层”工具“合并图层”工具合并两个要素图层以创建一个输出图层。 此工具要求两个图层具有相同的几何类型(表格、点、线或面)。如果一个图层上启用了时间,则另一个图层上也必须启用了时间,并且具有相同的时间类型(时刻或间隔)。结果将始终包含输入图层中的所有字段。默认情况下,将包含合并图层中的所有字段,或者可以指定自定义合并规则以定义生成的方案。

工作流示意图

“合并图层”工作流示意图

使用 GeoAnalytics Tools 进行的分析

通过跨多个 ArcGIS GeoAnalytics Server 计算机和核心组件的分布式处理来运行使用 GeoAnalytics Tools 进行的分析。GeoAnalytics ToolsArcGIS Enterprise 中标准要素分析工具的参数和功能不同。要了解有关这些差别的详细信息,请参阅要素分析工具差别

示例

洛杉矶市希望通过开发新公园来恢复洛杉矶河附近区域的状况。公园必须在洛杉矶河附近,但是不能紧密邻近现有公园和毒物排放设施点。可通过合并图层将现有公园和毒物排放设施点附近的缓冲区合并到单个图层中,从而在不得开发新公园的位置创建一个排除区。

用法说明

需要几何类型和时间类型相同的两个输入。

默认情况下,两个输入图层的所有字段都会复制到输出图层。或者,您可以选择通过重命名移除匹配操作修改合并图层中的字段。

操作描述示例

重命名

字段将在输出中重命名。在可以指定新名称的位置将会出现一个文本框。

用户想要合并两个图层,并且每个图层都具有一个名为 COUNT 的字段。此字段在一个图层中表示个体计数,但在另一个图层中表示家庭计数。默认情况下,两个 COUNT 字段会合并,因为它们具有匹配的字段名称。使用重命名,可将合并图层中该字段的名称更改为 MERGE_COUNT 以保持结果图层中的两个字段分开。

移除

字段将从输出中移除。

某用户想要合并两个图层,但不想保留合并图层中的某些字段,例如 OBJECTID。使用移除,则可以阻止将这些字段写入结果图层并仅保留感兴趣的字段。

匹配

字段名保持不变。待合并图层的字段值将复制到匹配的输出字段。

某用户想要合并两个调查结果表格图层。输入图层具有一个名为 Name 的字段,其中包含调查参与者的姓名。合并图层中的等效字段名为 Participant。使用匹配可表明这些字段是等效的,两者在结果图层中将合并为一个名为 Name 的字段。

如果输入图层和合并图层包含名称匹配但字段类型不匹配的字段,则除非两个字段类型可以成功合并,否则该工具将运行失败。如果输入字段是字符串字段且合并字段是数值字段,则这些字段将合并为输出图层中的单个字符串字段。如果输入字段是双精度字段且合并字段是数值字段,则这些字段将合并为输出图层中的单个双精度字段。在所有其他情况下,合并属性必须用于重命名或移除任一匹配字段才能运行该工具。

局限性

  • 合并图层中的要素必须与输入图层中的要素具有相同的几何类型和时间类型。

ArcGIS API for Python 示例

可通过 ArcGIS API for Python 获取合并图层工具。

本示例可将来自两个州的人口普查区块合并为一个输出图层。


# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS

# Connect to your ArcGIS Enterprise portal and confirm that GeoAnalytics is supported
portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password", verify_cert=False)
if not portal.geoanalytics.is_supported():
    print("Quitting, GeoAnalytics is not supported")
    exit(1)   

# Find the big data file share dataset you'll use for analysis
search_result = portal.content.search("", "Big Data File Share")

# Look through the search results for a big data file share with the matching name
bdfs_search = next(x for x in search_result if x.title == "bigDataFileShares_CensusBlocks")

# Look through the big data file share for IllinoisBlocks and WisconsinBlocks
il_block = next(x for x in bdfs_search.layers if x.properties.name == "IllinoisBlocks")
wi_block = next(x for x in bdfs_search.layers if x.properties.name == "WisconsinBlocks")

# Define merge attributes so that the field "State_Code" is matched to the field "statecode"
merge_info = [{"mergeLayerField" : "State_Code", "mergeType" : "Match", "mergeValue" : "statecode"}]

# Run the Merge Layers tool
merge_result = arcgis.geoanalytics.manage_data.merge_layers(input_layer = il_block, 
                                                            merge_layer = wi_block,
                                                            merge_attributes = merge_info,
                                                            output_name = "IL_WI_Census_Blocks")

# Visualize the tool results if you are running Python in a Jupyter Notebook
processed_map = portal.map()
processed_map.add_layer(merge_result)
processed_map

类似工具

使用 ArcGIS GeoAnalytics Server“合并图层”工具可将两个要素图层合并为一个新的输出图层。其他工具或许在解决略有差异的类似问题时十分有用。

Map Viewer 分析工具

使用 ArcGIS GeoAnalytics Server 追加数据工具,在不创建新的输出图层的情况下向要素图层追加数据。

使用 ArcGIS GeoAnalytics Server 复制到数据存储工具选择数据并将其复制到门户中的新要素图层。

使用 ArcGIS GeoAnalytics Server 计算字段工具在新的或现有的字段中计算要素的值。

ArcGIS Desktop 分析工具

要从 ArcGIS Pro 运行此工具,您的活动门户必须为 Enterprise 10.7 或更高版本。您必须使用具有执行 GeoAnalytics 要素分析权限的帐户登录。

使用合并地理处理工具在 ArcGIS Pro 中执行类似的追加操作。