My office has about 100 GB of geospatial data of varying forms (imagery, feature classes in geodatabases, LIDAR, tables, etc) that have gone somewhat unmanaged for the decade during which they were collected. I have now been put in charge of inventorying and restructuring the data. The data is stored on the filesystem and is unversioned, but many datasets and geodatabases have been copied to new places without additional metadata describing what or why.

Without going into what we should have done or how to structure it in the future (I'm working on it), I'm trying to figure out if there is a decent way to compare the feature class data and geodatabases when I encounter a copy to determine what changed between the two copies. I can use Beyond Compare to compare many of the types of data. I came across a few GIS.SE questions on the topic of comparing specific items, but I don't know that they would work - at least not without further scripting, which isn't desirable but is an option.

  1. Getting differences between old and new versions of ArcSDE database?
  2. How can one compare two geometries in arcpy successfully? (this one could work with finessing, but I'm hoping for something better)

I realize that the comparison is a pretty difficult operation given all of the different types and properties of GIS data, but I'm hoping for something that can at least handle differences in spatial location, associated data tables, and ideally metadata. Commercial software, on the one end, and relatively barebones code on the other, are both ok for me.

Does this even exist?

Edit: Just to be clear - we're using ArcGIS 10.0 and 10.1 - I'm happy to use solutions that involve other open source or commercial providers too, but any ESRI solutions would need to be compatible in 10.0. Also, our data are not currently in a true database (SDE, postGIS, etc), but I'm willing to move the stuff I want to compare into another format if it means I can compare it.

2 Answers 2


I just re-read this question today in a different form.
For Non-versioned data there is the differ which was created for 9.3
schema mapping and documenting tool

  • Thanks for the pointer to Differ - I'll take a look at it - we're mostly using 10.0, so I hope it work!
    – nicksan
    Jan 29, 2013 at 21:17
  • 1
    I contacted the author of Differ, who said there are no updates for 10.x environment, and implied he'd take it offline if he could, as he doesn't intend to support it. He also pointed to the Data Comparion Toolset as something which works in the same problem domain. Jan 29, 2013 at 22:45
  • if you are looking for just schema differences I have been using the arcgis diagrammer to move xml in and out of. it is not easy but works for restructuring schema. see link above
    – Brad Nesom
    Jan 29, 2013 at 23:02
  • Thanks @MattWilike and Brad. This was the information I'm looking for. Of course the answer I'm looking for would end up involving the builtins. Thanks for the info on differ being discontinued. Brad, I'm mostly looking for data and feature differences, but occasionally, I'm also going to want schema differences, so that's useful
    – nicksan
    Feb 6, 2013 at 15:09
  • I will look. I used a model builder script to compare geometry changes and then attribute changes on 9.1. I wouldn't expect the script to work but it would be good direction for you to build from. It has been since 07 since I've seen it, but I never throw anything away.
    – Brad Nesom
    Feb 7, 2013 at 2:00

The Versioning Toolset should help you manage your datasets


concepts/change detection

Alter Version - Alters the database version's properties of name, description, and access permissions.

Change Version - Each input feature layer or table view will have its workspace modified to connect to the requested version.

Create Version- Creates a new version in the specified geodatabase.

Create Versioned View - Creates a versioned view on a table or feature class.

Delete Version - Deletes the specified version from the input workspace.

Reconcile Versions - Reconciles a version or multiple versions against a target version.

Register As Versioned - Registers ArcSDE dataset as versioned.

Unregister As Versioned- Unregisters an ArcSDE dataset as versioned.

reference: http://resources.arcgis.com/en/help/main/10.1/index.html#/An_overview_of_the_Versions_toolset/0017000000p3000000/

  • 1
    Thanks for the pointers - I'm looking for tools that help me detect changes in data that has been unversioned for about 10 years. I'll be versioning data in the future, but for now, I need to decide what data to keep from the past.
    – nicksan
    Jan 29, 2013 at 21:15
  • some reaason I don't like dv. maybe they could be beige.
    – Brad Nesom
    Jan 29, 2013 at 23:05

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