Share this article:
In this overview, Emmanuel Jolaiya, a GIS analyst and data scientist, introduces readers to ModelBuilder in ArcGIS which can be used to build models for analyzing and manipulating GIS Data. This overview discusses why and when to use ModelBuilder. In part two of this series, Emmanuel provides a tutorial on how to use ModelBuilder.
Ever wondered how to automate those boring and recurring GIS tasks? Yes, like the kind that involves clipping/masking data, then filling DEMs and then calculating flow accumulation then flow direction then… Honestly speaking, those tasks can be daunting. And in the quest of seeking for a solution, you might have sought help from friends or fellow GISers on how to automate some GIS processes and with no iota of doubt, I’m pretty sure most of the responses would probably be to learn Python and that’s fine. Learning Python is very good advice. They really want to see you grow.
Well, here is a piece of good news. Do you know you can use ModelBuilder to automate most of your GIS tasks? You necessarily don’t need to write codes every time. A simple model can solve a lot of your daily problems. Yes, you can build a model for your frequent analysis and tasks using ModelBuilder in ArcGIS.
So, what is ModelBuilder?
Esri defines ModelBuilder as a “visual programming language for building geoprocessing workflows”. Geoprocessing models automate and document your spatial analysis and data management processes. You can find the tool in all versions of ArcMap and ArcPro.
What Does Building a Model in GIS Do?
A model is represented as a diagram, flowchart, or workflow that chains together sequences of processes and geoprocessing tools, using the output of one process as the input to another process. It provides advanced methods for extending GIS functionality by allowing you to create and share your models as tools.
Blue represents the Inputs, yellow represent the tools, and the green represents the outputs, all connected together by an arrow.
Why you should use ModelBuilder
- Easy to use and aesthetic.
- They automate *boring* or repetitive GIS tasks.
- They perform operations on datasets such as feature class, raster, or table and create an output dataset.
- Used to build custom tools for analysis.
- Share custom tools, export models to python scripts and graphics.
- Use built models within another tool, which gives room for more advanced analysis e.t.c.
When to use ModelBuilder
- Optimize time and automate *boring* /repetitive GIS tasks or short-circuiting.
- When working on a very big project: big and advanced projects require complex models oftentimes.
- Uniform workflow in organizations or teams: There are several ways of carrying out a particular analysis in GIS, in cases whereby you want a similar and uniform outcome, models will come in really handy.
- Trying out something new.
- To check the python script of a particular tool: Models can be exported to Python scripts and it is really helpful to explore the Python syntax of models. This will get you more familiar with the how of Arcpy syntax.
Steps for building a model
- Identify and define the goal: What is the goal of the model you are about the build?
- Itemize the tools to achieve the goal and if possible draw out the workflow and follow (you can also do this on-the-fly as well)
- Launch the model builder, search the tools and drag in all tools(you can also do it progressively)
- Will you be performing the same task in the future?
If yes, create parameters, variables, and deploy the tool. See part2 for the detailed procedure.
If no, run your model and close the model builder
The ModelBuilder allows us to optimize time, create reusable and sharable tools, visualize workflow in an easy-to-understand diagram and create complex models for our daily tasks which will optimize our time and save us lots of energy. I strongly hope you’ll start building your models today :)
Thank you for reading along! Please feel free to share your experiences with model builder probably some aspects I did not cover in this article e.g. the disadvantage if there is/are any :)
PS: If you know all this already, I’m very sorry, consider this article a refresher and if this is completely new to you, you are welcome!
About the Author
Emmanuel Jolaiya is a GIS analyst, data scientist, and GIS development enthusiast with a keen interest in transforming data into insights that aids in making informed decisions. He is a 2020 YouthMappers Research Fellow and 2020 Esri Nigeria, Young Scholar Awardee. He has a passion for data and technology with a focus on building sustainable architecture for interoperability and efficient data use toward building solutions that address the most pressing issues in our world and ultimately making the world a better place for us all. Follow him @jeafreezy