Skip To Content

ModelBuilder tutorial

In ArcGIS Pro, you can use geoprocessing tools to perform spatial analysis and manage your GIS data. ModelBuilder is used to create, edit, and manage geoprocessing models that automate those tools. Models are workflows that string together sequences of geoprocessing tools, feeding the output of one tool into another tool as input. ModelBuilder can also be thought of as a visual programming language for building workflows.

To build a geoprocessing model in ModelBuilder, add tools and data to a model view, and then make connections between them to establish the order of execution.

Open ModelBuilder

  1. On the Analysis tab in the Geoprocessing group, click ModelBuilder.
    ModelBuilder button

    A new blank model is opened. The model is created in your project default toolbox. You can resize, dock, or tile the model view in any position, as you would a map.

Add data

Models work with data, feeding the output of one geoprocessing tool into another tool as input. You can start building your model by first adding the data you want to process.

  1. To add data to your model, drag layers from the map Contents and datasets from Project into the model.

    The layers and datasets are added to the model and display as input data variables.

    Add a layer to a model

Add geoprocessing tools

Geoprocessing tools are a fundamental building block of your model. ArcGIS Pro has many geoprocessing tools for accomplishing an extensive number of GIS tasks. Once you know the right tools for the work you are doing, it is easy to add those tools to a model.

  1. To add a geoprocessing tool to your model, drag the tool from the Geoprocessing pane into the model.

    The tool is added to the model and typically displays as a gray rectangle, indicating the tool is not yet ready to run. In addition to the tool, any derived data variables that will be created by the tool are also displayed in the model diagram.

    Add geoprocessing tools to a model

Connect data and tools

Geoprocessing models are all about connecting data and tools into processes. You must specify which data variables in the model should be processed by which geoprocessing tools.

  1. Connect the data variables you added to the model directly to a tool by drawing a connection between them. You can also connect the output of one tool as input to another tool. To successfully make a connection, you must choose which tool parameter the data variable should be used for.
    Connect a data variable to a tool

    A connection line is drawn between the data variable and tool.

Change tool parameters

Just like when you run a geoprocessing tool in the Geoprocessing pane, tools in ModelBuilder have required and optional parameters. Required parameters must be specified for the tool to run within your model.

  1. Double-click a geoprocessing tool in the model to open the tool and modify the tool parameters. After specifying all required parameters, click OK to dismiss the window. The tool does not run when you click OK; it only saves the tool settings.
    Setting a tool's parameters in ModelBuilder

    When all of a tool's required parameters have a valid value, the tool element color will change to yellow, indicating that tool is ready to run.

Set model parameters

You can make any variable in a model a parameter. Output data variables that are set as model parameters are added to the map when the model is run inside ModelBuilder. Also, variables that are set as model parameters show as tool parameters when the model is run as a geoprocessing tool, allowing you to specify different data or values for your model to process than what was specified when the model was created.

  1. Right-click any variable in the model and select Parameter to make the variable a model parameter.

    An indicator (P) is displayed above the variable to indicate it is a model parameter, and a check mark displays next to Parameter in the variable context menu.

    Make a variable into a model parameter

Run the model

  1. Click Run in the ModelBuilder ribbon tab to run the entire model.

    While the tools in the model are running, a progress window displays to indicate which process is running and any messages. As a model is running, the actively running tool is highlighted in red.

    Tools and outputs that are run successfully are displayed with a drop shadow. Any output variables that have been marked as model parameters will be added to the last active map.

    Full model has been run
    All tools in the model have finished successfully.