Select to view content in your preferred language

ArcGIS Pro Attributes pane: add functionality to better assist users with instances of invalid domain values

275
4
2 weeks ago
Status: Closed
Labels (1)
CalvinHarmin
Frequent Contributor

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:

CalvinHarmin_1-1758140042649.png

The point features showing the domain description values:

CalvinHarmin_2-1758140078183.png

The point features NOT showing domain description values:

CalvinHarmin_3-1758140169164.png

Point 2 selected - the Attributes pane correctly warns that the attribute value DESCRIPTION1 is not a valid domain value. 

CalvinHarmin_4-1758140298838.png

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.

CalvinHarmin_5-1758140352781.png

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?

CalvinHarmin_6-1758140690668.png

---


So after all that said -- what am I asking for?

  1. (main issue) Preferably, there would be updated behavior in the Attributes pane to help users resolve this exact issue. Whether there is an additional functionality in the Attributes pane that shows both base values of a field AND the domain description at the same time where users can directly 'override' whatever behavior is happening here; or better warning description that describes to the user how to switch the value to NULL (or some other domain value), and then choose the correct domain value. I'm not totally sure what this would look like in the end, but I'm just proposing there ought to be something that is more helpful.
  2. (side issue) Possibly require domain descriptions to be unique, the same way domain codes are checked for uniqueness? Maybe there are use cases that negate this... but if there are, they must be aware that they can't actually populate the secondary domain code through the Attributes menu/Attribute table if they do set things up this way, so I'm not sure what the point of that would be. 
  3. (bug fix?) Fix the issue where a domain code description value entered as the base value shows up in the Attributes pane as the domain code value (when 'Show domain and subtype descriptions' is off). Is this a bug? Maybe fixed in other versions of Pro?


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.

4 Comments
Scott_Harris
Status changed to: Closed

@CalvinHarmin 

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: 

Scott_Harris_0-1758198614579.png

#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 ).

CalvinHarmin

@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.

CalvinHarmin_1-1758201508117.png

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. 

Scott_Harris

@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). 

CalvinHarmin

Alright thanks, I will create the more focused idea as a new post.