Every month I have to QA/QC some streets data for an entire county (over 47,000 records). The first step is to compare the two files. Currently, I'm using a tool that was created in house via VBA approx 5 years ago. It works compares the two files and reports back the differences based on a few factors (added records, deleted records, address changes, city changes, segment length/vertices changes). I then export these to individual shapefiles. Additionally, the tool works in
ArcGIS 9.3 but will no longer work in
The tool works great, but it takes approximately an hour to complete.
I've started to work on hopefully improving this tool to speed up the performance. I've looked into a variety of methods including the
Compare Feature Tool and
Select by Location.
Both of these tools work significantly faster, however, they don't seem to capture everything that I need. The big issue I have with the
Compare Feature Tool is that I cannot choose which field to compare on. It defaults to ObjectID when I need to compare by Segment_ID. There isn't an option to select that.
Does anybody have a good solution or ideas on how to achieve a full compare like I've described?
For some reason, ArcGIS isn't recognizing the join that I'm attempting per RyanDalton's answer.
Taking the advice of a join I have figured out how to find the added records and deleted records differences in the two files by:
- Joining the Previous Month shapefile to the Current Month shapefile via the Segment_ID field
- Performing a definition query where Segment_ID IS NULL
- Exporting that to a new shapefile (Added Features)
I then reverse the joins and find the Deleted Features
Still working on a way to find the other differences listed and then string them all together in a model.
UPDATE 2 I can find all records that have changed by performing a select by location records from one of the datasets that are identical to the other dataset. I then switch the selection and it gives me all the records that are not identical.
I'll put it all in a model and hopefully it works just as well.