Skip to main content
Solved

ESRI file GDB domain validation

  • 18 February 2013
  • 4 replies
  • 30 views

Afternoon All, 

 

 

I have a ESRI file GDB with domains set on a wide range of attributes. Somehow there are attribute values in FGDB that dont conform to the domain list. (possibly entered before the domains were registered).

 

 

I want to "Validate" that the values in all attributes conform to the domain values. 

 

 

I know there is the "Validate Features" options in the FGDB writer/advanced tab but this terminates the workbench on the first records it finds that does not validate. I want a list of ones that dont "Validate"

 

 

How do i construct a table or list of values, records that are not in the domain list. ( i have many attribute fields and many records and many tables). 

 

 

Thanks for your suggestions

 

 

Steve
Perhaps a few options. If you just want a one-time list that you can generate and then allow you to go and inspect your data or fix it at source try the UniqueValueLogger. It's a brilliant little custom transformer that sends a list of unique attribute values directly to the log window.

 

 

Alternatively you could use the Tester with a test clause like:

 

 

AttributeA In road, rail river

 

 

Uning the 'In' operator requires a list of values in which you are testing for a certain value. The Right Value is a comma-delimited list of values, or a range.

 

 

Features that have a value of road, rail or river will pass your test anything that is not valid will pass via the failed port and you can send those features for further work, perhaps to an AttributeValueMapper to reset them to an appropriate value.
Sorry, I also meant to say if you have the allowed values stored as an enumerated list somewhere already then you could also just read those in to your process and use the FeatureMerger to pass your data against the allowed attributes. Any that pass as 'Incomplete' will need to be dealt with as they are not part of the stored list of allowed values.

 

 

Hope that helps.
Hi,

 

Under the advanced tab on the writer parameters there is an option to validate features to write. Normally sub types are validated automatically, for domain descriptions and values, the validation option on the writer should be set to yes. 

 

You can try and combine this with the option to write failed feature to a file also set to yes.

 

Hope this helps

 


HI Itay and Dave, thanks for your responses. 

 

 

I like the idea of the UniqueValueLogger. I will give that a go and also try

 

Itays suggetsion of logging the failed records and then running the some stats on the out records. 

 

 

Thanks again

 

 

Steve

Reply