Would like to know if Model Builder or a Python Script would be better for pulling dozens of fc from ArcSDE into a single .gdb file ? The tool will need to be run on a regular basis.
1 Answer
Well, the answer to that really is "It depends".
Both options are very viable solutions for your problem and would likely fully be able to meet your needs. However, some things you should consider when making this decision:
Model Builder uses the graphic user interface of the geoprocessing tools you are likely already used to using and the parameters in the interface had dropdowns menues, check boxes, and accesses data source information (ex: list of available feature classes) directly while working with it in the interface. Therefore, if you frequently will have to adjust the tool you may want to consider Model Builder out of ease/simplicity of use. Also, if you are wanting to run this process while in ArcMap/ArcCatalog Model Builder built tools will let you execute the model directly with a familiar graphic interface to adjust any model parameters, whereas to do the same with a script would require you to bring it in as a script tool and map the parameters, write any appropriate validation code, etc...
On the other hand though, if you are experienced with Python, you do have a bit more freedom with customizing the workflow to best suit your needs. For example, if in addition to the copying you wanted a detailed log recorded of what exactly was copied from where to where and then you wanted it emailed to your co-worker who you are preparing it for letting them know what was copied and that it's available, pending successful execution of the script... well you could do that in model builder but doing the same would be significantly more challenging and inefficient to attempt in model builder. Also, if you are wanting to schedule the tool to execute at a specified time with Windows task scheduler, a python script may be a better option. You can schedule a python script to execute directly within task scheduler, but if it's saved as a model you will still have to write a python script that, at the very least, is a wrapper for the model (a python script that imports your custom toolbox and calls on the model to run). This would still require writing a python script though, so you may just want to write it all in python.
Finally though, remember that using various ArcMap and Model Builder options, there are often ways to successfully take either individually executed geoprocessing tasks or full models and export them out as python code that you could either use directly or use as a reference for writing your own script. Be careful when using this software generated code of course as in the export some things may get corrupted or just changed, but it can be a good starting point if you're less familiar with arcpy or just having some trouble with the syntax for certain geoprocessing tools.
I hope that helps, and let me know if I need to clarify anything.