向属性域添加编码值 (数据管理)
摘要
向属性域的编码值列表添加值。
用法
-
属性域管理涉及以下步骤:
-
编码值属性域既包括存储在数据库中的实际值(例如 1 代表硬路面),也包括对编码值的含义的描述(例如硬路面)。
-
为属性指定一组有效值的编码值属性域可应用于任何类型的属性,如文本、数值和日期等。例如,文本属性的编码值列表可能包括有效的管道材料值:CL - 铸铁管;DL - 球墨铸铁管;ACP - 石棉混凝土管,编码值列表也可能包括表示有效管道直径的数值:.75–3/4";2–2";24–24";30–30"。
-
还可以在 ArcCatalog 或目录窗口中管理工作空间属性域。可通过数据库属性对话框中的属性域选项卡创建和修改属性域。
语法
AddCodedValueToDomain_management (in_workspace, domain_name, code, code_description)
参数 | 说明 | 数据类型 |
in_workspace |
包含要更新的属性域的地理数据库。 | Workspace |
domain_name |
所含值将被添加到编码值列表中的属性域的名称。 | String |
code |
要添加到指定属性域的编码值列表的值。 | String |
code_description |
对编码值的含义的描述。 | String |
代码实例
AddCodedValueToDomain 示例(Python 窗口)
以下 Python 窗口脚本演示了如何在立即模式下使用 AddCodedValueToDomain 函数。
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.AddCodedValueToDomain_management("montgomery.gdb", "material", "1", "PVC")
AddCodedValueToDomain 示例 2(独立脚本)
此独立脚本将 AddCodedValueToDomain 函数用作工作流的一部分,以创建属性域并为其赋值。
# 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
相关主题
许可信息
ArcGIS for Desktop Basic: 是
ArcGIS for Desktop Standard: 是
ArcGIS for Desktop Advanced: 是
5/10/2014