ArcGIS 10 features user-friendly enhancements for shortcutting some of the clicks involved with performing geoprocessing tasks. Of course, if you know how to write scripts using the new ArcPy site package (or have the time and inclination to learn Python scripting), you’ll find the integration of Python into ArcMap a powerful way to automate geoprocessing workflows (and save yourself and your colleagues a lot of time).
One of the first things you may notice when you open ArcMap 10 is a new item on the Standard menu. The Geoprocessing menu provides direct access to six commonly used geoprocessing tools (Buffer, Clip, Intersect, Union, Dissolve, Merge). It’s also your ticket to specifying geoprocessing options and environment settings that are applied at the application level (you can still override application-level environment settings for individual tools and models when you need to).
So at version 10 you no longer have to remember which toolbox and toolset contains the Dissolve tool or waste keystrokes typing into the search box. The Dissolve tool is now just two clicks away.
One item on the Geoprocessing menu that’s easy to overlook if you don’t know about it is Results. The Results window provides an “interactive” history of the geoprocessing operations you have run—either in your current ArcMap session or in previous sessions that are within the timeframe specified in the Geoprocessing Options dialog box.
When you open the Results window and expand your session results, you see not only which tools you ran but also the inputs, outputs, environment settings, and other tool parameters that were used.
It’s interactive because you can open a tool dialog box directly from the Results window, change any input parameters you want (or use the same parameters), then run the tool again. Using the Results window is a very fast way to test out different tool parameters on the same data or perform the same geoprocessing operations on different data.
And if you are a scripter, from the Results window you have the option to copy geoprocessing tool results as Python snippet code. You can paste snippets into the script editor of your choice, and it’s then an easy matter to create a custom script tool that you can share with your coworkers or post to the gallery on the Geoprocessing Resource Center.
- Non-scripters, think about pasting the snippets into a text editor and e-mailing the file to your office Python guru for packaging into a custom tool.
Being able to access a detailed record of your geoprocessing operations, with tool inputs pre-populated, is a powerful timesaver when you need to repeat the same workflows.
Batch processing? Batch processing is not new at ArcGIS 10, those of you in the know are thinking. OK, it must be conceded, batch processing is not new at version 10. But it is easier now thanks to the Catalog window, and it’s such a timesaver it had to be in the top three.
When you need to perform the same geoprocessing operation multiple times, whether on one dataset or on multiple datasets, batch processing is the way to go. Suppose you need to add four fields to a feature class table. Here are the clicks to do this work once instead of four times:
- In the Catalog window, navigate to the Add Field tool (Data Management Tools > Fields toolset).
- Right-click Add Field and choose Batch.
- From the Catalog window, drag the input table into the Add Field batch dialog box and press your right arrow key (or click) to go to the Field Name cell.
- Enter a field name, right arrow over and click in the Field Type cell to choose the field type. Specify other settings for the new field as needed.
- Click the plus sign button to add the second field and repeat the process until all four fields have been added and defined.
- Click OK to run the tool in batch mode.
Voila! The task is completed in just a couple of minutes. And the next time you need to add multiple fields to a table, you can simply open the Results window, open the Add Field tool, delete the old field definitions, then start defining the new fields. And then you could save the Python snippets to an editor, create a custom script tool, and add that tool to the Geoprocessing menu—but that’s a topic for another post.