A geoprocessing tool is a command or function that performs an operation on GIS data. There are three types of tools, as shown in the table below. All tools can be open and run from the Geoprocessing pane, and you can use any tool in ModelBuilder or call it from a Python script.
Built-in tools are built internally by Esri.
Model tools are created in ModelBuilder.
Script tools run a script file on disk, usually a Python file (.py).
Geoprocessing tools can be system tools built by Esri and included in ArcGIS products, or custom tools built as script or model tools by you and other users. You can use both custom and system geoprocessing tools in the same ways.
Geoprocessing tools are stored in toolboxes . Tools in a toolbox can be placed in a toolset, which is like a folder inside a toolbox. Like tools, a toolbox can be a system or custom toolbox.
System toolboxes are built by Esri and included in ArcGIS products. They reside in the ArcGIS installation directory and can be found in the Geoprocessing pane under Toolboxes.
Custom toolboxes are created by you, someone in your organization, or the user community. They can reside in any folder or geodatabase. You can view custom toolboxes in the Catalog pane by browsing to the folder or geodatabase.
When you open a geoprocessing tool, the tool dialog is displayed in the Geoprocessing pane. The tool dialog is where you specify parameters and environments and run the tool.
A tool can have few or many options or parameters. Each parameter is presented with a control for such tasks as selecting datasets, typing a number, or picking from a choice list.
Each of these parameters has help which you can view by hovering over the information icon next to the parameter.
When you use a geoprocessing tool, the values you have specified for each of the parameters is checked to make sure it is valid, and warnings or errors will be raised if there are problems. This process is called validation.
The Geoprocessing pane is where you find and run geoprocessing tools. It is a dockable pane that you can pin to any location in the application, float, or pull to another display. The best way to find the right geoprocessing tool for your task is by searching for the tool in the Geoprocessing pane. The Geoprocessing pane also displays the following:
- Geoprocessing tools that you have added to your Favorites tab
- Geoprocessing tools that you have recently run
- A list of toolboxes on the Toolboxes tab, which includes system toolboxes and custom toolboxes you have added to your project
- A list of toolboxes and tools available through your portal on the Portal tab
Geoprocessing tools open in the Geoprocessing pane, where you can specify input and output parameters and environments and run the tool.
When you run a geoprocessing tool, an entry is added under the Geoprocessing tab of the History pane. A history entry contains detailed information about the tool, such as all input and output parameters and messages.
You can double-click any of the history entries to reopen the tool with the exact parameter settings that were previously used.
Geoprocessing services are another kind of geoprocessing tool. To use geoprocessing services, you must first make an ArcGIS Server connection to a server. These tools can be used just like any other geoprocessing tool, the only difference is the tool is executed on the ArcGIS Server. To start using geoprocessing services, add an ArcGIS Server connection, then expand the server connection under the Servers node of the Catalog pane and double-click any tool to open it in the Geoprocessing pane.
You can connect to and use a number of geoprocessing service tools that are hosted on ArcGIS Online servers. These tools are called Ready To Use tools and allow you to run a number of advanced analysis tasks using Esri-curated worldwide data. These services include the following:
- Routing, drive times, and other street network analysis—http://logistics.arcgis.com/arcgis
- Profile, viewshed, and other elevation analysis—http://elevation.arcgis.com/arcgis
- Watershed and stream tracing—http://hydro.arcgis.com/arcgis
To access the ready-to-use services, use the Ready To Use Tools gallery on the Analysis ribbon tab, or add an ArcGIS Server connection to one of the server locations above. You must be signed in to an ArcGIS organizational account and have analysis privileges set on your account. These services use ArcGIS credits.
A web tool is another kind of geoprocessing tool, that is accessed through an ArcGIS portal. A web tool is a portal item that represents a geoprocessing service that is running on an ArcGIS server federated with your portal. You can share a tool as a web tool to allow others in your organization to run your analysis through the ArcGIS server.
Web tools can be used by a number of ArcGIS platform clients. To the use a web tool in ArcGIS Pro, open the Catalog pane, switch to the Portal tab, and either browse the contents or search for the web tool by name.
Geoprocessing environment settings can be thought of as additional parameters that affect the execution of a tool. Geoprocessing environments are typically set once using the project Environments window and are used by all geoprocessing tools when they are executed. The geoprocessing environments set for the project are saved with the project and apply to all geoprocessing tools that are used while working in that project.
Environment settings can significantly affect geoprocessing tools. For example, you can set the Extent environment so only the features in the current map extent are used in tool execution. Or you can set the Output coordinate system environment so your tool output is automatically projected to a different coordinate system.
Models and ModelBuilder
ModelBuilder is a visual scripting language which allows you to build new tools that model your geoprocessing workflow. In ModelBuilder, you can chain together geoprocessing tools in a sequence, feeding the output of one tool as the input to another. Building ModelBuilder tools is done inside a model view, which is a diagram where each of the processing tools and data elements is visually represented.
Scripting and Python
You can write scripts that run geoprocessing tools and automate a wide variety of GIS tasks using the Python scripting language. A program that uses a scripting language is a script. Scripts are created with a text-based language and edited in any text editor or an Integrated Development Environment, or IDE. Python is the scripting language used by ArcGIS, and ArcGIS includes a Python package, ArcPy, that adds ArcGIS functionality into Python. ArcGIS Pro uses Python 3.x.
In the geoprocessing framework, scripts are analogous to models in that you can write a script that runs multiple geoprocessing tools and uses other functions and logic to automate your geoprocessing workflow. Once you've written a script, you can make it into a geoprocessing tool and run it by creating a Python script tool.