Essential geoprocessing vocabulary


A tool performs a small, essential operation on GIS data. There are four types of tools, as shown in the table below. All tools, regardless of their type, work the same way; you can open their dialog box, you can use them in ModelBuilder, and you can call them from software programs.

Tool type


Standard Tool

Built-in tool. These tools are built using ArcObjects and a compiled programming language like .NET.


Model tool. These tools are created using ModelBuilder.


Script tool. These tools are created using the Script tool wizard and run a script file on disk, such as a Python file (.py), AML file (.aml), or executable (.exe or .bat).

Specialized tool

Specialized tool. These tools are rare—they are built by system developers and have their own unique user interface for using the tool. The ArcGIS Data Interoperability extension contains specialized tools.

In addition to tool types, there are two categories of tools:

Tool category


System tools

System tools are those tools built and delivered by ESRI. They are installed by ArcGIS or any of its extension products. Almost all system tools are built-in tools, but you will also find system tools that are script or model tools. For example, the Spatial Statistics tools are all script tools, but since they are built and delivered by ESRI, they are considered system tools.

Custom tools

Custom tools are built by you. These are most often script or model tools, but they can be built-in tools as well. There are an infinite number of custom tools. You can download custom tools that other users have built by visiting the Model and Script tool gallery found on the Geoprocessing Resource Center. You can access the Geoprocessing Resource Center at

Since all tools work the same way (that is, you can open their dialog box and use them in ModelBuilder and the Python window) you rarely need to know whether a tool is a system or custom tool. There is no immediate way to find out whether a tool is a system or custom tool. Here are a few clues, however:

As you use geoprocessing tools, you'll quickly develop a sense of which tools are system tools versus custom tools.


Tools are found in toolboxes. Toolboxes contain tools and toolsets. Toolsets are simple organization folders, just like folders on your system. Tools cannot be stored in anything but a toolbox. Like tools, there are two categories of toolboxes, system and custom.

Toolbox category


System toolboxes

These are toolboxes installed by ArcGIS. They reside in the ArcGIS installation directory and can be found in the Catalog window under the Toolboxes node or in the Search window, as illustrated below.

Custom toolboxes

Custom toolboxes are created by you. They can reside in any folder or geodatabase. You can view them in the Catalog window by navigating to the toolboxes parent folder or geodatabase. You can also view them in the Search window, as illustrated below.

Viewing system and custom toolboxes in the Search window

Tool dialog

Every tool has a dialog, and the most common method for executing a tool is by using its dialog.

Result window

When a tool executes, it creates a result that contains information about the execution of the tool such as all input and output parameters and execution messages. You can view the result of a tool in the Result window.

Learn more about the Results window


Environment settings can be thought of as additional parameters that affect the execution of a tool. Environments differ from normal tool parameters in that they do not appear on a tool's dialog (with certain exceptions). Rather, they are values you set once using a separate dialog and are used by tools when they are executed.

Environments settings can significantly affect tool execution. For example, you can set the Extent environment so that only the features in the current map extent are used in tool execution. You can set the Output Coordinate System environment so that your tool writes its output features in a different coordinate system from the input features.

Learn more about geoprocessing environments

Models and ModelBuilder

In geoprocessing framework, ModelBuilder is how you quickly and easily turn your ideas into software by chaining together tools into a sequence, feeding the output of one tool to the input of another. Models that you build can be thought of as software, since they instruct the computer to do something. The programming language is visual—what you see in ModelBuilder—rather than text-based like a traditional programming language.

The most important thing to note here is that models are tools. They behave exactly like all other tools in the system. You can execute them in the dialog box window or in the Python window. Since models are tools, you can embed models within models. In fact, several of the system tools provided with ArcGIS are models.

Scripting and Python

You can also use a scripting language and geoprocessing tools to create new, useful software. A program that uses a scripting language is a script. Scripting languages are easy to learn and use—a basic understanding of programming logic is all that's needed to be productive. Python is the scripting language used by ArcGIS.

In the geoprocessing framework, scripts are analogous to models in that they can be used to create new tools. Models are created with a visual programming language (ModelBuilder), and scripts are created with a text-based language and text editors.

Just like models, scripts are tools. You can introduce a script to a custom toolbox using a step-by-step wizard, and it becomes just another tool that you can use in a model or in another script. Several of the system tools are scripts.

Learn more about writing scripts

Published 6/8/2010