See What Changed and Where It Changed

5247
9
11-15-2019 02:26 PM
BruceHarold
Esri Regular Contributor
4 9 5,247

Dataset management in ArcGIS has plenty of supporting tools and workflows, but when you don't have control for any reason you may be the person who has to figure out what data changed, and where.

 

This blog is about a tool published in the ArcGIS Online sample galleries for bulk change detection between pairs of feature classes.

 

My first example datasets are two parcel feature classes, where one has been revised with survey and subdivision work, but without any edit tracking fields - the data is not managed in ArcGIS.  The maps are named for their content, Original has the old data, Revised has the new data.

 

 

The two datasets have about 650,000 features each over a huge area, so visual comparison is impossible, especially as I need to compare attributes too.  The Feature Compare geoprocessing tool is an option if my data has a unique key field to sort on (it does) but its output is a table, I want features.

 

The Pro Change Detector tool delivers flexible change detection between two feature classes with your choice of attribute and geometry comparison, and outputs feature classes of Adds, Deletes, Updates and NoChanges (Updates are only detectable if the data has a unique key field separate to ObjectID; without a key field updates are output as spatially overlapping deletes and adds).

 

The tool requires the ArcGIS Data Interoperability extension, but you don't have to learn to drive the Workbench application delivered with Data Interoperability, this sample is just a normal Python script tool.

 

For my parcel data I chose all the attributes to be considered as well as geometry:

 

 

Then 7 1/2minutes later after comparing ~650,000 features per input I had my change sets:

 

 

You can compare any geometry type but if you are going to do change detection of multiple pairs of feature classes be sure to change the output objects names as the tool will overwrite its outputs.  Alternatively, keep your data in separate project databases (see below).

 

For a second example I decided to 'go big' and compare two street address datasets each with about 2 million features and a lot of attributes:

 

 

Now its 22 minutes to find a couple of thousand changes to 2 million features:

 

 

...and in the map it is easy to find a locality where subdivision has resulted in new addresses being created - see the extra address points in the Revised map:

 

 

To use the tool your data must be in a single File Geodatabase, here is how my Catalog pane looks, note to preserve my change sets I used two separate databases in the Project.

 

 

The tool was created with ArcGIS Pro 2.5 beta 2 software (sharp eyed people will see the new style geoprocessing Details view above) but works in Pro 2.4.  You will need ArcGIS Data Interoperability installed and licensed, and you'll need permission to copy a file into the install of your Pro software, please see the README file in the download.

 

Now go detect some changes and comment in this blog how you get on!

Edited 2/8/2021 to replace the .pth file with one suitable for Python 3.7 in Pro 2.7+

9 Comments