从字段中移除属性域 (数据管理)
摘要
从要素类或表字段中移除属性域关联。
用法
-
此工具的作用与指定字段的属性域功能相反。从字段中移除属性域会一并移除字段和属性域之间的关联。
-
当属性域从字段中移除后,该字段的属性验证规则也将从数据库中移除。
-
相同属性域可与同一个表、要素类或子类型的多个字段关联,也可以与多个表和要素类关联。从字段中移除属性域不会影响其他属性域关联。
-
还可以在 ArcCatalog 或目录窗口中管理工作空间属性域。可通过数据库属性对话框中的属性域选项卡创建和修改属性域。
-
当前地图图层可能用于定义“输入”表。
-
子类型参数的添加值按钮仅在模型构建器中使用。在模型构建器中,如果前面的工具尚未运行或其派生数据不存在,则可能不会使用值来填充“子类型”参数。添加值按钮可用于添加所需值,以完成移除字段的属性域对话框并继续构建模型。
语法
RemoveDomainFromField_management (in_table, field_name, {subtype_code})
参数 | 说明 | 数据类型 |
in_table |
包含要移除的属性域的输入表。 | Table View |
field_name |
不再与属性域关联的字段。 | Field |
subtype_code [subtype_code,...] (可选) | 选择不再与属性域关联的子类型编码。 | String |
代码示例
移除字段的属性域示例(Python 窗口)
以下 Python 窗口脚本演示了如何在即时模式下使用 RemoveDomainFromField 函数。
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.RemoveDomainFromField_management("montgomery.gdb/water/distribmains", "DIAMETER")
移除字段的属性域示例 2(独立脚本)
此独立脚本将 RemoveDomainFromField 函数用作编辑属性域的工作流的一部分。
# Name: RemoveDomainsExample.py # Purpose: Update an attribute domain to constrain valid pipe material values # Author: ESRI # Import system modules import arcpy, os from arcpy import env try: # Set the workspace (to avoid having to type in the full path to the data every time) env.workspace = "data" # set local parameters inFeatures = "Montgomery.gdb/Water/DistribMains" inField = "MATERIAL" dWorkspace = "Montgomery.gdb" domName = "Material" codedValue = "ACP: Asbestos concrete" codeField = "TYPE" descField = "DESRIPT" # Process: Remove the constraint from the material field arcpy.RemoveDomainFromField_management(inFeatures, inField) # Edit the domain values # Process: Remove a coded value from the domain arcpy.DeleteCodedValueFromDomain_management(dWorkspace, domName, codedValue) # Process: Create a table from the domain to edit it with ArcMap editing tools arcpy.DomainToTable_management(dWorkspace, domname, dWorkspace + os.sep + domname , codeField, descField) # Process: Delete the domain arcpy.DeleteDomain_management(dWorkspace, domName) # Edit the domain table outside of geoprocessing # and then bring the domain back in with the TableToDomain process 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