Friday, August 1, 2014

Creating Custom Tools

Say you have a script that you want to share with other users.  This script can be sent to another user and they can run the script.  But what if that script needs to have a variable parameter.  In a stand-alone script, the user would have to edit the script file and have some knowledge Python.  Wouldn't it be better to create a GUI tool that the end user could easily pull up in ArcMap and change those variables without having to know Python?  Creating a custom tool can do just that.  Many times users of ArcMap are not always well versed of the ins and outs of GIS, geoprocessing or Python programming.  A custom tool can be configured to choose specific parameters and perform functions detailed in the associated script.  A custom tool can be used in ModelBuilder to manipulate geoprocessing functions whereas a stand-alone script cannot. Additionally, print messages in a stand-alone script are only visible in an interactive window.  With a custom tool, print commands can be viewed in the Results window.

Our assignment this week was to create a custom tool based on a given script.  First we needed to create the toolbox and a script to it.  Then we associated a script file to the tool.  Parameters must be defined in the tool that correspond to the parameters in the associated script.  Once the parameters are established, clicking on the script tool will produce the following screen.

Script tool with established parameters

 A stand-alone script cannot run certain commands within a script tool.  For example, a simple print command such as print "Clipping", inname.name, must be modified to properly run in the script tool.  The arcpy.AddMessage function takes the place of the print command and commas are replaced with the plus symbol.  As you can see in the results below, printed messages can be viewed in the results window of a script tool.

Viewed messages in the Results window

No comments:

Post a Comment