Select to view content in your preferred language

Detect Feature Changes

09-30-2015 03:17 AM
New Contributor III


After searching for tool to detect changes in road network I came across with this tool. I ran it on two time-different road databases. The results are graphic display and attribute table. In attribute table you get information for instances if there is attribute or spatial change. More about this tool you can read in ArcGIS Help.

For example: in attribute table that indicate changes are 622 features with attribute S which indicates spatial changes between old and new dataset. It can mean that new part of road was additionally build (road was upgraded) or destroyed for example.

What I would like to do is to select all ObjectIDs in old dataset that has attribute S in the table that indicate spatial changes and delete them also in old dataset.

I assume this can be done quickly with python. But I do not know much about python so I would appreciate your help!

0 Kudos
4 Replies
MVP Alum

Is there any reason you need to do this in python?

In an ArcMap edit session, just select the features (select by attribute) then delete.

If you want to use a tool, in ArcMap, use a definition query on the layer and save that to a lyr file.

Then use the lyr file as input to the Delete features tool.

New Contributor III

I tried this but it does not delete features in old dataset.

Solution I found could be to join tables of old dataset with table of detect changes, then use select by attributes and delete selected features (which have attributes S (spatial), SA (Spatial and attribute) and D (Delete). After that I selected new and spatially changed features from table of changes, export them load them in old database and got pretty good results.

0 Kudos
Esri Esteemed Contributor

What happens if you define a relate (rather than creating a join)? See: Essentials of relating tables—Help | ArcGIS for Desktop . It allows you to push a selection from one table to a related table. 

0 Kudos
Regular Contributor


the arcpy tool mentioned before (Detect Feature Changes—Help | ArcGIS for Desktop) can compare two feature classes for changes. But is it somehow possible to detect from the 'begin' to the 'end' of a session of the edit mode, which features have changed and pass that list on to arcpy?