I'd like to walk you through an example of creating a ModelBuilder model in order to be able to solve a problem. Here I'm not going to actually do a software demo, this is more just to focus on what's the thinking, or how do you go through the process of creating the model. And I'll do a demo as a separate video. So imagine that we're interested in buying a house. It's the classic scenario. And we're going to try and identify locations based on criteria such as, close to high schools, libraries, golf courses, and areas that have a fair amount of trees and other vegetation. So when you create a new ModelBuilder model, you're first presented with this empty canvas if you want to think of it that way or space where you can place your model. You can drag data sets onto here and tools onto here from our tool box and from your geo database or wherever you have it. And then connect that together to create your model. So let's just zoom in a little bit here so it's a little easier to see. So here we have an input data set, high school. We have a tool or a function that we're going to apply to that, in this case it's buffer. And then we're going to have an output feature class which will be the buffers that are produced. So this is one process, as we would call it. And you'll notice that the buffer and output have not been assigned a color yet. That's ModelBuilder's way of telling you that you have not set things up, that it's not ready to run. So in order to do that, you first have to set the parameters, as we would call it, or settings, for the tool that you're going to use, in this case a buffer. And where you want the output to go, and what the name of the output file will be. And once you do that, then we'll have some colors filled in, and it will be ready to run. So I can just double click on that buffer tool, and it will open the exactly same dialog box as though I was doing it interactively just through selecting that tool from the menu or from the tool box. So I'm going to set this up in advance essentially and then run it later. So just as I would normally, I'm going to set the input features to be high school. I have to set an output feature class. I'm going to set the linear units to be 1,500 meters. And I'm going to dissolve the buffers so that we have one buffer for each region. I can then just click the OK button. And then you'll notice that my model has changed so that it's connected lines between these so that it's ready to run. And it's telling us that these have colors associated with it. So it says okay, I'm happy now, I know what you want me to do, I'm ready to run. Once you run the model, you'll see this drop shadow that appears under the tool and the output that indicates to you that this part of the model has already been completed. So here's the output from that process. These are the buffers that were created from the high schools to a distance of 1.5 kilometers. So anything that's inside these purple buffer polygons is indicated as being within the distance that I've set. And so this shows the areas that meet the first criterion for our house buying scenario. Now I'm just going to repeat the process using the library data set. I'm going to do another buffer. I'm going to create another output. So we've added to our model. And you'll notice that in this case you can have two separate process that are not connected to one another. You can have run one process and then build another one and run that separately. And so the idea here is that for the time being, you can add these together, you can work on them individually. What I tend to like to do is to build part of a model, run that part, make sure it's doing what I expect it to do before I move on to the next part. If you're really ambitious, you could try and build the whole model at once and then run and make sure that maybe this actually worked for you and you got what you wanted. But I tend to try to do it sort of bit by bit, piece by piece. So here's the result of my library buffer. So for this I've set the distance to be less than or equal to 1 km, maybe I want to be a little closer to those than I do for high schools. Then I'll add in a third buffer for my golf courses. And in this case, I've set that to be 3 kilometers. Maybe I'm willing to go a little bit farther in order to find a golf course that's going to be near my perspective house. And then for the NDVI, I have neighborhoods that have been assigned an NDVI value based on the majority of NDVI sale values from 2, which is low vegetation, to 5, which is high vegetation. So for this, I'm not actually going to be measuring distances, because we're talking about polygons here that cover the entire city. What I'm going to do is then select the areas that meet the criteria that I'm interested in. So when I said lots of vegetation, what that means is that I want to find areas that have an NDVI class of 4 or 5. So I'm going to use a tool called select. And what this is is this is essentially the same as doing a select by attribute interactively only now I'm doing it through the model. So I'm going to tell it that I want to use NDVI zones as the input. I'm going to create an output that's NDVI_45 and this is the expression that I'm going to use to do my selection. If I'm not sure how to build that, I can click on the SQL button there. It will open up a Query Builder window that's very similar to the select by attribute. So you can interactively build that query, so that it does it in the correct way with the correct syntax. One thing to point out that is different from doing select by attribute interactively, Is the result of that would just be a selection. Here you can't just have an active selection as part of your model. it makes more sense to have that as an output. Everything's has to have inputed tool and an output. And so here, we're doing the same kind of selections as we would do with select by attributes. But now we have an actual new file that has the results of that selection. So now we have the 4 different parts of our model that represent the 4 different criteria for our house buying. So we have a selection for our NDVI zones, and we have our 3 different distances. And so the result of our selection there is going to be these NDVI 4 and 5 neighborhoods. And here are all of the criteria together before I've actually done my overlay analysis. I just wanted to show you all of them together so you can kind of get an idea visually of how overlay analysis works. So now that I have all of my inputs, I'm going to conduct an intersection which is a form of vector overlay to see where all of those different inputs intersect with one another in space. So I'm going to use the intersect tool. I've identified the four feature classes that I'm going to use for that that I created through my model. This is going to create an output that I've just called intersection. And that's all we really need to look at for this part here. And as always, you can have a look at the section over on the right. That is a great way of being able to make sure that this tool does what you think it does. So here's my model. I've got all of my inputs, and now I've added the intersect that's going to bring all of these different criteria together to give us our one output which is going to be the result of our intersection. So here are all the inputs. And here are the areas where the intersection has taken place. And that these are the areas where all of my criteria have been met. So there's not that many, so I could say, okay, I'll go find those areas and make sure that those areas where I would like to live that meet the criteria. Or I could go back and add other criteria, or I could change the parameters. And that's the nice thing about conducting a model, is that you can say to yourself, well, maybe I need to relax something. Maybe I don't, I'm willing to travel a bit farther to get to a school or whatever it happens to be. And so you can rapidly go back, change the parameters and rerun it. So I just thought I'd show this as well, which is the output of the model as well as all of the inputs. So you can see the areas that actually meet the criteria, as well as the areas that have some criteria but not all of them. One of the great things about ModelBuilder is that while you're building that model the software is creating a Python script in the background that's being used to actually execute the work that you're doing. So you don't have to necessarily know anything about Python, you don't have to know anything about programming. The whole point of ModelBuilders, is it's visual way to program. But if you do know Python, you can open this up and look at it. You can edit it, you can build on it, you can share it with other people. So I just wanted to mention that, as it's something that a useful dimension to model builders. That if you want to learn more about Python, or use it in some way, it's there. One option that you have available with ModelBuilder is that you can customize the colors of the model. So what I did here just to have some fun, is that because the buffers that I used for my high schools were purple, I made the input and the output for those the same color. I matched them exactly. That's just me. Same thing with the output for the intersection is that I made that red. So that matched the red for the map that I created. And I did that for the other inputs as well. It's actually fairly clunky and time consuming to change these colors. It's not something that's really straight forward. So it's in there if you want to spend time customizing it, you can. But, of course, it's not necessary, it just depends on who you going to show this model to and how important is it for you to have that extra customization in terms of the value that it adds for communication. One last thing is that I've been showing models from left to right, sometimes people prefer to look at models from top to bottom. So you have that option in the software as well. It's really easy to change the properties of the model. So in this case, I just made it a vertical orientation instead of horizontal. So that's it for ModelBuilder. I just wanted to give you a quick overview, conceptually, of how it works, kind of walk you through a typical scenario of a problem that we might solve using ModelBuilder. And I hope that gives you a fairly good idea of how it works