I am tasked with updating our road centerline feature class regularly, and I am trying to find the most efficient way to detect and compare changes in attributes values.
A workflow/tool that will let me detect the segments that have attribute value changes, and allow me to easily compare those changes to make sure those changes are valid.
Things to Note:
So far I have tried:
Please let me know if you have good suggestions!
How comfortable are you with Python? The Pandas module has a compare() function to compare datasets that works well for situations like this.
You could probably start testing it out in an AGOL Notebook. Check out the compare() docs for reference. The two input datasets have to have the same length in order to be compared, but that's pretty easy to do in Pandas.
import pandas as pd df1 = pd.DataFrame('old-data-source') df2 = pd.DataFrame('new-data-source') for df in [df1, df2]: df.set_index('roadsegID', inplace=True) # Optional section in case there are different row counts between the frames df1 = df1[df1.index.isin(df2.index.to_list())] df2 = df2[df2.index.isin(df1.index.to_list())] # Compare frames comp = df1.compare(df2) comp
That'll spit out a dataframe of rows which have difference in some column and columns which have a difference in some row. Good luck!
I should say, too, that there are more elegant ways to handle that optional section, but not knowing your schema or data, I went with that. As you test things out, you'll figure out the way you like to do it.