设置子类型字段 (数据管理)

摘要

为存储子类型编码的输入表或要素类定义字段。

使用情况

  • 要素类或表只能具有一个子类型字段。

  • 设置子类型字段后,可使用添加子类型工具将子类型编码添加到要素类或表中。

  • 您也可在子类型视图中查看和管理子类型,此视图可通过单击数据功能区设计部分的子类型按钮或字段视图功能区中的子类型按钮打开。

  • 如果不再需要子类型字段,此工具也可用于清除子类型字段。

参数

标注说明数据类型
输入表

包含要设置为子类型字段的字段的输入表或要素类。

Table View
字段名
(可选)

将存储子类型编码的整型字段。

Field
清除值
(可选)

指定是否清除子类型字段。

  • 选中 - 将清除子类型字段(设为空值)。
  • 未选中 - 不会清除子类型字段。这是默认设置。
Boolean

派生输出

标注说明数据类型
更新的输入表

已更新的表或要素类。

表视图

arcpy.management.SetSubtypeField(in_table, {field}, {clear_value})
名称说明数据类型
in_table

包含要设置为子类型字段的字段的输入表或要素类。

Table View
field
(可选)

将存储子类型编码的整型字段。

Field
clear_value
(可选)

指定是否清除子类型字段。

  • CLEAR_SUBTYPE_FIELD将清除子类型字段(设为空值)。
  • DO_NOT_CLEAR不会清除子类型字段。这是默认设置。
Boolean

派生输出

名称说明数据类型
out_table

已更新的表或要素类。

表视图

代码示例

SetSubtypeField 示例(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 SetSubtypeField 函数。

import arcpy
arcpy.env.workspace = "C:/data/Montgomery.gdb"
arcpy.SetSubtypeField_management("water/fittings", "TYPECODE")
SetSubtypeField 示例 2(独立脚本)

以下独立脚本演示了如何在将子类型添加到字段的工作流中使用 SetSubtypeField 函数。

# Name: ManageSubtypes.py
# Purpose: Create a subtype definition
# Import system modules
import arcpy
 
# Set the workspace (to avoid having to type in the full path to the data every 
# time)
arcpy.env.workspace = "C:/data/Montgomery.gdb"
# Set local parameters
inFeatures = "water/fittings"
# Process: Set Subtype Field...
arcpy.SetSubtypeField_management(inFeatures, "TYPECODE")
# Process: Add Subtypes...
# Store all the subtype values in a dictionary with the subtype code as the 
# "key" and the subtype description as the "value" (stypeDict[code])
stypeDict = {"0": "Unknown", "1": "Bend", "2": "Cap", "3": "Cross", 
             "4": "Coupling", "5": "Expansion joint", "6": "Offset", "7":"Plug", 
             "8": "Reducer", "9": "Saddle", "10": "Sleeve", "11": "Tap", 
             "12": "Tee", "13": "Weld", "14": "Riser"} 
    
# Use a for loop to cycle through the dictionary
for code in stypeDict:
    arcpy.AddSubtype_management(inFeatures, code, stypeDict[code])     
# Process: Set Default Subtype...
arcpy.SetDefaultSubtype_management(inFeatures, "4", "")
SetSubtypeField 示例 3(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 SetSubtypeField 函数来清除子类型字段。

import arcpy
arcpy.env.workspace = "C:/data/Montgomery.gdb"
arcpy.SetSubtypeField_management("water/fittings", "", "TRUE")

环境

特殊情况

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题