Hello, everyone, my name is Ilan way. Today, I'm gonna show you how to use Python scripting in ArcGIS. Well let's open ArcMap first. Paragon scripting basically save you from doing repeat works in ArcGIS if you just have to maps, me you want to operate it using ArcGIS toolbox, that's easy. But let's say what if you have hundreds or thousands of maps, then doing the repeat work the ArcGIS for hundreds or thousands of time is gonna be not very reasonable though. The Python scripting well save us from that.
That's opened up empty map first. So, here, here's my art toolbox. I have all the tools here, which has nice user interface like this one. So statistic data, actually, let me include multiple rasters. And then give me the minimum mean, or maximum or minimum or some of those maps. Well, let's say if we just have to input data, then it's very straightforward.
We just compare, but in this case, I have 361 maps, which I need to compare and get the maximum, then it wouldn't be too much work for me. So the best way is to use Python code to do that, to do all the iteration. To get the Python code, there are two ways. One way you can search online for help. So statistic, it actually tells you the background of this tour, the usage and how to write it in Python, called example. And there's another way which is more suitable for the beginners to understand which is to use the model builder.
So click toolbar options. Model Builder, click it. And from the model builder window, you can actually insert to the tools system toolbox to local, see it's aligned to the same. We go to sell statistic added. And then double click to basically will give us the same window exactly the same as you just call the toolbox from this toolbox here. So, let's just pull this down.
Let's go back to our class. Instead of including on this data here, we just put maybe two s3 as the demonstration now that's just put three okay. So how we have the blood depth to our we have the blood depth that are 133 hour and then we have the flat depth and 354 hour we need to compare and I get the maximum of this three layer and now we want to ignore no data calculations and we also want to give the events are out at the location I would just create a new file here called maximum. Okay. We can test it here first. Just click this arrow here.
Okay, so export the code from model builder and just click model export to Python script. Okay, so now we can just close our map Go to Visual Studio code. This is my favorite editor, I need to install Visual Studio code for this practice. Open the call do we just exported class one, class one. So here it has already give us some basic structure for the code. So if we run from here, it's it's exactly the same as we run for a model builder, which is exactly the same as we want from the toolbox user interface.
But instead of just running For three files, by editing this code here, we can make either one for the whole folder, which contains 361 layers. How to do that? Well, before we do that, make sure over Python environment is Python 2.7 because that is the place where I have our GS Python package installed, make sure it's Python 2.7 if you have like, more version of Python installed in your computer, despise on port 2.7 is installed automatically when you install ArcGIS. Okay, so, here you need a little bit, our basic Python knowledge. I'm just gonna started to write the code that I need I needed to import the guest, I needed to write the past which I wanted to eat a rate. In this case, it's just this past that I saved on the desktop class.
See, that's my 361 maps there. So I just copied this directory. It was easy here. I say that is the path I want to work with. I would all also name the environment the workspace Yeah. I wanted to take tell my arc Python environment overwrite output equal to to make the input a list, just name it empty list.
And then I want to make a roster list, which is my list listing all the directory of my past. And as you all see they're like different files. In my directory you see there are tifia and there's folder therapy why file so I just don't want to keep file. So I just gonna convert it to x for x raster x dot Okay, so that made sure only the two five will go into my list. Okay, I need to write a little loop here for all the raster raster DS Which is a very basic pace. I want to print it out which raster am I working with?
Basically, I made I made the list and I don't need to I don't need to only those three layer because I actually have all the list in my one variable i would just process it r p y.gp dot sales data set statistic. This is the language which will actually probably This does Spatial Analyst function. So you see here it is a location for this three input file. I'm just gonna delete that because I have all my input file contained in my input in this variable. I would just say input and maximum output. And here are the maximum I want.
You can check the help to understand what does that mean. So that's the syntax. So that statistical type I want maximum and that you cannot know data. So I put the data here which means as a product Testing cell location if any of the input the raster has no data, then there are no data will be ignored. And if I put no data there, then if the processing cell location for any of the input raster is no data, then the output for that route will be no data. So, that, that that control means, okay, so, let's, let's try to run this code we have just click Run.
Okay, so it gave me an air. MVP is not defined. So this isn't this isn't my writing. So I needed to say from our PI environment. Let's try again. See, it's printing out all the rasters that I'm reading through the list.
And now it's processing. This intern returned which means it worked