We are a large Water Utility Company with 38 Enterprise Geodatabases and most of them employ a versioning setup. As A workflow, I am considering the use of a Python Script to automate the Reconcile and posting process. Can someone share with me there experience using this kind of workflow and is there a down side.
Solved! Go to Solution.
i am not in a water utility group, but do use Enterprise Geodatabases with versioning and topology. Our data is not in any logical network or tightly structured system.that is, our boundaries are typically based on drainages or sometimes seemingly random political boundaries. I mention that since, if a mistake was made but it didn't violate and topology rules or cause a conflict, if it was an automated process, we may not catch it. Luckily we only have two editors (me being the 2nd, and only on occasion), so manually doing a R&P it not a problem. ...and the control freak part of me likes to know what is being changed. With that said, I think there are many that probably do automate the process (and probably have many more editors).
If you're automatically posting the versions, keep in mind that there is no opportunity to review conflicts and that someone's unfinished edits might get posted and interpreted as final.
A little late to your post, but figured I'd put in my $0.02. Hopefully you've found a solution that will work for you!
We are a small-ish sized water utility: 27,000 service connections on over 600 miles of water main. I am using python to automate the reconcile-post process. It works well for us because there are only 3 of us editing at one time and rarely are there any conflicts. I perform QAQC edits in the DEFAULT version and favor all conflicts towards that version, and that's good enough for me. If the automated conflict resolution is a concern, you can set a parameter in the script process to abort if any conflicts are found, review the conflicts, then re-run the script. You might want to re-search the implications of aborting the process when a conflict is found. One problem of course is that usually you would want to run the script after-hours or on the weekends and now that possibly leaves you attached to reviewing conflicts after hours.
I built in error handling throughout the script and have it write to a SQL Server logging table the specific error that was found or if the script was run successfully. A SQL Server trigger on the logging table or function in python to send an email after an error is raised would take it to the next level; I have yet to do that....
In general, I have found automating the process to be a big help. There are many errors that can be introduced when doing this process manually, and hard-coding in all the steps in the right order has reduced a lot of headaches for me.