创建属性域 (数据管理)
摘要
在指定工作空间中创建属性域。
用法
语法
CreateDomain_management (in_workspace, domain_name, domain_description, field_type, {domain_type}, {split_policy}, {merge_policy})
参数 | 说明 | 数据类型 |
in_workspace |
将包含新属性域的地理数据库。 | Workspace |
domain_name |
要创建的属性域的名称。 | String |
domain_description |
要创建的属性域的描述。 | String |
field_type |
要创建的属性域的类型。属性域是描述字段类型合法值的规则。指定的字段类型应与将属性域指定到的字段的数据类型相匹配。
| String |
domain_type (可选) |
要创建的属性域类型:
| String |
split_policy (可选) |
所创建属性域的分割策略。分割要素时,属性值的行为受控于它的分割策略。
| String |
merge_policy (可选) |
所创建属性域的合并策略。在将两个要素合并为一个要素时,合并策略控制着新要素的属性值。
| String |
代码示例
创建属性域示例(Python 窗口)
以下 Python 窗口脚本演示了如何在立即模式下使用 CreateDomain 函数。
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.CreateDomain_management("montgomery.gdb", "Materials", "Valid pipe materials", "TEXT", "CODED")
创建属性域示例 2(独立脚本)
此独立脚本将 CreateDomain 函数用作工作流的一部分,以创建属性域、为其赋值并将属性域分配给要素类的字段。
# 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