Label | Explanation | Data Type |
Input Workspace | The workspace containing the attribute domain to be converted to a table. | Workspace |
Domain Name | The name of the existing attribute domain. | String |
Output Table | The table to be created. | Table |
Code Field | The name of the field in the created table that will store code values. | String |
Field Description | The name of the field in the created table that will store code value descriptions. | String |
Configuration Keyword (Optional) | For geodatabase tables, the custom storage keywords for creating the table. | String |
Summary
Creates a table from an attribute domain.
Usage
Creating a table from an attribute domain allows for additional editing of the table. For example, a table could be created from a coded value domain, additional code values could be added to the coded value list, and the Table To Domain tool could be used to update the original domain.
Parameters
arcpy.management.DomainToTable(in_workspace, domain_name, out_table, code_field, description_field, {configuration_keyword})
Name | Explanation | Data Type |
in_workspace | The workspace containing the attribute domain to be converted to a table. | Workspace |
domain_name | The name of the existing attribute domain. | String |
out_table | The table to be created. | Table |
code_field | The name of the field in the created table that will store code values. | String |
description_field | The name of the field in the created table that will store code value descriptions. | String |
configuration_keyword (Optional) | For geodatabase tables, the custom storage keywords for creating the table. | String |
Code sample
The following Python window script demonstrates how to use the DomainToTable function.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.DomainToTable_management("montgomery.gdb", "DistDiam", "diameters", "code", "descript")
This stand-alone script uses the DomainToTable function as part of a workflow to edit a domain.
# Name: RemoveDomainsExample.py
# Purpose: Update an attribute domain to constrain valid pipe material values
# Import system modules
import arcpy
import os
try:
# Set the workspace (to avoid having to type in the full path to the data every time)
arcpy.env.workspace = "C:/data"
# set local parameters
inFeatures = "Montgomery.gdb/Water/DistribMains"
inField = "MATERIAL"
dWorkspace = "Montgomery.gdb"
domName = "Material"
codedValue = "ACP: Asbestos concrete"
codeField = "TYPE"
fieldDesc= "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, fieldDesc)
# 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 as err:
print(err.args[0])