When a domain is applied to a feature class field that may already be populated with values that do not match a domain code, or if someone accidentally uses Calculate Field to apply a domain description value instead of a domain code value, ArcGIS Pro could make the users' life much easier in helping to diagnose and update values.
Specifically, adding a functionality in the Attributes pane to be more helpful in cases where a 'base value' matches a domain description value would go a long way in quickly helping the user to see the issue.
I have created an extremely basic example below (ArcGIS Pro 3.2.5) to illustrate the point. I have a point feature class with a TEXTFIELD1 that has a domain assigned. You will notice that CODE2 has the same description as CODE1. This is a slight aside to bring up the issue that you can have multiple domain codes with the same description. The user can't select both from attribute value drop-down... so it just defaults to the first one in the domain list I assume.
Anyway, the super simple domain:
The point features showing the domain description values:
The point features NOT showing domain description values:
Point 2 selected - the Attributes pane correctly warns that the attribute value DESCRIPTION1 is not a valid domain value.
However, if you click the TEXTFIELD1 value pick list, and you select DESCRIPTION1, it will not update the base value to be the valid CODE1 domain value. It remains DESCRIPTION1. The only way to update the value to CODE1 is to flip the value to NULL (or some other domain value), and then choose the correct value; or, use Calculate Field and apply the CODE1 value that way.
And just to follow up on that side-note about CODE2 having the same description as CODE1 - there is no way to choose a value that resolves to CODE2.
Further, there is an inexplicably odd behavior where if 'Show domain and subtype descriptions' is off, the Attributes pane shows TEXTFIELD1 as the CODE1 value! What in the heck? What kind of sense are beginner or even intermediate users supposed to make of this?
---
So after all that said -- what am I asking for?
In conclusion: this is not really a fringe issue - I have dealt with it myself many times, my users are confused by this issue, and I have had consultant (GIS professionals) I'm working with struggle with it and I have to explain it to them.
EDIT: Additional note: I imagine this issue also affects users doing web map editing, and Field Maps. So if there can be functionality across the whole pipeline that helps users address domain value mismatch more easily, that would be great.
Here are some notes from my testing of the latest version of Pro (3.5),
#1 only occurs when there are duplicate domain descriptions, which is a bug https://support.esri.com/en-us/bug/when-accessing-the-attribute-editor-via-the-edit-and-at-bug-00017...
#1 also only occurs for me in the Attributes Pane, not in the table:
#2 sounds like a valid Idea/ENH for the Geodatabase. I would recommend entering a separate Idea for that, with the geodatabase label. Here is a related Idea for adding a GP tool: https://community.esri.com/t5/arcgis-pro-ideas/check-for-duplicates-in-coded-value-domain/idi-p/9646...
#3 Is a bug, I agree, and could be related to #1 but I will definitely investigate.
Since the issues with the Attributes Pane that you describe here are mostly caused by BUG-000173197, I'll close this Idea, as bug should be addressed by Support as a first step. Please contact them so you can follow the status of BUG-000173197. They can also help determine when the other issue may have been addressed within the Attribute Table (where fields that have duplicate domain descriptions, but have an invalid domain can't be fixed ).
@Scott_Harris Thank you for your quick response. I think these conclusions are only partly correct -- let's ignore the duplicate domain description issue:
When no duplicate descriptions are defined in the domain, there is still the issue where if a value of a field is the 'description' of a domain instead of the code, both the Attributes Table and Attributes pane will be unable to 'change' the invalid domain code (if it's the same as the description of a domain value), unless the value is switched to something else, and then can be switched to the valid domain choice.
This is confusing to many users because they 'see' they already have the correct value from the domain pick-list, at least apparently. I am asking for a better visual indication / helpful warning for users in this case for how to correct this issue from the Attributes pane.
I will provide another example that is common: a domain with code 'Y' and a description of 'Yes':
If the base values of the field with that domain applied is 'Yes' rather than 'Y', the Attributes Pane will show an error that 'Yes' is not a member of the coded value domain, but the pick-list available to them shows 'Yes' and when they select it nothing changes, so the user likely will be confused about what the problem is, unless they are veteran of domain issues and goes to the attribute table and turns off 'Show domain and subtype description' values and diagnose any non-'Y' values from there.
The main "Idea" I'm proposing here could be something as simple as a warning that "your base value matches a domain description 'Yes', but is not the correct domain code value of 'Y'. Do you want to update this to match the valid domain code 'Y'?"
Maybe even further: "Do you want to update all values of 'Yes' in this table to the valid domain code of 'Y'?"
IMO this is a very common issue, since sometimes domains are applied to data that is already populated with a 'description' value but the user defines a domain after the fact that uses a more simplified code value, or a code value with different character case than the description.
@CalvinHarmin Yes, that does seem like a valid suggestion to improve the software. Perhaps it's best to include the body of your last comment as a separate idea? - Just to keep the bugs (and the confusion caused by them separate).
Alright thanks, I will create the more focused idea as a new post.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.