移除连接 (数据管理)

摘要

从要素图层或表视图中移除连接。

使用情况

  • 连接参数值是连接到输入图层或表视图的表的名称。

    • 如果连接表是名为 MyTable.dbf 的 dBASE 文件,则连接名称将是“MyTable”;因此,要移除该连接,请指定 MyTable
    • 如果连接表是地理数据库或名为 MyTable2 的 INFO 表,则连接名称将是“MyTable2”;因此,要移除该连接,请指定 MyTable2
    • 连接名称不会反映表视图本身的名称,而是反映表视图的源。 例如,如果表视图名为 TableView1 并指向 mytable.dbf,则连接的名称将是“mytable”。

  • 如果图层连接到两个表并且移除了第一个连接,则两个连接都将被移除。 例如,将 Layer1 连接到 TableA。 然后将 Layer1 连接到 TableB。 如果移除了 TableA 的连接,则将一并移除 TableB 的连接。

  • 模型构建器 中,可使用创建要素图层工具通过要素类创建图层,创建表视图工具可通过输入表或要素类创建表视图。 这些图层或表视图可随后用作添加连接移除连接工具的输入。

参数

标注说明数据类型
图层名称或表视图

要从中移除连接的图层或表视图。

Mosaic Layer; Raster Layer; Table View
连接
(可选)

要删除的连接的名称。

如果未提供名称,该工具将从输入中删除所有联接。

String

派生输出

标注说明数据类型
连接已移除的图层

已更新的输入数据集。

Table View; Raster Layer; Mosaic Layer

arcpy.management.RemoveJoin(in_layer_or_view, {join_name})
名称说明数据类型
in_layer_or_view

要从中移除连接的图层或表视图。

Mosaic Layer; Raster Layer; Table View
join_name
(可选)

要删除的连接的名称。

如果未提供名称,该工具将从输入中删除所有联接。

String

派生输出

名称说明数据类型
out_layer_or_view

已更新的输入数据集。

Table View; Raster Layer; Mosaic Layer

代码示例

RemoveJoin 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 RemoveJoin 函数处理 TOC 指定的 veglayer 中的要素图层。

import arcpy
arcpy.management.RemoveJoin("veglayer", "vegtable")
RemoveJoin 示例 2(独立脚本)

此独立脚本中 RemoveJoin 函数是工作流的一部分,该工作流将向表中添加字段并基于连接表中字段的值计算该字段值。

# AddFieldFromJoin.py
# Description: Add a field to a table, and calculate its values based
#              on the values in a field from a joined table

# Import system modules
import arcpy

# set the environments
arcpy.env.workspace = "C:/data"
arcpy.env.qualifiedFieldNames = "UNQUALIFIED"
    
# Define script parameters    
inFeatures = "Habitat_Analysis.gdb/vegtype"
layerName = "veg_layer"
newField = "description"
joinTable = "vegtable.dbf"
joinField = "HOLLAND95"
calcExpression = "!vegtable.VEG_TYPE!"
outFeature = "Habitat_Analysis.gdb/vegjoin335"
    
# Add the new field
arcpy.management.AddField(inFeatures, newField, "TEXT")
    
# Create a feature layer from the vegtype feature class
arcpy.management.MakeFeatureLayer(inFeatures,  layerName)
    
# Join the feature layer to a table
arcpy.management.AddJoin(layerName, joinField, joinTable, joinField)
    
# Populate the newly created field with values from the joined table
arcpy.management.CalculateField(layerName, newField, calcExpression, "PYTHON")
    
# Remove the join
arcpy.management.RemoveJoin(layerName, "vegtable")
    
# Copy the layer to a new permanent feature class
arcpy.management.CopyFeatures(layerName, outFeature)

环境

此工具不使用任何地理处理环境。

相关主题