We have template geodatabase, which we send out to our regional Data creators. They update these geodatabases and digitize all the data from their region in the predefined featureclasses.

Now that we have got the File geodatabases, we find that often many of the featureclasses have been modified. Maybe a field might be added or removed. In some cases, the Feature-class itself is deleted or a new one created.

I would like to get a report indicating which feature-classes and tables are changed, as well as the differing Fields in the common tables & featureclasses.

I have already looked at several questions such as:

But the answers given in these Questions have not been helpful.

  • I'm not sure of the protocol here at SE with necroing topics, but I had a related question to yours, Devdatta: Is there a tool that takes your solution from the X-ray add-in and resolves the differences between the GeoDBs/XML? – Kyle Shepard Jul 30 '13 at 19:52
  • @KyleShepard The usual procedure is to ask a new question, for a new issue. You can link to an old question if it contains related information. And to answer your question, I have not found anything like that. Maybe you could ask a new question, and somebody who has found something would answer it. – Devdatta Tengshe Jul 31 '13 at 3:57

There is a wonderful Add-in called X-ray for ArcCatalog. It has many features, but the one we ended up using was the 'Analyze Difference' tool from the Tools menu.

It finds for you the difference between a Geodatabase and an XML workspace Document. We just exported the schema of our Template Geodatabase to XML, and compared the different Geodatabases to it.

It hardly takes a couple of seconds to show a nice report with all the feature classes and fields that are missing or different in the two geodatabase.

| improve this answer | |

I think writing a python script would suite best for what you are trying to figure out. Below is a general script work flow:

First compare geodatabase 1 (geo1) to geodatabase 2 (geo2)

  1. Search/loop through geo1 and get feature class (fc) 1 name and look for same fc name in other geo2 (if fc1 name cannnot be found in geo2 then write first fc name to text file)
  2. If step 1 fc1 == fc2 name then list fields in fc1 and search for fields in fc2, if fc1 field name cannot be found in fc2 then write fc1 field name to text file
  3. Next, search or list domain within geo1 and then look for same domain name in geo2, if geo1 domain == geo2 domain then get first coded value of domain 1 and see if it exist in domain 2, if not then write out geo1 domain name or domain coded value to text file.

Second in reverse compare geo2 to geo1

Follow steps 1-3 above but in reverse order geo2 to geo1

After script is done inspect result text file for possible discrepancies.

| improve this answer | |

It sounds like you already have a good answer. But for anyone else who's looking to understand their geodatabase schemas, I can also recommend the ArcGIS Diagrammer, a stand-alone program written by one of the Esri team.

ArcGIS Diagrammer is a productivity tool for GIS professionals to create, edit or analyze geodatabase schema. Schema is presented as editable graphics in an environment familiar to users of Microsoft Visual Studio. Essentially ArcGIS Diagrammer is a visual editor for ESRI’s xml workspace documents that can be created in ArcMap or ArcCatalog.

| improve this answer | |
  • to clarify, it doesn't require Visio - but it looks a bit "familiar to users of Visio" in that he's used a similar layout – Stephen Lead Mar 13 '13 at 4:42
  • Yes you are right. Looks like I was mistaken. – Devdatta Tengshe Mar 13 '13 at 5:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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