{"id":451202,"date":"2019-03-13T08:00:20","date_gmt":"2019-03-13T15:00:20","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=451202"},"modified":"2022-07-20T17:08:06","modified_gmt":"2022-07-21T00:08:06","slug":"my-first-impressions-of-modelbuilder-in-arcgis-pro","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro","title":{"rendered":"My First Impressions of ModelBuilder in ArcGIS Pro"},"author":7121,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23341,23851],"tags":[348802,24321,24331,348792,348812],"industry":[],"product":[36561],"class_list":["post-451202","blog","type-blog","status-publish","format-standard","hentry","category-analytics","category-data-management","tag-diagram","tag-geoprocessing","tag-modelbuilder","tag-repeatable-workflow","tag-stored-process","product-arcgis-pro"],"acf":{"short_description":"Running a multi-step procedure of geoprocessing tools over and over again?  ModelBuilder lets you store your entire process!","flexible_content":[{"acf_fc_layout":"content","content":"<p>For a current project of mine about redistricting, I have a six-step sequence of geoprocessing tools that I need to run for every state using ArcGIS Pro.\u00a0 Each tool has multiple parameter options that I need to set a specific way.\u00a0 I counted all the clicks I had to do for one state \u2013 21.\u00a0 Even more time consuming was the amount of running time in between all the tools that I was using, especially for the larger states.\u00a0 I do not want to do this manually 50 times!\u00a0 Fortunately for me, there\u2019s ModelBuilder.<\/p>\n<p>ModelBuilder allows you to string together multiple steps of a process by building a diagram that depicts your desired workflow.\u00a0 If you\u2019re familiar with graphical programming environments, or visual programming languages that use block diagrams, then you may find ModelBuilder to be similar.\u00a0 I was not used to such environments.\u00a0 I\u2019ve spent the past decade using command-line interfaces to write macros and for-loops, so when I learned about ModelBuilder, I was intrigued.\u00a0 I learned that it\u2019s a great way to make your workflow repeatable while also making a great visual representation of the whole sequence.<\/p>\n<p>If you want to automate a multi-step geoprocessing workflow, I encourage you to use ModelBuilder.\u00a0 In addition to having a stored process, you\u2019ll also get a visual representation of your workflow.\u00a0 To create a new model, click on ModelBuilder in the Analysis ribbon:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":451232,"id":451232,"title":"ModelBuilder_Ribbon","filename":"ModelBuilder_Ribbon.png","filesize":66664,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/ModelBuilder_Ribbon.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\/modelbuilder_ribbon","alt":"Location of ModelBuilder on the Analysis ribbon within the Geoprocessing group.","author":"7121","description":"","caption":"Location of ModelBuilder on the Analysis ribbon within the Geoprocessing group.","name":"modelbuilder_ribbon","status":"inherit","uploaded_to":451202,"date":"2019-03-05 01:01:46","modified":"2019-04-12 20:11:57","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1065,"height":370,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/ModelBuilder_Ribbon-150x150.png","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/ModelBuilder_Ribbon.png","medium-width":464,"medium-height":161,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/ModelBuilder_Ribbon.png","medium_large-width":768,"medium_large-height":267,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/ModelBuilder_Ribbon.png","large-width":1065,"large-height":370,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/ModelBuilder_Ribbon.png","1536x1536-width":1065,"1536x1536-height":370,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/ModelBuilder_Ribbon.png","2048x2048-width":1065,"2048x2048-height":370,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/ModelBuilder_Ribbon-826x287.png","card_image-width":826,"card_image-height":287,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/ModelBuilder_Ribbon.png","wide_image-width":1065,"wide_image-height":370}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/ModelBuilder_Ribbon.png"},{"acf_fc_layout":"content","content":"<p>This will open up a blank canvas for you to drag and drop data from your Contents pane, tools from the Geoprocessing side panel, as well as arrows to connect all the steps in your process.\u00a0 The basic chain of elements is usually Input Element -&gt; Geoprocessing Tool -&gt; Derived Data, shown like this:<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":451252,"id":451252,"title":"Basic_Diagram","filename":"Basic_Diagram.png","filesize":17147,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Basic_Diagram.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\/basic_diagram","alt":"One-way flowchart from left (upstream) to right (downstream): Input Element, Geoprocessing Tool, Derived Data.","author":"7121","description":"","caption":"One-way flowchart from left (upstream) to right (downstream): Input Element, Geoprocessing Tool, Derived Data.","name":"basic_diagram","status":"inherit","uploaded_to":451202,"date":"2019-03-05 01:22:01","modified":"2019-04-12 20:12:19","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":843,"height":142,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Basic_Diagram-150x142.png","thumbnail-width":150,"thumbnail-height":142,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Basic_Diagram.png","medium-width":464,"medium-height":78,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Basic_Diagram.png","medium_large-width":768,"medium_large-height":129,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Basic_Diagram.png","large-width":843,"large-height":142,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Basic_Diagram.png","1536x1536-width":843,"1536x1536-height":142,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Basic_Diagram.png","2048x2048-width":843,"2048x2048-height":142,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Basic_Diagram-826x139.png","card_image-width":826,"card_image-height":139,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Basic_Diagram.png","wide_image-width":843,"wide_image-height":142}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Basic_Diagram.png"},{"acf_fc_layout":"content","content":"<p><strong><span style=\"color: #87acc9\">Input elements are shown in blue ovals<\/span><\/strong>.\u00a0 These can be layers, data tables, etc.\u00a0 In my model, I\u2019ve got one layer of polygons (Census Blocks) and one layer of lines (Intrastate District Boundaries).<\/p>\n<p><strong><span style=\"color: #ece387\">Geoprocessing tools are shown in yellow squares<\/span><\/strong>.\u00a0 Geoprocessing tools are the basic building blocks of your models.\u00a0 Common geoprocessing tools include Select, Buffer, Clip, Merge, Union, Intersect, Spatial Join, Join by Attributes, etc.\u00a0 ArcGIS Pro has <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/tool-reference\/main\/arcgis-pro-tool-reference.htm\">over a thousand specialized geoprocessing tools for you to choose from<\/a>, which are found in specific toolboxes.\u00a0 When you drag and drop the tool you want from the Geoprocessing side panel into the ModelBuilder canvas, it will first appear gray.\u00a0 Click on it to select your input and then it will appear yellow.\u00a0 The geoprocessing tools I\u2019m using in this model are Select by Attributes, Dissolve, Copy Features, Generate Near Table, and Join by Attributes.<\/p>\n<p><strong><span style=\"color: #9bcb85\">Derived data is shown in green ovals<\/span><\/strong>, which is output from one tool that will be used as input in another tool.\u00a0 There are two types of derived data: modified input (a temporary dataset), and new output on the disk (a permanent dataset).\u00a0 If you want to make your modified input data permanent, use the one of the Copy tools appropriate for your data type, in my case Copy Features.\u00a0 You can also make a copy of a raster or a table to persist it out.<\/p>\n<p>Creating descriptive labels for all your model\u2019s elements is easy.\u00a0 Give the elements labels so that they are meaningful to you by right-clicking on the element and selecting Rename.<\/p>\n<p>If you have any inputs to a geoprocessing tool that you want to be able to control, then you can add variables.\u00a0 <strong><span style=\"color: #80beca\">Variables are shown in light blue ovals<\/span><\/strong>.\u00a0 Variables are all non-dataset inputs.\u00a0 These can be of type string, long, double, and Boolean.\u00a0 An example of a variable would be the distance to use for a buffer tool or a search radius for density tools.<\/p>\n<p>In my case, the state\u2019s FIPS code is going to have to change every time I run this, so that I select the right blocks for a given state.\u00a0 In my input layer is Census Blocks, I\u2019m using a different FIPS code every time to run Select Layer by Attributes, selecting on a field called State that takes different FIPS Code values.\u00a0 This will create derived data that contains only the blocks that contain a specific FIPS Code.<\/p>\n<p>I also created a universal variable for the whole model called state.\u00a0 I have a light blue oval at the top of my model (unconnected to anything in the diagram) that is used to change the name of the state I\u2019m currently running.<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":451272,"id":451272,"title":"Full_Model_without_Groups","filename":"Full_Model_without_Groups.png","filesize":45725,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_without_Groups.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\/full_model_without_groups","alt":"Example multi-step model in Model Builder. Other images in this blog post will reference this base model.","author":"7121","description":"","caption":"","name":"full_model_without_groups","status":"inherit","uploaded_to":451202,"date":"2019-03-05 01:23:03","modified":"2019-04-12 20:12:54","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1423,"height":485,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_without_Groups-150x150.png","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_without_Groups.png","medium-width":464,"medium-height":158,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_without_Groups.png","medium_large-width":768,"medium_large-height":262,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_without_Groups.png","large-width":1423,"large-height":485,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_without_Groups.png","1536x1536-width":1423,"1536x1536-height":485,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_without_Groups.png","2048x2048-width":1423,"2048x2048-height":485,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_without_Groups-826x282.png","card_image-width":826,"card_image-height":282,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_without_Groups.png","wide_image-width":1423,"wide_image-height":485}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_without_Groups.png"},{"acf_fc_layout":"content","content":"<p>This allows me to use <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/analysis\/geoprocessing\/modelbuilder\/inline-variable-substitution.htm\"><strong>in-line variable substitution<\/strong><\/a> for all my path names for each output file using % symbols on each side of my variable name.\u00a0 This way, I only change the state name in one place, instead of every place I\u2019m creating output.\u00a0 For example, in the Dissolve tool, my output is set up like this:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":451282,"id":451282,"title":"In-Line_Variable_Substitution_in_output_path","filename":"In-Line_Variable_Substitution_in_output_path.png","filesize":4881,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/In-Line_Variable_Substitution_in_output_path.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\/in-line_variable_substitution_in_output_path","alt":"Dialogue box for Dissolve tool. The input bar shows \u201c%state%_Lines_Dissolve\u201d.","author":"7121","description":"","caption":"","name":"in-line_variable_substitution_in_output_path","status":"inherit","uploaded_to":451202,"date":"2019-03-05 01:23:34","modified":"2019-04-12 20:13:18","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":376,"height":134,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/In-Line_Variable_Substitution_in_output_path-150x134.png","thumbnail-width":150,"thumbnail-height":134,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/In-Line_Variable_Substitution_in_output_path.png","medium-width":376,"medium-height":134,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/In-Line_Variable_Substitution_in_output_path.png","medium_large-width":376,"medium_large-height":134,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/In-Line_Variable_Substitution_in_output_path.png","large-width":376,"large-height":134,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/In-Line_Variable_Substitution_in_output_path.png","1536x1536-width":376,"1536x1536-height":134,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/In-Line_Variable_Substitution_in_output_path.png","2048x2048-width":376,"2048x2048-height":134,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/In-Line_Variable_Substitution_in_output_path.png","card_image-width":376,"card_image-height":134,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/In-Line_Variable_Substitution_in_output_path.png","wide_image-width":376,"wide_image-height":134}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/In-Line_Variable_Substitution_in_output_path.png"},{"acf_fc_layout":"content","content":"<p>When a model is running, the <strong><span style=\"color: #db3318\">part that is currently executing will display in red<\/span><\/strong>.\u00a0 You\u2019ll also see a log window appear showing the progress.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":451292,"id":451292,"title":"Model_Running","filename":"Model_Running.png","filesize":92127,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_Running.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\/model_running","alt":"Example model with the step \u201cCopy Features for Selected Blocks\u201d in red (i.e. currently executing). Dialogue box shows 13% in progress bar.","author":"7121","description":"","caption":"","name":"model_running","status":"inherit","uploaded_to":451202,"date":"2019-03-05 01:24:01","modified":"2019-04-12 20:13:40","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1790,"height":711,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_Running-150x150.png","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_Running.png","medium-width":464,"medium-height":184,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_Running.png","medium_large-width":768,"medium_large-height":305,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_Running.png","large-width":1790,"large-height":711,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_Running.png","1536x1536-width":1536,"1536x1536-height":610,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_Running.png","2048x2048-width":1790,"2048x2048-height":711,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_Running-826x328.png","card_image-width":826,"card_image-height":328,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_Running.png","wide_image-width":1790,"wide_image-height":711}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_Running.png"},{"acf_fc_layout":"content","content":"<p>When the model stops running, each element that has executed will appear with a drop shadow behind it in the diagram.<\/p>\n"},{"acf_fc_layout":"content","content":"<h1>Setting Parameters<\/h1>\n<p>Models are usually stored in a Custom Toolbox that is named the same name as your ArcGIS Pro project.\u00a0 Check the Catalog pane to see where your model is stored.\u00a0 From the Catalog pane, right-click on your model and select Open, and you will see a geoprocessing dialogue box for your new custom tool!\u00a0 Anything you have <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/analysis\/geoprocessing\/modelbuilder\/model-parameters.htm\">set as a parameter<\/a> appears just like a control for any other geoprocessing tool.\u00a0 To set a variable as a parameter, simply right-click on the model element and select Parameter so that it appears with a green checkmark next to it.\u00a0 You will then see a \u201cP\u201d in the top-right corner of this element in your model\u2019s diagram.\u00a0 In my model, the FIPS code and the State variables are set as parameters.<\/p>\n<h1>Create Groups<\/h1>\n<p>You can chunk off parts of your model into different groups by selecting all the elements you want to group together and then clicking the Group button:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":451302,"id":451302,"title":"Group","filename":"Group.png","filesize":5249,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Group.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\/group-2","alt":"Location of Group button in the Group group. Other button is UnGroup.","author":"7121","description":"","caption":"","name":"group-2","status":"inherit","uploaded_to":451202,"date":"2019-03-05 01:24:50","modified":"2019-04-12 20:14:17","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":220,"height":187,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Group-150x150.png","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Group.png","medium-width":220,"medium-height":187,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Group.png","medium_large-width":220,"medium_large-height":187,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Group.png","large-width":220,"large-height":187,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Group.png","1536x1536-width":220,"1536x1536-height":187,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Group.png","2048x2048-width":220,"2048x2048-height":187,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Group.png","card_image-width":220,"card_image-height":187,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Group.png","wide_image-width":220,"wide_image-height":187}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Group.png"},{"acf_fc_layout":"content","content":"<p>This allows you to give each of your chunks of the model a name.\u00a0 I created three different groups within my model and gave each group a descriptive name: Prep for Generate Near Table, Calculate Distance and Join Distance to Blocks, and Export.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":451312,"id":451312,"title":"Full_Model_with_Groups","filename":"Full_Model_with_Groups.png","filesize":54885,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_with_Groups.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\/full_model_with_groups","alt":"Same example model but in three groups: Prep for Generate Near Table, Calculate Distance and Join Distance to Blocks, and Export.","author":"7121","description":"","caption":"","name":"full_model_with_groups","status":"inherit","uploaded_to":451202,"date":"2019-03-05 01:25:23","modified":"2019-04-12 20:14:41","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1423,"height":505,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_with_Groups-150x150.png","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_with_Groups.png","medium-width":464,"medium-height":165,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_with_Groups.png","medium_large-width":768,"medium_large-height":273,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_with_Groups.png","large-width":1423,"large-height":505,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_with_Groups.png","1536x1536-width":1423,"1536x1536-height":505,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_with_Groups.png","2048x2048-width":1423,"2048x2048-height":505,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_with_Groups-826x293.png","card_image-width":826,"card_image-height":293,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_with_Groups.png","wide_image-width":1423,"wide_image-height":505}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Full_Model_with_Groups.png"},{"acf_fc_layout":"content","content":"<p>The nice thing about creating groups is that you can collapse or expand the groups so that you can view different chunks of your model separately.\u00a0 For example, I have collapsed the Prep for Generate Near Table group, below:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":451322,"id":451322,"title":"Collapsed_first_group","filename":"Collapsed_first_group.png","filesize":30329,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Collapsed_first_group.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\/collapsed_first_group","alt":"Same example model but with \u201cPrep for Generate Near Table\u201d group collapsed.","author":"7121","description":"","caption":"","name":"collapsed_first_group","status":"inherit","uploaded_to":451202,"date":"2019-03-05 01:25:50","modified":"2019-04-12 20:15:21","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":980,"height":334,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Collapsed_first_group-150x150.png","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Collapsed_first_group.png","medium-width":464,"medium-height":158,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Collapsed_first_group.png","medium_large-width":768,"medium_large-height":262,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Collapsed_first_group.png","large-width":980,"large-height":334,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Collapsed_first_group.png","1536x1536-width":980,"1536x1536-height":334,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Collapsed_first_group.png","2048x2048-width":980,"2048x2048-height":334,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Collapsed_first_group-826x282.png","card_image-width":826,"card_image-height":282,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Collapsed_first_group.png","wide_image-width":980,"wide_image-height":334}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Collapsed_first_group.png"},{"acf_fc_layout":"content","content":"<h1>The Power of Iterators<\/h1>\n<p>I want to repeat this process over a list of many states.\u00a0 Why should I waste time manually entering each state and FIPS in my two variable elements when I want it to run for each state?\u00a0 You can set up an iterator if you have a list of values or inputs that you want to use in your model.<\/p>\n<p>There are 12 <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/analysis\/geoprocessing\/modelbuilder\/iterators-for-looping.htm\">different types of iterators available<\/a>:<\/p>\n<ul>\n<li>For<\/li>\n<li>While<\/li>\n<li>Iterate Feature Selection<\/li>\n<li>Iterate Row Selection<\/li>\n<li>Iterate Field Values<\/li>\n<li>Iterate Multivalue<\/li>\n<li>Iterate Datasets<\/li>\n<li>Iterate Feature Classes<\/li>\n<li>Iterate Files<\/li>\n<li>Iterate Rasters<\/li>\n<li>Iterate Tables<\/li>\n<li>Iterate Workspaces.<\/li>\n<\/ul>\n<p>View\u00a0<a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/tool-reference\/modelbuilder-toolbox\/examples-of-using-iterators-in-modelbuilder.htm\">examples of using all kinds of iterators in ModelBuilder<\/a>.\u00a0 Because I need both the state name and FIPS code as input criteria, I\u2019m going to have my model call my handy <a href=\"https:\/\/urbanobservatory.maps.arcgis.com\/sharing\/rest\/content\/items\/ccce7caa559f41ce9b5fb40a9a5ebd88\/data\">State &amp; FIPS reference table<\/a> that I use all the time to serve as the list for this iterator.\u00a0 In fact, I don\u2019t need to run this process for a handful of states that only have one congressional district: Alaska, Delaware, Montana, North Dakota, South Dakota, Vermont, and Wyoming.\u00a0 I also don\u2019t need to run this for DC and Puerto Rico.\u00a0 I can create a simple .txt table of the 43 of the 52 records in this table for which I want to run this model and use the <strong>Iterate Row Selection<\/strong> type of iterator.\u00a0<strong><span style=\"color: #e1bb7a\"> Iterators are displayed in a model as orange hexagons<\/span><\/strong>.\u00a0\u00a0Then I\u2019ll use the <strong>Get Field Value<\/strong> <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/analysis\/geoprocessing\/modelbuilder\/utility-tools.htm\">utility<\/a> to look up the FIPS code for each state from my table.\u00a0 Here\u2019s what my new model looks like:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":455022,"id":455022,"title":"Model_with_Iterator","filename":"Model_with_Iterator.jpg","filesize":35885,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_with_Iterator.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\/model_with_iterator","alt":"Model now contains the iterator \u201cIterate Row Selection.\u201d","author":"7121","description":"","caption":"","name":"model_with_iterator","status":"inherit","uploaded_to":451202,"date":"2019-03-12 22:21:57","modified":"2019-04-12 20:16:13","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1814,"height":544,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_with_Iterator-150x150.jpg","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_with_Iterator.jpg","medium-width":464,"medium-height":139,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_with_Iterator.jpg","medium_large-width":768,"medium_large-height":230,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_with_Iterator.jpg","large-width":1814,"large-height":544,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_with_Iterator.jpg","1536x1536-width":1536,"1536x1536-height":461,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_with_Iterator.jpg","2048x2048-width":1814,"2048x2048-height":544,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_with_Iterator-826x248.jpg","card_image-width":826,"card_image-height":248,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_with_Iterator.jpg","wide_image-width":1814,"wide_image-height":544}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Model_with_Iterator.jpg"},{"acf_fc_layout":"content","content":"<p>Note, only one iterator is allowed per model.\u00a0 If you want to do multiple iterators, you can build <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/analysis\/geoprocessing\/modelbuilder\/add-a-submodel-to-a-model.htm\">sub-models<\/a>, each with their own iterator.<\/p>\n"},{"acf_fc_layout":"content","content":"<h1>Setting Properties and Documenting Your Model<\/h1>\n<p>You can give your model a name and label, and even can make your model password-protected if that\u2019s important to you.\u00a0 From the catalog pane, right click on your model to select Properties.\u00a0 To provide a bit more information to make your model shareable with other analysts, right-click again and select Edit Metadata.\u00a0 In here, you can write a description, provide search tags, a thumbnail, and much more.\u00a0\u00a0You can package up your model as a tool in a custom toolbox inside a geodatabase, and share it as part of your entire Pro project.<\/p>\n<h1>Some Nice Bells and Whistles for the Diagram\u2019s Appearance<\/h1>\n<h2>Auto Layout<\/h2>\n<p>Auto Layout is very helpful for making your diagram pleasing to the eye.\u00a0 Click Fit to Window and Pro will optimize the size of your diagram for your current view.\u00a0 You can also make the whole diagram flow from top to bottom (instead of left to right) by checking the Flip Orientation box in the Diagram ribbon.<\/p>\n<h2>Styling the Diagram<\/h2>\n<p>There are so many options to modify the look of your diagram.\u00a0 Just a few of these options include:<\/p>\n<ul>\n<li>Size of all the elements<\/li>\n<li>Font options for labels<\/li>\n<li>Orientation of text<\/li>\n<li>Shape options for the links\/connectors<\/li>\n<\/ul>\n<h1>Other Use-Cases for ModelBuilder<\/h1>\n<p>Instead of a long list of states (or counties, or campuses, etc.), maybe you\u2019re running the same multi-step process every month for your city, as you get new building permits data in every month.\u00a0 Store your process by building a model that you can use instead of recreating the wheel every month.<\/p>\n<p>Or, if you\u2019re producing similar layers on a regular basis, take advantage of the <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/analysis\/geoprocessing\/modelbuilder\/if-then-else-branching-and-logical-tools.htm\">If\/Then\/Else logic<\/a> to create a \u201c<a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/data-management\/evaluate-and-prep-your-tabular-data-in-arcgis-online\/\">Quality Assurance Checklist<\/a>\u201d type of model with multiple steps to validate that your data is correct.\u00a0 Perhaps you want to check that multiple conditions are true (e.g., record count is what you expect, means are within a certain range, etc.).\u00a0 Set it up a model with some Boolean logic and you\u2019ve just built a nice QA tool!<\/p>\n<h1>My First Impressions<\/h1>\n<p>I am used to working with programs that use a command-line interface, so the point-and-click, drag-and-drop nature of ModelBuilder is new to me.\u00a0 I like being able to search for a tool within the diagram canvas (just click inside the diagram and start typing a tool name!), just like the tool search in the geoprocessing side panel.\u00a0 The biggest benefit of ModelBuilder that I see is having a visual representation of a multi-step process.\u00a0 It also makes the automation process less intimidating to those who don\u2019t like to code.\u00a0 With my first project really using and digging in to ModelBuilder in ArcGIS Pro well underway, I\u2019m impressed!\u00a0 I am so pleased that ModelBuilder in ArcGIS Pro makes my project easy, and dare I say, fun!<\/p>\n<p>For more information on ModelBuilder, check out the <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/analysis\/geoprocessing\/modelbuilder\/what-is-modelbuilder-.htm\">official documentation,<\/a>\u00a0including <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/analysis\/geoprocessing\/modelbuilder\/modelbuilder-vocabulary.htm\">ModelBuilder vocabulary<\/a>. If you have any questions, tips, or tricks to share, feel free to post on them in the <a href=\"https:\/\/community.esri.com\/groups\/model-builder\">ModelBuilder community on GeoNet<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p><em>Many thanks to Shitij Mehta for her guidance while building this model!<\/em><\/p>\n"}],"authors":[{"ID":7121,"user_firstname":"Diana","user_lastname":"Lavery","nickname":"Diana Lavery","user_nicename":"dianaclavery_global","display_name":"Diana Lavery","user_email":"DLavery@esri.com","user_url":"","user_registered":"2018-03-02 00:19:20","user_description":"(she\/her\/hers) Diana loves working with data. She has over 15 years experience as a practitioner of demography, sociology, economics, policy analysis, and GIS. Diana holds a BA in quantitative economics and an MA in applied demography. She is a senior GIS engineer on ArcGIS Living Atlas of the World's Policy Maps team. Diana enjoys strong coffee and clean datasets, usually simultaneously.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/04\/diana-lavery-3z7a9428-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":"","card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Card_for_ModelBuilder_Blog.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Banner_for_ModelBuilder_Blog.jpg"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>My First Impressions of ModelBuilder in ArcGIS Pro<\/title>\n<meta name=\"description\" content=\"Running a multi-step procedure of geoprocessing tools over and over again? ModelBuilder lets you store your entire process!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"My First Impressions of ModelBuilder in ArcGIS Pro\" \/>\n<meta property=\"og:description\" content=\"Running a multi-step procedure of geoprocessing tools over and over again? ModelBuilder lets you store your entire process!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-21T00:08:06+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\"},\"author\":{\"name\":\"Diana Lavery\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1f2b2b13a804cac814ed4245368e9eb9\"},\"headline\":\"My First Impressions of ModelBuilder in ArcGIS Pro\",\"datePublished\":\"2019-03-13T15:00:20+00:00\",\"dateModified\":\"2022-07-21T00:08:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\"},\"wordCount\":8,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"diagram\",\"geoprocessing\",\"ModelBuilder\",\"repeatable workflow\",\"stored process\"],\"articleSection\":[\"Analytics\",\"Data Management\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\",\"name\":\"My First Impressions of ModelBuilder in ArcGIS Pro\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2019-03-13T15:00:20+00:00\",\"dateModified\":\"2022-07-21T00:08:06+00:00\",\"description\":\"Running a multi-step procedure of geoprocessing tools over and over again? ModelBuilder lets you store your entire process!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"My First Impressions of ModelBuilder in ArcGIS Pro\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1f2b2b13a804cac814ed4245368e9eb9\",\"name\":\"Diana Lavery\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/04\/diana-lavery-3z7a9428-213x200.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/04\/diana-lavery-3z7a9428-213x200.jpg\",\"caption\":\"Diana Lavery\"},\"description\":\"(she\/her\/hers) Diana loves working with data. She has over 15 years experience as a practitioner of demography, sociology, economics, policy analysis, and GIS. Diana holds a BA in quantitative economics and an MA in applied demography. She is a senior GIS engineer on ArcGIS Living Atlas of the World's Policy Maps team. Diana enjoys strong coffee and clean datasets, usually simultaneously.\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/dianaclavery_global\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"My First Impressions of ModelBuilder in ArcGIS Pro","description":"Running a multi-step procedure of geoprocessing tools over and over again? ModelBuilder lets you store your entire process!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro","og_locale":"en_US","og_type":"article","og_title":"My First Impressions of ModelBuilder in ArcGIS Pro","og_description":"Running a multi-step procedure of geoprocessing tools over and over again? ModelBuilder lets you store your entire process!","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2022-07-21T00:08:06+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro"},"author":{"name":"Diana Lavery","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1f2b2b13a804cac814ed4245368e9eb9"},"headline":"My First Impressions of ModelBuilder in ArcGIS Pro","datePublished":"2019-03-13T15:00:20+00:00","dateModified":"2022-07-21T00:08:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro"},"wordCount":8,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["diagram","geoprocessing","ModelBuilder","repeatable workflow","stored process"],"articleSection":["Analytics","Data Management"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro","name":"My First Impressions of ModelBuilder in ArcGIS Pro","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2019-03-13T15:00:20+00:00","dateModified":"2022-07-21T00:08:06+00:00","description":"Running a multi-step procedure of geoprocessing tools over and over again? ModelBuilder lets you store your entire process!","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/my-first-impressions-of-modelbuilder-in-arcgis-pro#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"My First Impressions of ModelBuilder in ArcGIS Pro"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1f2b2b13a804cac814ed4245368e9eb9","name":"Diana Lavery","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/04\/diana-lavery-3z7a9428-213x200.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/04\/diana-lavery-3z7a9428-213x200.jpg","caption":"Diana Lavery"},"description":"(she\/her\/hers) Diana loves working with data. She has over 15 years experience as a practitioner of demography, sociology, economics, policy analysis, and GIS. Diana holds a BA in quantitative economics and an MA in applied demography. She is a senior GIS engineer on ArcGIS Living Atlas of the World's Policy Maps team. Diana enjoys strong coffee and clean datasets, usually simultaneously.","url":"https:\/\/www.esri.com\/arcgis-blog\/author\/dianaclavery_global"}]}},"text_date":"March 13, 2019","author_name":"Diana Lavery","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/dianaclavery_global","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/03\/Banner_for_ModelBuilder_Blog.jpg","primary_product":"ArcGIS Pro","tag_data":[{"term_id":348802,"name":"diagram","slug":"diagram","term_group":0,"term_taxonomy_id":348802,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":24321,"name":"geoprocessing","slug":"geoprocessing","term_group":0,"term_taxonomy_id":24321,"taxonomy":"post_tag","description":"","parent":0,"count":131,"filter":"raw"},{"term_id":24331,"name":"ModelBuilder","slug":"modelbuilder","term_group":0,"term_taxonomy_id":24331,"taxonomy":"post_tag","description":"","parent":0,"count":28,"filter":"raw"},{"term_id":348792,"name":"repeatable workflow","slug":"repeatable-workflow","term_group":0,"term_taxonomy_id":348792,"taxonomy":"post_tag","description":"","parent":0,"count":4,"filter":"raw"},{"term_id":348812,"name":"stored process","slug":"stored-process","term_group":0,"term_taxonomy_id":348812,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"}],"category_data":[{"term_id":23341,"name":"Analytics","slug":"analytics","term_group":0,"term_taxonomy_id":23341,"taxonomy":"category","description":"","parent":0,"count":1333,"filter":"raw"},{"term_id":23851,"name":"Data Management","slug":"data-management","term_group":0,"term_taxonomy_id":23851,"taxonomy":"category","description":"","parent":0,"count":926,"filter":"raw"}],"product_data":[{"term_id":36561,"name":"ArcGIS Pro","slug":"arcgis-pro","term_group":0,"term_taxonomy_id":36561,"taxonomy":"product","description":"","parent":0,"count":2045,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-pro","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/451202","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/7121"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=451202"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/451202\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=451202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=451202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=451202"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=451202"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=451202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}