Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been working with the append tool inside arcpy and discovered that, even though I have domains constraining the values of some of my columns, I never receive an error when the domains are violated.

I've read through the documentation for the append tool, and it doesn't discuss this in any way. Other google searches have failed me in finding an article about this issue.

Have others had this problem?

Does anyone have references to articles that have discussed this problem?

Are there any strategies to ensure that domains are enforced properly?


Thanks for the great answers. It unfortunately seems that there isn't an easy way to validate features using arcpy. I can't make the switch to 10.2 because this script has to run on a variety of versions that aren't 10.2 (with no plans to upgrade soon).

Thanks to everyone's help, I was able to find this article about the sdelayer -o feature_info command. It seems like this command will at least give me a list of invalid features, but I haven't had the chance to try it yet. I'll update when I've played around with it.

share|improve this question

In 10.1, domains don't prevent incorrect values. You have to validate the values to flag them. The Help for 10.2 doesn't mention this, and would appear to enforce the behavior you're expecting, based on my reading.

share|improve this answer

There is a great Help page on loading features into an existing feature class. I suggest using for such situations Load Objects tool.

If you're loading into a feature class that has validation rules, such as attribute domain or geometric network connectivity rules, you can validate the features added and create a selection of the loaded features that are in violation of these rules.

The only trade-off is that you cannot use Load Objects as a GP tool, so there is no way to automate this; you are forced to use the GUI.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.