Using a Python Script to Reconcile and post

6794
24
Jump to solution
05-11-2017 04:29 PM
LarryAdgate
Regular Contributor

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.      

0 Kudos
1 Solution

Accepted Solutions
24 Replies
RebeccaStrauch__GISP
MVP Emeritus

Tagging a few groups that may have more experiences with Water Utilities specifically ArcGIS for Water Utilities‌  Utilities and Communications

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). 

0 Kudos
MitchHolley1
MVP Regular Contributor
BlakeTerhune
MVP Regular Contributor

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.

LarryAdgate
Regular Contributor

Hi Blake, Thank You for your comments,

Larry

0 Kudos
CortWilson
Frequent Contributor

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.

LarryAdgate
Regular Contributor

Thank You Cort  for your comments,

Larry 

0 Kudos
RebeccaStrauch__GISP
MVP Emeritus

dcortwilsonpud   Do you have any sample code that you can share? 

0 Kudos
LarryAdgate
Regular Contributor

I also echo Rebecca's request,

Larry

0 Kudos
CortWilson
Frequent Contributor

LarryAdgate‌ & rastrauch

What's the best way to share this script? Can't seem to figure out how to attach to this post....

I could email it if that works?

0 Kudos