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.
You can also manage domains in Domains view which can be opened by clicking the Domains button found in the Design group on the Data ribbon.
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])
Environments
Licensing information
- Basic: Yes
- Standard: Yes
- Advanced: Yes