指定字段的属性域 (数据管理)

摘要

设置特定字段的属性域,也可设置子类型的属性域。如果未指定任何子类型,则仅为特定字段指定属性域。

用法

语法

AssignDomainToField_management (in_table, field_name, domain_name, {subtype_code})
参数说明数据类型
in_table

包含要指定属性域的字段的表或要素类的名称。

Table View
field_name

要指定属性域的字段的名称。

Field
domain_name

要指定给字段名的地理数据库属性域的名称。将自动加载可用的属性域。

String
subtype_code
[subtype_code,...]
(可选)

要指定属性域的子类型编码。

String

代码示例

指定字段的属性域示例(Python 窗口)

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

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.AssignDomainToField_management("montgomery.gdb/Landbase/Parcels", "ZONING_S", "ZoningFields", "1: government")
指定字段的属性域示例 2(独立脚本)

以下脚本将 AssignDomainToField 函数用作工作流的一部分,以创建属性域、为属性域指定值并为字段指定属性域。

# Name: MakeDomain.py
# Description: Create an attribute domain to constrain pipe material values
# Author: ESRI

 
#Import system modules
import arcpy
from arcpy import env
 
try:
    # Set the workspace (to avoid having to type in the full path to the data every time)
    env.workspace = "C:/data"
 
    # Set local parameters
    domName = "Material4"
    gdb = "montgomery.gdb"
    inFeatures = "Montgomery.gdb/Water/Distribmains"
    inField = "Material"
 
    # Process: Create the coded value domain
    arcpy.CreateDomain_management("montgomery.gdb", domName, "Valid pipe materials", "TEXT", "CODED")
    
    #Store all the domain values in a dictionary with the domain code as the "key" and the 
    #domain description as the "value" (domDict[code])
    domDict = {"CI":"Cast iron", "DI": "Ductile iron", "PVC": "PVC", \
                "ACP": "Asbestos concrete", "COP": "Copper"}
    
    # Process: Add valid material types to the domain
    #use a for loop to cycle through all the domain codes in the dictionary
    for code in domDict:        
        arcpy.AddCodedValueToDomain_management(gdb, domName, code, domDict[code])
    
    # Process: Constrain the material value of distribution mains
    arcpy.AssignDomainToField_management(inFeatures, inField, domName)
 
except Exception, e:
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    print "Line %i" % tb.tb_lineno
    print e.message

环境

相关主题

许可信息

ArcView: 是
ArcEditor: 是
ArcInfo: 是

7/10/2012