ModelBuilder is an application you use to create, edit, and manage models. Models are workflows that string together sequences of geoprocessing tools, providing the output of one tool to another tool as input. ModelBuilder can also be thought of as a visual programming language for building workflows.
This model clips Soils to the StudyArea polygon, adds a new field, and calculates a value for the new field. While ModelBuilder is useful for constructing and executing simple workflows, it also provides advanced methods for extending ArcGIS functionality by allowing you to create and share your models as tools.
ModelBuilder can even be used to integrate ArcGIS with other applications. The following is an example:
The above model is used by a municipality to send email notifications to all addresses within 1 mile of an address for which a building permit application is filed. The model starts with a feature class of multiple permit application point locations. This feature class is fed into an iterator that loops over each individual point and feeds the point into the Select Layer By Location tool, where all addresses (parcels) within 1 mile of the point are selected. These addresses are then passed to a custom script tool (one that you or your colleague created), Generate Mailing List, that executes Python code to output a mailing list in HTML format. Finally, the mailing list is fed to another custom script tool, Send Email Notifications, which runs a custom executable that sends email notifications and produces a success code.
The benefits of ModelBuilder are summarized as follows:
- ModelBuilder is an easy-to-use application for creating and running workflows containing a sequence of tools.
- You can create your own tools with ModelBuilder. Tools you create with ModelBuilder can be used in Python scripting and other models.
- ModelBuilder, along with scripting, is a way for you to integrate ArcGIS with other applications.
If you've never used ModelBuilder, start with the Executing tools in ModelBuilder tutorial.
If you're interested in creating custom tools with ModelBuilder, see A quick tour of creating tools with ModelBuilder and the Creating tools with ModelBuilder tutorial.