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 by Esri using ArcObjects.
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 Project pane by browsing to the folder or geodatabase.
When you open a geoprocessing tool, the tool dialog is displayed in the Geoprocessing pane where you can enter parameters 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.Learn more about running geoprocessing tools
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 in the Geoprocessing pane in the Find Tools search box. The Geoprocessing pane also displays:
- tools that you have added to your Favorites,
- tools that you have recently run, and
- a list of Toolboxes, which includes system toolboxes and custom toolboxes you have added to your project.
When you click a geoprocessing tool, either from the Analysis gallery, the Project pane, or any other location in the app, the tool opens in the Geoprocessing pane.Learn more about finding geoprocessing tools
When you run a geoprocessing tool, an entry is created in the project's Geoprocessing History that contains detailed information about the tool, such as all input and output parameters and execution messages. You can view geoprocessing history in the Project pane, or by clicking the Analysis>Geoprocessing>History button. The entries under the geoprocessing history are sorted in the order they were run (top-to-bottom, from most recent to the oldest).
You can double-click any of the entries to reopen the tool with the exact parameter settings that were previously used.Learn more about geoprocessing history
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 User Connection, then expand the server connection under the Servers node of the Project 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 Services, and allow you to run a number of advanced analysis tasks such as
- Routing, drive times, and other street network analysis (http://logistics.arcgis.com/arcgis/services)
- Profile, viewshed, and other elevation analysis (http://elevation.arcgis.com/arcgis/services)
- Watershed and stream tracing (http://hydro.arcgis.com/arcgis/services)
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 Project pane, switch to the Portal tab, and either browse the contents or search for the web tool by name. Learn more about using a web tool
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 Output 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.Learn more about ModelBuilder
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 inside the application by creating a Python script tool.