Skip to main content
Question

Resolve Domains Replication of FCs in EGDB


hawaiialex
Contributor
Forum|alt.badge.img+2

Hi all,

I am working on a script to replicate a set of feature classes from one enterprise geodatabase that we use for transactional editing purposes to another enterprise geodatabase that we use for publication purposes for the organization. This replication script would be scheduled in FME Server to run on a nightly basis.

The issue is that the feature classes I plan on replicating have several domains and subtypes applied to them that don’t translate correctly.

I’ve been advised to use the ‘Resolve Domains’ functionality and change the configuration from ‘coded domain’ type to ‘char’.

My test workflow involves the below:

Copying the feature class via the ‘Import Feature Class’ tool in ArcGIS Pro into the target Enterprise Geodatabase to have the feature class available in both geodatabases

 

With FME:

Selecting the ‘Resolve Domains’ checkbox in the Writer at the outset, and using the ‘Insert’ and ‘Truncate Existing’

In the Writer configuration, changing the ‘coded domain’ type to ‘char’ and the ‘Width’ to 254

Configuring the attribute manager transformer parameters to ‘Remove’ the existing fields with domains and ‘Rename’ the _resolved fields to the name of the original field/attribute

When ‘Renaming’ the NEW_UPGRADE_resolved to just NEW_UPGRADE, it moves over the values from the _resolved to NEW_UPGRADE, without deleting the _resolved field

 

ArcGIS Pro:

 

Tried an alternate workflow and configuring the Attribute Manager transformer configuration and ‘Removing’ the original field only

 

When running the Attribute Manager and removing the original attribute, and keeping the _resolved, it seems to delete just the values in the original attribute and not the whole original field itself.

ArcGIS Pro:

 

Regardless, in both circumstances domain values are passed through to the field and just text as expected in both original field and resolved fields, when examining it without the dropdown capability as expected. 

 

I have 2 questions.

How do I ensure that only the newly resolved fields show in the target resulting FC? Would the parameters still be the same in using the ‘Insert’ and ‘Truncate Existing’ options or is another workflow more applicable?

Or would it just be a matter of only exposing the required field in ArcGIS Pro prior to publishing?  

Thank you!

2 replies

keith.addison
Contributor
Forum|alt.badge.img+1

I came here with a similar question; I’m trying to write a bunch of domains to a spreadsheet but want the attribute name to reflect the original attribute name instead of “_resolved” (or any other suffix).  I can go into the User Attributes tab and just delete out the “_resolved” part, but that confuses the program and it then reverts to using the coded domain value.


nwse
Contributor
Forum|alt.badge.img+1
  • Contributor
  • April 23, 2025
keith.addison wrote:

I came here with a similar question; I’m trying to write a bunch of domains to a spreadsheet but want the attribute name to reflect the original attribute name instead of “_resolved” (or any other suffix).  I can go into the User Attributes tab and just delete out the “_resolved” part, but that confuses the program and it then reverts to using the coded domain value.

You have to go into the attribute manager and remove the original field (with the coded domains), and rename the _resolved field by removing _resolved. 

Example:

I found that if you try to automate this by using BulkAttributeRenamer and strip the suffix ‘_resolved’ the values in the _resolved field replace the values in the original field.

I do not like having field ‘X’ and field ‘X_resolved’. When I used the BulkAttributeRemover to strip ‘_resolved’ from X, the values from that field replace the values in X. When I went to write using a GDB writer it gave an error. This is because X is still a ‘coded domain’ field in the schema. However, if you use a FeatureWriter instead of a ‘normal writer’, it will write successfully. I have no clue why.

The only way I found to get rid of _resolved, is to go into the attribute manager and remove the original coded domain field and rename the _resolved field. It is very tedious. I wish FME gave us an option to resolve domains and either remove or keep the original coded domain fields.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings