Hello Everyone!
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.
My ideal:
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!
Thank you,
Michael
How comfortable are you with Python? The Pandas module has a compare() function to compare datasets that works well for situations like this.
I am halfway through a certificate in python, so I am willing to try it!
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.