Skip to Main Content


Research Guide for DAsH (or digital humanities) resources and tools

Learning Goals

ArcGIS doesn't just allow you to place points, polygons or lines representing geographic locations on a map, it will also allow you to analyze those points using tools from within its geoprocessing toolkit.  This can help you narrow down which areas are most pertinent to your study and find out important information about those areas. 

In this exercise we'll be determining which schools in Brooklyn and the Bronx are within walking distance of a green space using different geo-analysis tools. We'll clip our files to just the borough we want, create a buffer around the schools of an eighth of a mile, then, detect where those buffers intersect with a park or other green space area. The layers have already been added to this map, since how to add point and polygon layers has been covered in previous tutorials on this guide and in this one we'll be starting in on what kinds of analysis can be done once those layers are added.


Getting Started

  • Extract the zip file SchoolsAndGreenSpaces, and open the map project file within it, SchoolsAndGreenSpaces 
  • There are three layers on the map. Open the attribute tables of each to familiarize yourself with them. 
    • PublicK12Schools_NYC - a listing of public schools in NYC, along with data on their grade levels, capacities, names and other information
    • Green_Spaces - a table of the different green spaces in NYC including how their land use is classified, their name, their area, etc. 
    • Nybb - A map of the boroughs, containing their outlines and names - the name of the borough is in the column BoroName, you'll use this information shortly.
  • Note that all of these layers live within the SchoolsAndGreenSpaces folder in the Catalog pane. It is very important that any extra layers that you make or if you wanted to add any other layers from online sources, that those layers also live within that folder, if you want to be able to open and use this map on another computer

The question you'll ultimately want to answer is what schools in Brooklyn and the Bronx have a sizable park in walking distance? To do that, you'll first need to narrow down your selections to just Brooklyn and the Bronx using the Pairwise Clip tool, then create a buffer of .125 mi around the green space using the Pairwise Buffer tool, then use the Pairwise Intersect tool to find just the schools that are within that boundary. The layer resulting from that last step will be joined back to your public school layer and you'll be able to symbolize which schools matched the criteria.

The main places you can find Analysis tools in ArcGIS Pro is either at the Analysis tab at the top of your map (use the scrolling menu towards the left-hand side to find the tool you want) or by using the search bar in the Geoprocessing tab in the Catalog pane (on my monitor it abbreviates to just say Ge...)

Clipping a Layer with Analysis Tools

The Pairwise Clip tool allows you to take a layer with a larger geographic range than you need, and clip it to match the outline of a smaller layer, creating a new feature class with that smaller area. This can be handy if you are studying a smaller area like a group of adjacent counties, but can only get a larger map for the demographic or raster data that you want to use. I encounter this a lot with census data, as the smallest area the Census website will give you census tract level data for is for an entire state. You can clip those larger maps to just the area you need which eliminates confusion and frees up processing power. In this case, you were only able to get maps of where public schools and green spaces were located for the whole of New York City's five boroughs, but you only want to look at the ones in Brooklyn and the Bronx. But to do that, first you'll need to take your Borough_Boundaries layer and narrow it down to just include Brooklyn and the Bronx. Definition Query is the best method for that. 

  • Double-click on Borough_Boundaries in the Contents panethis will open the Layer Properties window. Go to the Definition Query window. For now, you'll see that there's a notice that says There are no definition queries defined, and a button that says New Definition Query. A Definition Query lets you define what aspects of your layer should be displayed on your map, or included in any calculations done involving your layer (including, in this case, a Pairwise Clip). This is a way that if you're not able to edit the content of a layer for some reason, that you can still narrow down what is included as part of it. 
  • Click on New Definition Query,  and it will take you to a Definition Query screen with a dropdown after the word Where. This is where you will construct a query that only includes aspects of the layer that have whatever value you specify in certain fields. 
  • In this case, you want this layer to be redefined to only contain the attributes whose values in the BoroName column are either Brooklyn or Bronx, so click to put BoroName  in the dropdown and choose is equal to from the middle dropdown and Brooklyn from the options at the end. 
  • That handles one part, next use Add Clause, to first select Or, since you want it to include a section of the map either if it has Brooklyn or the Bronx. There won't be any sections of the map that have both Brooklyn and the Bronx as their BoroName  so you wouldn't use And
  • Then select BoroName as the field, is equal to as the query and Bronx as the value.
  • Click Apply and then OK and the Borough_Boundaries map layer will change so that it only appears over Brooklyn and the Bronx. 
  • Your map will now look something like the below, because though BoroughBoundaries layer has been narrowed down to only include Brooklyn and the Bronx, the other layers have not. However, because you've used Definition Query to define that layer as only consisting of Brooklyn and the Bronx, you can use it as a cookie-cutter type template to clip your other layers.


The Clip tool allows you to trim one layer to match the geographic boundaries of another. We'll be using it on the Public_K12_Schools and Green_Spaces layers rather than the Definition Query that we used on the BoroughBoundaries layer for a couple of reasons.

  • Firstly, it's just easier to use this tool on the Green_Spaces layer because there isn't an attribute field for what borough the green space is located in.
  • Secondly, even though Definition Query controls the size and shape of the BoroughBoundaries layer as it appears, the extra information is still available and so is taking up space in the file. So even though the Public_K12_Schools attribute table does contain the borough that the school is in as a column, if we used a Definition Query on that layer, the datapoints for it would be taking up space, and if I wanted to create a more streamlined layer to include in my map, clipping is the way to go.  

We won't need information on public schools or green spaces that aren't in Brooklyn or the Bronx, so we may as well create a new layer that only has those boroughs to save on processing speed.

  • Click on the Analysis tab and from the set of icons in the scrolling menu choose Pairwise Clip
  • This brings you to your Pairwise Clip window. Click on Public_K12_Schools in the Contents pane and drag it into the field marked Input Features. This is where the layer that you want to clip goes. 
  • Click on Borough_Boundaries in the Contents pane and drag it into the field marked Clip Features. This is where the narrower layer that we want to use as a cookie cutter around the other larger layer goes.
  • For Output Feature Class, add BK_BX after the name of the layer you are clipping, so it will be Public_K12_Schools_BK_BX
  • Click Run. When it finishes, a new layer will appear on your Contents pane called Public_K12_Schools_BK_BX
  • Uncheck the box to make your original layer of Public_K12_Schools invisible, and ensure that the remaining points representing schools on the map are only within the two boroughs that you want. When you've verified that, right-click on the original Public_K12_Schools layer and choose Remove.
  • Repeat the Pairwise Clip tool process with the Green_Spaces layer, naming the new layer Green_Spaces_BK_BX. You may need to change the symbol for your new layer, from the default color, so that it's green.
  • Verify that the new Green_Spaces_BK_BX is what you expected, and then remove the original Green_Spaces layer
  • Now your map canvas will contain 3 layers, Public_K12_Schools_BK_BX, Green_Spaces_BK_BX and the original Borough_Boundaries layer. 

Now that we have the layers that contain only the information that we need, we can process that information much easier, which, speaking of that, let's see if we need to narrow down the Green_Spaces layer further and how. 

Using Symbology, Selection by Attribute and Definition Queries on a Large Layer

So let's zoom in on Brooklyn, I'm going to get in real close around Prospect Park...that big polygon towards the center and west of Brooklyn. There's a couple of things to notice here. One is that there are long narrow sections designated as being part of the greenspace maps, that seem to follow a road, which I don't think I'd want to include as a "park" that is close to a public school since it would seem less able to be safely used in lessons or for recess. The other is that some of these parks seem very small, but it's hard to tell without the context of where streets are. When I turn off the Borough_Boundaries layer, and then zoom in more, I can better see that some of those small parks are a chunk of a block, and some are triangles that are probably smaller than the footprint for a house. 

Just like we used Definition Query on the Borough_Boundaries layer to include only items whose fields match a certain criteria, we can also use it to exclude items depending on what is in certain fields. But let's figure out what parameters we want to set. 

  • Make sure that Explore is clicked in the Map tab and click on that really tiny park that's pointed out in the screenshot, or another park that seems a bit smaller than a house. It will give you the information that is on the row for that item on its attribute sheet. You'll see the name of the park, its number, its designated landuse, and its Area is set to 0 which is really weird, but maybe it's in a unit like miles or kilometers where there aren't enough decimal places.  This seems to point to the idea that a park with an area of  is too small, but let's take a look at another one that appears to be a better size, but still small, in order to check
  • Click on the smallish park just to the north of it and note that one also has an area of 0. Hrm, so we can either decide to use Shape_Length as the measurement we want to do a definition query based on, which isn't exactly ideal since a park might be very long but also very narrow, or we can see if we can edit the units of measurement used in the table for the park's area. Let's go with the second one. 
  • Right-click on Green_Spaces_BK_BX and choose Attribute Table. Scroll over until you find the column for Shape_Area,  right-click on the top and choose Fields. 
  • In the Fields menu, scroll down over to it and click on Numeric under Number Format and in the menu that opens, go to the Rounding section and change the Decimal places section to say 12, it starts out as 6.
  • Choose Okay and then select Save at the top of the fields menu
  • Now when you go back into the Attribute table for Green_Spaces_BK_BX, there are numbers in the Shape_Area section where once there were 0s
  • Go back to the two parks you measured previously, and note that the teeny too small one has an area of 0.000000023822 and the other one has an area of  0.00000012326 which is about 5 times as large. So, it seems like if we set a definition query at something between the two, say 0.00000005, then we should be able to only leave in parks that are sizable enough to be an asset to a school. 
  • Let's test that theory. Double-click on Green_Spaces_BK_BX and choose New Definition Query
  • Select Shape_Area as the field that you want to make the query based on, choose is greater than or equal to as the second dropdown and paste in 0.00000005 as the value and choose Apply.
  • The map will be changed to exclude those small parks, but the roadway park is still there, unfortunately. Move around on the map to note if all the parks that are left seem to be a satisfactory size. 
  • Let's see if there's something about those parkway sections that will make them easier to exclude as a group since size doesn't seem to be a criteria that will work for that. 
  • When you click on one of the green lines across Eastern Parkway, the accompanying Pop-up box tells you that its landuse is Parkway. So this seems like it could be a good category to exclude on, but it's a good idea to double-check. You can do that by checking and seeing what other of the green spaces are labeled Parkway as their landuse. An easy way to do that is to change the symbology of the layer. 
  • Right-click on Green_Spaces_BK_BX and choose Symbology
  • Currently, it's set to use the same symbol for every kind of park, but using the dropdown, switch it from Single Symbol to Unique Values. Next, use the Fields dropdown to select that the field you want it based on to be landuse. Change the Color Scheme to be the first option, Basic Random, as that one seems to have more differentiation between the different colors than the other schemes
  • So this does a couple of things, for one, you can see a list of all of the different kinds of land uses assigned to green spaces and see if any of them seem like they wouldn't fit the idea of a walkable park for primary or secondary-school activities(sorry, Cemetery), and you can see where each of these different kinds of park is on the map. 
  • You can manually edit the color for a given value by right-clicking on it in the Contents pane and choosing the color swatch you want to assign to that value. Since Parkway is one of the values I'm looking to see if I should exclude, I'll right-click and choose Red, then I'll look around the map and see if that covers all the sections that look like they're sandwiched between roadways. 
  • It looks like one section isn't changed to red like I'd been assuming, and when I click on it, I see that it's classified as a Mall.
  • Now I could just change the color of a Mall to something else that stands out and check to see where it is on the map, or I could highlight all of the sections containing that landuse by selecting them on the attribute table.
  • Right-click on Green_Spaces in the Contents pane and choose Attribute Table
  • Next to Select at the top of the Attribute Table choose the first icon which says Select by Attribute when you hover over it. 
  • This operates with a similar set of rules as the Definition Query, but it leaves all the other information in your attribute table, it just highlights the rows that you select. Select that the field you want to select based on is landuse and that you want it to be equal to Mall using the dropdowns. When you have it set, click OK
  • Now zoom out on the map and see which sections are highlighted in blue. Selecting a group of rows in the attribute table doesn't just highlight them in the sheet, it highlights them on the map too. This verifies that Mall is only used for those little strips of green on a roadway, and by excluding them, I won't be excluding any other kind of park.
  • Return to the attribute table and click on Clear Selection (the fourth icon over after Selection that is just a group of white lines).
  • Double-click on Green_Spaces in the Contents pane to open the Properties window, and navigate to the Definition Query tab. You'll see that it currently contains one query, which is the one we've set up to exclude parks under a certain size. We'll be modifying this query to also exclude parks whose landuse is Mall, Parkway or Cemetery. Click on Edit
  • You can set up a query to have a lot of parts to it. Click on Add Clause
  • The first decision to make is how to connect these two clauses, if I choose OR, it will select items that either are over a certain area or aren't a parkway, mall or cemetery. So I'll want to use AND, since I don't want green spaces that are too small, and I also don't want green spaces that fall into those landuse categories.
  • In your last definition query you were only choosing to include certain areas with is equal to, but you can use is not equal to in order to exclude certain areas.  Choose landuse as the field,  is not equal to as the middle dropdown and Cemetery. Repeat this for the other two categories of landuse you want to exclude, connecting each clause with And. Click OK when you have all 4 parts of the query set up. 
  •  Now your map has those categories eliminated from it. Switch it back to Single Symbol as the Symbology since you don't need to see the different kinds of landuses anymore. I'll be making it a bright green.  

You won't always be lucky enough to get a map that only contains the items that you need and nothing else extra, and that's why you should always be assessing whether everything on your map matches the criteria of what you need to include. By using definition queries you can cut down the layer into something that will be more useful, however, you should take careful notes of what you decided to include or exclude and why since you'll want to include that in the explanation of your project. 

Using Buffering Tools to Visualize Nearness

The Pairwise Buffer tool is used to create a new layer that expands out from the boundaries of a point, line or polygon a specified distance in all directions. That distance can be the same for all objects, or you can decide it based on one of the fields in your attribute table. For instance, if you are determining safe distance between a power plants and proposed parkspaces, you might have the buffer be different sizes based on whether one of the fields says a certain chemical is used or not. 

You can either do a Buffer  of a single distance from a line, point or polygon, or do a Multiple Ring Buffer. The latter creates rings of several different distances around a point, line or object. So for instance, if there was a proposed highway extension, you might want to create a ring of say, 50 feet to see where residents would get both air and noise pollution problems, and one at 150 feet to see where residents would just get noise pollution problems. 

We'll start off creating a Multiple Ring Buffer around the schools because I want to see how many streets children would have to cross at 1/8th of a mile, at 1/4 of a mile and 1/2 a mile to try to determine what I'll be saying is a "walkable" distance. Then I'll use the information I get from that layer to create a Pairwise Buffer around the school of what I decide is a "walkable" distance. 

  • Go to the Geoprocessing tool in your left-hand pane, and if necessary, use the back arrow to get to a search bar. Do a search for Multiple Ring Buffer, and click on the result. 
  • This will open up the configuration menu for the Multiple Ring Buffer. There's a decision to make here. Does it make more sense to create a buffer around the parks or the schools? After some thought, I'll decide to put it around the schools. My ultimate outcome is to be able to say whether a given school is within walking distance of a park, not whether a park is within walking distance of a school, so that will be easier if I have the attributes of the school within my buffer layer, which is what will happen if the buffer is created around the school layer.  
  • Click on PublicSchools_K12_BK_BX in the Contents pane and drag it into where it says Input Features in the Multiple Ring Buffer window.
  • Leave the default in the Output Feature Class option of PublicSchools_K12_BK_BX_MultipleRingBuffer
  • Before you start filling in the Distance, you'll need to fill in the unit that you want it to use. In the Distance Unit dropdown, select Miles
  • Fill in 0.125, 0.25 and 0.5 as the Distances that you want, using Add Another after the first two so you can get three boxes total. 
  • Take a look at the other options. If you were basing the distance you wanted the buffer for on one of the fields in your attribute table, this is where you would select that option and choose which field you wanted as a dropdown. 
  • There are a couple of more options that I'll leave the default for. I want the rings to be non-overlapping, and that the field that the distance will be recorded in will be called distance, and that the method will be Planar  (the latter has something to do with coordinate system, but it's nothing we have to worry about here). When you finish, select Run
  • The tool will run, and when it finishes, there will be a new layer in your Contents pane and on your map called PublicSchools_K12_BK_BX_MultipleRingBuffer. Make it a little easier to tell the difference between the different rings by right-clicking on the layer, choosing Symbology and setting the Symbology to be Unique Symbol based on the distance Field. 
  • Zoom in closer to the Bronx section of the map, and unfortunately it's hard to tell how many streets have to be crossed within each of these distances since they're opaque. This can be altered by changing the transparency. Make sure you have PublicSchools_K12_BK_BX_MultipleRingBuffer selected in the Contents pane and go up to the top of the menu bar to the Appearance tab. In the Transparency dropdown towards the left, move it until you can start to see roads through the buffer, but can still see the buffer itself. For me that's around 50%.
  • So by finding a school without many other schools around it, and zooming in on that dot,  it seems like .5 miles (the pink) has a lot of streets to be crossed, too many for me to call it walking distance, .125 (the blue) means crossing one long streets or two or three short streets, and .25 (the purple) means four or five short streets or one or two long streets. 
  • Check out your other area of the map, Brooklyn to confirm that seems like the case on average for those size of buffers there as well. From the results of this, let's split the difference between .125 and .25 and create a buffer that's .1875 or 3/16ths of a mile  that will serve as the distance we'll call walkable from a school. Click the check-box next to PublicSchools_K12_BK_BX_MultipleRingBuffer in the Contents pane to turn off this layer.
  • Go to the Analysis tab at the top and choose Pairwise Buffer. Drag PublicSchools_K12_BK_BX into Input Features since that's the layer you want to create a buffer around. Make the Distance 0.1875 and select that you want it based on Linear Unit and Miles from the dropdowns. Leave Planar as the Method
  • For Dissolve Type, leave it as No Dissolve in this instance but take notice of this field. There would be some cases where you'd want to use this field. Maybe you want there to be no additional information in the resulting layer's attribute table other than the name of the school. Maybe if I'd decided to put the buffer around the parks instead I'd only want to see the buffer for waterfront parks as one shape, and the buffer around gardens as its own separate shape. But I'm going to instead ask for all the information, as if I want to do a Dissolve that's actually a different Geoanalysis tool that I might do afterwards (Pairwise Dissolve in the same menu you got this tool from). 
  • When you have the configuration set up, choose Run, and when the tool finishes there will be a little buffer around each of the schools on the map. 
  • Open up the Attribute Table for your buffer layer. Because you didn't choose the dissolve, it actually has all of the information from your school layer, just with a few additional fields describing the size of the circle for the buffer. This will come in handy later.
  • Scroll through your map using the Explore tool,. Some schools are so close that their buffers intersect, and that is a deeper blue color, but where there is only one shade of blue, it's a lighter color. That's because the buffer layers are set to partially be transparent.  For some of the schools, part of their buffer does overlap with a park, but for others, it does not.


Fortunately, you don't just have to eyeball it, to try and figure out how common each case is, because there is a tool that will find wherever the buffer layer overlaps the park layer called Pairwise Intersect

Using the Pairwise Intersect Tool

You can use the Pairwise Intersect geoanalysis tool to look for where two different layers overlap and make a new layer that just contains the areas that overlap.

  • Go to Analysis tab at the top and select Pairwise Intersect from the scrolling menu (mine takes two downward scrolls to get there)
  • This will open the configuration for the tool on the right hand side. Click on Public_K12_Schools_BK_BX_Walkable in the Contents pane and drag it over where it says Input Features. Do the same with Green_Spaces_BK_BX.
  • Change the Output Feature Class name to SchoolsWalkableFromPark. Leave the other options as their defaults and click OK
  • When the tool finishes, it will add the layer SchoolsWalkableFromPark.  Right-click on its color swatch in the Contents and change it to a color that stands out from the buffer layer (I choose pink). This displays quite nicely what this tool did which is to create a shape that shows where the buffer around a school intersected with the layer of parks. As you surmised from your earlier look, some schools have parks within this buffer, some do not. 

  • Right-click on SchoolsWalkableFromPark and choose to open the Attribute table. Scroll through all of the headings and note that the each of the little pink shapes contains both the information about the park, and the information about the school. Some rows have the same school names (the field FACNAME) as others as some schools are walking distance from more than one park. 
  • There are some different summaries you can do with this data. You can even export this table by right-clicking on SchoolsWalkableFromPark and choosing Data and Export Table if the intended outcome of your project was to show what percentage of schools were in walking distance of a park (or even which kind of park) in a chart, but let's move on to see how to display this information visually on the map. To do that, let's do one more simplification with Pairwise Dissolve.

Using Pairwise Dissolve to Simplify Your Map

When you zoom in and out or pan the map, it can take some time to redraw these layers, because any individual circle can have multiple intersections due to there being multiple parks' or schools' buffers which intersect. With the Dissolve tool you can turn these many different intersections into one object, or one multipart object per selected field. This is a tool that can be used to simplify the attribute table as far down as containing one object if you don't care about any of the other attributes (like if you don't want to know which elementary school and which park a given intersection is near). You can also choose to keep some amount of information about the individual intersections by choosing a field to make the dissolve based on. For instance if I wanted one of these shapes to just consist of all the occasions where an elementary school overlapped and another to consist of all the times a high school overlapped I'd make the Dissolve Field FACTYPE. Or if I wanted there to be a separate shape based on each park, I could make the dissolve field park_name. In this case, let's make a different row for each school and use FACNAME

  • First, open the Attribute Table for SchoolsWalkableFromPark to ensure that you know where the school name is located, and to confirm if each different shape associated with a school and a park has its own ID. Once you've figured out that a school's name is located in FACNAME, right click on that field and choose Sort Ascending.
  • Now that all of the different intersecting shapes for a school are stored together you can scroll through and confirm that yes, there is a different OBJECTID associated with each instance of a school. These two bits of information will be of use to you as you configure the Pairwise Dissolve tool. Close the Attribute table. 
  • Go to the Analysis tab and scroll through the menu to reach Pairwise Dissolve (in my case it takes five downward scrolls) and select it. 
  • Drag In SchoolsWalkableFromPark into Input Features since this is the layer that you want the dissolve to be based on.
  • Make the Output Feature called SchoolsWalkableFromPark_DissolveBySchool
  • Select the Dissolve Field  as FACNAME since we want the different shapes dissolved together but separated for each school
  • Some other information from the sheet can still be included, and I'll choose to do that by going to Statistic Field(s) and choosing from the dropdown that I want statistics related to OBJECTID, and that the statistic I want is Count. Basically that means that it isn't going to take those ID numbers and total or average them, but will tell me how many unique numbers there are. So if a school's buffer intersected with two different green spaces, then there will be two different OBJECTIDs associated with it and the Count will be 2. This will also enable me to check that the dissolve worked, since I'll be able to easily compare it to the attribute table for SchoolsWalkableFromPark
  • Speaking of making sure that all the intersections associated with a school's buffer are included, make sure that Create multipart features is checked, so that where multiple school's buffers may intersect with a park, or where a school's buffer intersects with multiple parts that each intersection will be included.
  • When this all set up, click Run and when it finishes, a new layer will appear on your map, called  SchoolsWalkableFromPark_DissolveBySchool. Make it a different color from your other layer so you can better make sure that it is covering all areas. I've chosen yellow.
  • Right-click on the layer and open its attribute table. This is much simpler than the other layer's table, it only contains the name of the school and how many shapes were associated with it on the previous map. 
  • By a spot-check I'll see that for example, the A-TECH HIGH SCHOOL which is listed as having a count of 12 did indeed have 12 different intersections associated with it on the original SchoolsWalkableFromPark intersection layer so it looks like it has worked.   

This dissolve layer has now simplified the information we've created using these geoanalysis tools into one simple map that shows which park areas are walkable from a given school. Now let's take that information back to our original school layer so we can answer our research question, of which schools are walkable from a park in our chosen boroughs, and which aren't. 

Joining Layers and Using Calculate Field

This is something you've probably done previously, but in case you've skipped to this lesson, you can join your final results layer SchoolsWalkableFromPark_DissolveBySchool to your original layer of public schools Public_K12_Schools_BK_BX in order to include its information in how you symbolize those schools. 

  • To eliminate confusion, turn off all the layers except for your original two Public_K12_Schools_BK_BX  and Green_Spaces_BK_BX.
  • Right-click on Public_K12_Schools_BK_BX and choose Joins and Relates and Add Join
  • Drag Public_K12_Schools_BK_BX into Input Table, and choose that the Field that you want to base the join on to be FACNAME. Drag SchoolsWalkableFromPark_DissolveBySchool into Join Table and choose that the Field you want to base the join on to be FACNAME as well since both fields contain the same information in each layer, the name of the school that either the point, or the overlap area with a park is associated with. 
  • Choose Validate Join to confirm that this will work, and when no errors come up, choose OK
  • It may look like nothing has changed, but when you open the Attribute table for Public_K12_Schools_BK_BX  you'll see that there are extra fields including COUNT_OBJECTID  which is the field that says how many green spaces were walkable from a school, and that for some schools there are values in these new fields, and for others it just says <Null>
  • I could choose to just create a new symbology from this column, but the green space map tells me that there are many occasions where these green spaces overlap with each other (i.e. in McCarren Park, the park, the tennis court, and the track each count as a separate green space) so I don't think that the number of green spaces that fall within a school's buffer (its COUNT_OBJECTID) is necessarily an accurate one, and I only care if there is any green space at all that is walkable or not, in other words, whether there is any number in the COUNT_OBJECTID field, or whether it is null. 
  • So I'll create a new field that's just called WalkableFromPark and either populate it with Yes or No and use that field to change the symbology. 
  • Next to Field at the top of the Attribute Table I'll chose the first icon, Add Field. That takes me to the Field View. Scroll to the bottom and choose that you want that new field's Field Name and Alias to be WalkableFromPark and that its Data Type will be Text
  • Go up to the top of  Fields menu and choose Save when you have it set
  • Leave the Fields menu when you have it saved, and in the original attribute table you'll see there's a new field called WalkableFromPark that presently just has <Null> for every answer. 
  • Let's use the Select By Attribute and Calculate Field functions to edit the WalkableFromPark field to have a No if it wasn't on the layer of schools walkable to a park and a Yes if it was. The field we can use to do this is COUNT_OBJECTID, since a given school will only have  <Null> for that field if it wasn't walkable to a park, and any number in that field will mean that it was on my final map of areas where a school buffer intersected with a park. 
  • Click on the first icon next to Selection on the attribute table, the one that says Select by Attribute when you hover, and select that you want to select any row where the field COUNT_OBJECTID is null, using the two dropdowns. After you do this, all the rows where this is the case will be highlighted. 
  • When you make a selection, any mass edit with Calculate Field that you make will only happen to that selection. So go over to WalkableFromPark , right-click on it and choose Calculate Field
  • The window that opens will have a lot of options, but in this case, you're just entering text so you just have to put the word "No" in the field for what Public_K12_Schools_BK_BX.WalkableFromPark should equal. You have to use the quotes so it doesn't think you are referring to a field, variable or function. I'll click the box for Enable Undo anyway however, just in case. When it's set, I'll choose Apply and then OK
  • The selected rows in the WalkableFromPark column will change to No. Next I'll want to switch all the other ones to say Yes. Fortunately, there's a quick way to invert which rows you have selected (i.e., these rows will be deselected, and all the ones that are currently deselected, will now be selected). It's the third icon over after Selection: and when you hover over it, it will say Switch Selection
  • Right-click on WalkableFromPark, and choose Calculate Field so you can batch-edit this different selection. In this one, make the field Public_K12_Schools_BK_BX.WalkableFromPark equal to "Yes". Click Apply and then OK.
  • When this is set, scroll through, and make sure that it looks like the column has populated correctly. Choose to Clear Selection (the group of white lines that's the fourth icon over on the Selection menu of the Attribute table).
  • Now let's change the symbology to be based on this new column. Right-click on the Public_K12_Schools_BK_BX layer in the Contents Pane and choose Symbology
  • Change the dropdown to be Unique Values and that you want it based on the Field of WalkableFromPark. It'll populate the symbols as being for either No or Yes. I'll use the Format Symbol menu to make both 6pt in size, and the No symbol to be red, and the Yes symbol to be a blue-green, so they are both able to be differentiated from each other and against the greenspace of the parks. 

By using geoanalysis tools, we've seen how two different layers relate to each other on the map, and altered one of our existing layers to display the results of that analysis.  Now, time to save this map. 

Saving Your Map

  • Click on the Project icon at the top of your menu bar and choose Save. If you are on your own laptop and don't plan on sending yourself a copy of your file to open elsewhere, you're all set. However, if you want to open this project file in another computer, or if you want to send your professor your project because it's finished or because you have a question, this is only part of what you need to do to ensure that you'll be able to access the project later. The other steps will need to occur in Windows Explorer, so exit ArcGIS Pro. 
  • In Windows Explorer, navigate to the path that your project was saved to at the beginning of this lesson, and locate the folder SchoolsAndGreenSpaces. 
  • Click to open it and make sure that shapefiles and geodatabases used in the project are all there. 
  • Go back up a level to where your SchoolsAndGreenSpaces folder is located. Right-click on the SchoolsAndGreenSpaces folder and choose Send to and select Compressed (zipped) folder.
  • Windows will create a zip file of your project folder with your project file in it along with all the other files that it depends on. This zip file is what you will want to save to your Google Drive or flashdrive in order to access this project later if you are not just using ArcGIS Pro on your personal computer.
  • I've attached my finished zip file below if you want to see how I constructed it, it's the project file called SchoolsAndGreenSpaces_End.

Learning Goals

With ArcGIS Pro, you can do more than just run the tools individually that come with your toolbox, you can create your own model. A model lets you string together a series of geoanalysis tools into a workflow. When you have finished creating your model you can run it using specified map layers and data, and can even set it up to perform the same tasks on different tables or layers. Additionally, a final view of the model works excellently as a illuminating graphic you can use in your paper or project to explain to the viewer exactly how you processed your data.

With this exercise, you'll be working to create a map similar to the one you created in the last module that showed which schools are within 3/16th of a mile of a park in Brooklyn or The Bronx. This time, you'll run the process on Staten Island and Queens using the procedure we came up with in the last tutorial, but we'll first input all the steps into a model, and then run them all at once. This can be helpful if you already know all the tools you plan to apply to your map, and just want to automate it. 


Getting Started

  • Extract the and open the map project file inside. 
  • Take a look at the layers placed in the Contents pane: Public_K12_Schools, Borough_Boundaries and Green_Spaces. Open the attribute tables and see what information is created within it.  The Borough_Boundaries layer hasn't yet been modified to only display Staten Island and Queens boundaries, so that is a step that we'll be undertaking before we build our model. Alas, there isn't a way to automate definition queries as part of the model.
  • I did however, already modify the Green_Spaces layer to match the criteria from the last lesson for the size and park type since that definition query was more complicated. You can go to the properties for that layer and see what I entered in under the Definition Query window

Creating a Model

In the last exercise, you went through multiple steps, some first on one layer, and then on another, in order to create a map that used open GIS data to illustrate which public schools in Brooklyn and Bronx were walking distance from a green space.  Since you now know which geoprocessing tools can be used to create this map, you'll next be adding those same tools to a model which you can then run and automate your process. This model is going to be stored in your toolbox.

A model consists of data (layers, feature classes, tables, shapefiles) and tools with connections made between them. You can use not only data that you already have on hand, but also the data that occurs when a new layer is created as a result of a task being performed on an existing layer. 
Please note, if you need more information about what each of these tools is doing, consult the last tutorial in this module, this module is concentrating on how to add these tools to the model, not how they work.

  • In your Catalog pane, use the arrow next to Toolboxes to expand it, and there is already a toolbox automatically created for this project with its name of SchoolsAndGreenSpacesForModel.tbx. Click on the arrow next to it and expand that and there's an icon below it just called Model. If that isn't there, then you can just right-click on the toolbox for your project and choose New > Model
  • Right-click on Model and choose Edit
  • This will open the editor window for your modelThis is where you will create your model that when run will:
    • Select only Staten Island and Queens  on your Borough_Boundaries  layer and export that new layer
    • Clip your Green_Spaces layer to your Borough_Boundaries layer, thus creating a layer limited to the boroughs you selected
    • Clip your Public_K12_Schools layer to your Borough_Boundaries layer, thus creating a layer limited to the boroughs you selected
    • Create a buffer of  3/16th of a mile around the points in the Public_K12_Schools layer
    • Use the Intersect tool to create a layer showing just where that buffer layer intersects with the Green_Space layer

There are a couple of benefits of creating this model to automate the process rather than doing each step by hand. One is, you can plan out exactly what steps are going to be undertaken in advance. Another is, you are creating a visual representation of the analysis you undertook that would look great in a presentation or paper. And another is, you can add what are called Parameters along each step of the model which can be modified each time the model is run. So if say, I decide that 3/16th of a mile is too far to expect elementary schoolers to walk and that I want to make a new map with a different layer that only contains elementary schools, I can change the parameter for the buffer, change the original input map for that contains the school, and can run the model again, keeping all the other steps the same.  More on that in the section after this one.

Adding Select to the Model

So a model is a set of commands and data and parameters that also visually shows how that set of tools is run. The same way that we can drag a layer onto a map, we can drag map layers into a model. 

Let's start with selecting only the boroughs we want in Borough_Boundaries

  • Click and drag Borough_Boundaries onto the model window.  A little oval will appear that says Borough_Boundaries
  • The same way that we add data to the model, we can add tools as well. Go over to the Catalog pane and use the little menu tabs at the bottom to move over to go to the Geoprocessing menu. In the search bar at top, type in Select. For the option at the top Select (Analysis Tool), click and drag it onto the model window.
  • Click in the center of the Borough_Boundaries bubble and a little arrow will appear, drag that arrow onto the Select box. A menu will appear asking you what function this data serves. Choose Input Features. The arrow will then connect Borough_Boundaries and Select and all shapes will be in color. 
  • Double-click on Select and here is where you can put in the query you are using to only select lines where Queens  or Staten Island  is the borough name. Use the dropdowns to select that you only want items where the Boro_Name is Queens OR (and make sure you select that from the dropdown rather than ANDthe Boro_Name is Staten Island
  • So we know what this new layer is, let's make the output name have _QSI at the end. 
  • Select OK and you've added this property to the tool.  The gray oval that used to be called Output Feature Class  is now labeled with the name you put for the new feature class, Borough_Boundaries_QSI

Adding Clip Tools to the Model

Now that you've created a new layer that just has the borough outlines for Queens and Staten Island, it's time to use it to clip the school and green spaces layers, the same way that you did in the first part of this lesson, only now you'll be putting those steps in as part of the model. 

  • Click on Green_Spaces in your Contents pane and drag it into the Model window. An oval with that label on it will appear. 
  • Add the Pairwise Clip tool to your model by searching for it in the Geoprocessing pane and then dragging and dropping the search result into the Model windowA white box labeled Pairwise Clip  will appear on the screen, along with an oval that says Output Feature Class.
  • Click in the middle of the oval for Green_Spaces and draw a line to the box that says Pairwise Clip. An option menu will appear asking you if you want it to be the Input Features or the Clip Features. Select Input Features.
  • Click on the oval for the new layer you created with the last step of model, Borough_Boundaries_QSI and draw a line from it into the Pairwise Clip box connected to Green_Spaces. When the window pops up asking you if the connection is Input Features or Clip Features select Clip Features since these are the features you want your Green_Spaces layer clipped to. 
  • Once you do this, the colors should come in. Double-click on the Pairwise Clip box to check that that the parameters are correct, and to change the output feature class name to end in Clip_QSI then click OK and the green oval will now have that new name for the feature class. 
  • Let's repeat the same steps for the Public_K12_Schools layer. For sake of making my model diagram less crowded, I'll drag that layer so it's positioned an inch or two above the selection section of the model. 
  • Once I've got that in place, we'll do the same process that I did for Green_Spaces. Drag Pairwise Clip onto the model canvas.
  • Connect the Public_K12_Schools oval to the Pairwise Clip box as the Input Features and  Borough_Boundaries_QSI as the Clip Features
  • Finally, double click on Pairwise Clip (2) - the one attached to Public_K12_Schools, to open its Parameters window and make the name of the output feature class Public_K12_Schools_Clip_QSI
  • When you finish, your model should look something like the below. 

Creating a Buffer around the Public Schools Layer

The Buffer tool creates a new layer with a buffer circle at a given distance from every point in a layer. Like the other tools used on an individual basis in the last exercise, you can add this tool as part of a model and create a buffer around your layer with the public schools on it for 3/16th of a mile (0.1875 miles).  

  • Search in the Geoprocessing pane for Pairwise Buffer and when it appears in the search results, click and drag it onto the model window near the oval for Public_K12_Schools_Clip_QSI since that's what you'll be connecting to it. 
  • Click on the Public_K12_Schools_Clip_QSI oval and drag the arrow that appears over to Pairwise Buffer and in the window that appears, choose Input Features 
  • Double-click on the Pairwise Buffer box to open its Parameters window. Change the Output Feature Class to be named Public_K12_Schools_QSI_Buffer . and for Distance, select Miles from the dropdown and enter in 0.1875. Leave the other options as their default.
  • Click OK, and the oval for Output Feature Class will change to the new name you've given it. 

Calculating Intersection Between Layers

The Intersect tool will look for the places where two layers intersect, and export a layer containing only those intersections. Like the other tools in the last exercise, it can be added to the model. You'll add this tool calculating the intersection between Green_Spaces_Clip_QSI and the new layer you just created with the buffer around the public schools.

  • In the Geoprocessing pane, search for and find the Pairwise Intersect tool. Click on it and drag and drop it onto the model window.  
  • Move the box labeled Pairwise Intersect and oval labeled Output Feature Class to the right of Public_K12_Schools_QSI_Buffer and Green_Spaces_Clip_QSI
  • Click on each of Public_K12_Schools_QSI_Buffer  and Green_Spaces_Clip_QSI  and drag the resulting arrows onto Pairwise Intersect. Select that you want them to be Input Features when the window pops up asking. Repeat the process for EighthMile_Diss
  • Double-click on the box labeled Pairwise Intersect to configure parameters. You'll notice both layers are already in the Input features. Change the Output Feature Class to be Walkable_Schools_QSI and this changes the name of the green oval on your model

Saving and Running the Model 

When your model looks like the below, you'll be set to run it. Click on the little icon up top that looks like a disk and says Save

  • Go back to the Catalog pane, where  Model appears within your toolbox for this project. Double-click on it, and it will open the Model within the Geoprocessing pane. Go to the bottom and click on Run like you would with any other tool 
  • When the model finishes running, you'll see that there is now a layer called Walkable_Schools_QSI in your geodatabase. If you drag and drop it onto your map, there will be a small shapes all over your map that show where the buffer around a school intersected with something in the Green_Space layer


Adding a New Step to Your Model

As we did in the last section of this module, once we have an intersect layer that will show where the buffer around the public schools intersects with green spaces, we'll want to create a dissolve around just the field for the name of the school. That way we just have one shape associated with each school so making the join at the very end will be easier, and there won't be as many shapes in a layer on the map. We'll be configuring it like we did in the last lesson. For more information on how it's being configured, consult the last tutorial

  • Use the Geoprocessing pane to search for Pairwise Dissolve. When you locate that tool, drag and drop it onto the model window below Walkable_Schools_QSI.
  • Click on Walkable_Schools_QSI and drag the resulting arrow into the Pairwise Dissolve box
  • Double-click on the Pairwise Dissolve box to configure its parameters. Like last time, we want the Dissolve Field(s) option to be FACNAME but that doesn't seem like an option, uh oh. 
  • Don't worry, when you click on the little arrow next to the Dissolve Fields option, there appears a menu with different field options with checkboxes next to them, and a small button that says Add. Click on that button, and then type in FACNAME. This can happen sometimes on the model for layers that as far as the model is concerned are merely theoretical. It should be noted though you can only do this if you absolutely KNOW what a field name will be after a tool is applied to a layer. 
  • Like last time, we'll want there to also be a listing of the Count of the unique ID for each intersection shape. So for Statistics Field(s) choose ORIG_FID and Count from the dropdown. Change the Output Feature Class to be Walkable_Schools_QSI_Dissolve. Make sure that Create Multipart features is checked off. 
  • Click on OK. Save your model with the icon up top. 

Running Your Updated Model

Now that you've updated your model, let's see if that new step works when you run the whole model as a finished piece. 

  • Double-click on Model under your toolbox in your Catalog pane and choose Run when it opens in the Geoprocessing pane.
  • The model will run, telling you the steps as it goes through them. Your Walkable_Schools_QSI layer will disappear, but don't worry, you'll be able to add in the new results you've just made. 
  • Right-click on the geodatabase for your project SchoolAndGreenSpacesForModels and choose Refresh. The new finished product from your model Walkable_Schools_QSI_Dissolve is there. Drag and drop it onto your map to confirm that it is spatially where you expect. 
  • Open the attribute table for WalkableSchools_QSI_Dissolve and confirm that there is indeed one and only one row for each school. 

If you choose, you can next join the Walkable_Schools_QSI_Dissolve layer to the Public_K12_Schools layer and map which schools are walking distance, the same way we did last lesson, although unfortunately the model only saves the final layer created, we've lost the clip layers previously created in the model for the public schools, so you'd need to do a definition query to narrow Public_K12_Schools to just the two boroughs we are interested in. 

To see how we can create a model that is more re-usable, let's move on to the next module, but first, let's save this one. 

Saving Your Map

  • Click on the Project icon at the top of your menu bar and choose Save. If you are on your own laptop and don't plan on sending yourself a copy of your file to open elsewhere, you're all set. However, if you want to open this project file in another computer, or if you want to send your professor your project because it's finished or because you have a question, this is only part of what you need to do to ensure that you'll be able to access the project later. The other steps will need to occur in Windows Explorer, so exit ArcGIS Pro. 
  • Navigate to the path that your project was saved to at the beginning of this lesson, and locate the folder SchoolsAndGreenSpacesForModel. 
  • Click to open it and make sure that shapefiles and geodatabases used in the project are all there. 
  • Go back up a level to where your SchoolsAndGreenSpacesForModel folder is located. Right-click on the SchoolsAndGreenSpacesForModel folder and choose Send to and select Compressed (zipped) folder.
  • Windows will create a zip file of your project folder with your project file in it along with all the other files that it depends on. This zip file is what you will want to save to your Google Drive or flashdrive in order to access this project later if you are not just using ArcGIS Pro on your personal computer.
  • I've attached my finished zip file below if you want to see how I constructed it, it's the project file called SchoolsAndGreenSpacesForModel_Complete. I've also attached an svg picture of the model

Learning Goals

In the last exercise, we created a model that went through most of the same steps of what we did in the first module. Now let's make the model more flexible, so that the same steps can be undertaken and we can add in different parameters. 

We'll be working with a file that's very close to the last one, but I've added another layer that we'll be applying our model to

Getting Started

  • Extract the and open the map project file inside. 
  • Take a look at the layers placed in the Contents pane: Public_K12_Schools, Borough_BoundariesGreen_Spaces and the layer created last time by our model Walkable_Schools_QSI_Dissolve . Open the attribute tables and see what information is within each layer just so you are familiar with them.
  • In the Toolbox option on the side in the Catalog pane, there's a model in the toolbox created for this project. Right-click on Model and choose Edit to get familiar with what its steps currently are. If you need a refresher on what parameters are required by the tools, doubleclick and look at their Parameters windows.  

What Adding Variables and Parameters To A Model Does

Basically the point of adding parameters and variables to certain steps of our model is to give it more flexibility. If you run a model that has parameters involved instead of one without them, you will be presented with options where you can select which layer you are applying a given step in the model to, or enter in a different variable or number, or what you want an output feature class's name to be, or what amount you want it to buffer. This can be helpful if you know you want to apply basically the same tool to a lot of different layers, or if you want to make slight modifications to a model and run it multiple times to make different layers, or if you wanted to send someone your file that has this model in it and let them copy this model for use with their project. It makes this tool closer to the other ones that come with ArcGIS Pro that will gather information from you and let you customize what it will do before it runs.

So we'd want to introduce a parameter option whenever there is a value or input feature we might want to be different than the default values we've run in that first model. 

For example, if I wanted to keep the model basically the same, but put in a different layer with school locations, say one that only contains elementary schools, I'd change the parameter for the school file that gets used throughout the model. If I want to have the flexibility to run the full model again but with a different buffer distance, I can create a variable on the Pairwise Buffer tool. 

You can also customize your model to save some of the data created by some of those intermediate steps. 

In this case, I want to be able to run this tool for other boroughs and to have the option for the borough to be wider or smaller. So I'd like to have the option to change the selection tool, and run Pairwise Buffer for a different buffer distance. I'll also want this new model to save the clipped version of the Public_K12_School layer to make it easier to join to the dissolve layer at the end. So let's make those changes.

Assessing the Existing Model

  • We'll want to use the existing model that we've made as a jumping off point, but let's keep the original untouched just in case we want to compare the outcomes of running each model
  • Go to the Catalog pane, and right-click on Model which is in your toolbox, and choose Copy
  • Right-click on the toolbox for this project SchoolAndGreenSpacesForModel.tbx and choose Paste. It'll make a new model, Model 1
  • Right-click on Model1 and choose Properties. Change its label to be UpdatedModel  so you can more easily tell them apart. 
  • Right-click on UpdatedModel and choose Edit. That opens the model in a new window. 

Let's look at this model as a whole. It is designed to:

  1. Select just certain portions of the Borough_Boundaries layer and export that selection as a new file
  2. Pairwise Clip both the Public_K12_School and Green_Spaces layers to the new Borough_Boundaries layer made from the new selection
  3. Use Pairwise Buffer to create a new layer from the clipped Public_K12_School file that shows where a buffer of 3/16th of a mile falls around each school
  4. Use Pairwise Intersect to see where the buffered Public_K12_School layer and the clipped Green_Spaces layer overlap with each other, and export a new layer that just consists of that overlap
  5. Use Pairwise Dissolve on that intersect map, so that each school gets its own shape and the map is less complicated. 

So by looking at those steps and thinking where on the steps we might want to tweak the commands the model uses or what data it is using, I decide that if I want to hand off this tool to someone who might want to measure what distances other facilities are from NYC's green spaces, I'll make it so someone can substitute something else in for that public school layer, make it so they can select different boroughs or make it so that the buffer distance can be different. So those are the places on the model I'll add a parameter too.

Creating a Model with Parameters and Variables

Let's proceed through this in order. The first thing that occurs in the model that we want to change is what Select query is given to the Borough_Boundaries layer. 

  • Right-click on Select and choose Create Variable -> From Parameter -> Expression. A new box will appear connected to Select with an arrow labeled Expression
  • Double-click to open it, and you'll see the Selection Query that you created before. Get rid of the two clauses there, because you'll want to be asked what to put there when you run the tool. Right-click on Expression and choose Parameter. A little P will appear, which means when this tool is run, the person running it will be asked to supply what goes into the expression
  • Right-click on the oval for Borough_Boundaries_QSI and choose Parameter. A little P will appear next to it, this means that it will ask what you want the output name to be. 
  • That will handle the borough selection process. The Clip processes can stay the same, but let's right-click on the Public_K12_Schools_Clip_QSI and Green_Spaces_Clip_QSI ovals and choose Parameter since if I'm clipping these maps to a different borough, I'll want to name the layer something different. 
  • Let's also right-click on Public_K12_Schools_Clip_QSI and choose Add to Display so that the layer will appear on the map. 
  • Right-click on Pairwise Buffer and choose Create Variable -> From Parameter -> Distance and then right click on the new oval that appears Distance [value or field] and choose Parameter. And the little P will appear. 
  • That's the last variable you will need to add, however, since the selection process will change the borough you are selecting, go to the last few three ovals representing output files, Public_K12_Schools_QSI_Buffer, Walkable_Schools_QSI and Walkable_Schools_QSI_Dissolve , right-click on them and choose Parameter.
  • And since you want that last map to show up automatically, right-click on Walkable_Schools_QSI_Dissolve,  and choose Add to Display
  • Go to the top and save your model.

Running Your Model with Parameter

  • Go back to your map view and turn off the layer created with the last section. 
  • Go to the Contents pane and open Toolboxes, then the toolbox for this project SchoolAndGreenSpacesForModel.tbx. There are now two models underneath it. Double-click on the one we just created UpdatedModel that contains the parameters and unlike when we made the last one, instead of it just having Run as a box at the bottom, it has a series of parameters that currently contain the defaults from the model but are able to be modified. 
  • Let's switch the BoroName query to just select the rows where the  BoroName is equal to Manhattan using the dropdowns.
  • To reflect this change in what gets added to the map when this tool is run,  change each of the output file names to replace QSI with M (i.e. change Borough_Boundaries_QSI to Borough_Boundaries_M ​​​​​​, etc.)
  • Lastly, we put in a variable on the Pairwise Buffer command so that we could change the distance that we considered walkable. Let's say in this case that since we are doing this analysis function on Manhattan, that we want to change it to .125 miles since the grid is denser and traffic is heavier. So, the same as we would if we were using a Pairwise Buffer tool by itself, we'll go to Distance [value or field] and choose .0125 for the unit of distance
  • At the end, when the Parameters list for this tool has all of those changes made, it'll be ready to run. 
  • When you're sure it's set, choose Run.
  • The tool will keep you posted as it runs the tool and it will add the new layers
  • Unclick the boxes for visibility in the Contents pane for every layer but Green_Spaces, Public_K12_Schools_Clip_M  and Walkable_Schools_M_Dissolve. and you should just see some dots in Manhattan and some little purple polygons in there as well. The layer Walkable_Schools_M_Dissolve are the areas of parks that are in walking distance of schools. By right-clicking on it, and choosing Attribute Table,  we can confirm that each of the shapes in that layer is affiliated with a school, with the only other information on the table being how many green spaces that school is associated and the area information about that shape. 

Now, if we wanted to we could undertake the last few steps that we did at the end of our original geo-analysis unit when we were doing each of these steps individually, and join this layer and the Public_K12_Schools_Clip_M layer together in order to classify schools on whether or not they are walking distance from a park. The key difference being that instead of arriving at this step after taking each other step individually, we did them all as a unit. If we wanted to we could make the data files for the public school and green spaces layers variables as well. That way we could swap in a subway station layer for the green spaces layer and use the same tool to see which schools were walkable from subway stations. We could run the tool on a public schools map for just high schools, and one for just elementary schools and add different buffer distances for each. We could even make the Borough_Boundaries data layer a variable and pick up this whole process and use park and school files for a whole different city that is divided into sections. The model tool, and the ability to add parameters to it allows you to automate a process that you've created for a map and repeat it on different areas, or with different configurations. 

Saving Your Map

  • Click on the Project icon at the top of your menu bar and choose Save. If you are on your own laptop and don't plan on sending yourself a copy of your file to open elsewhere, you're all set. However, if you want to open this project file in another computer, or if you want to send your professor your project because it's finished or because you have a question, this is only part of what you need to do to ensure that you'll be able to access the project later. The other steps will need to occur in Windows Explorer, so exit ArcGIS Pro. 
  • Navigate to the path that your project was saved to at the beginning of this lesson, and locate the folder SchoolsAndGreenSpacesForModel. 
  • Click to open it and make sure that shapefiles and geodatabases used in the project are all there. 
  • Go back up a level to where your  SchoolsAndGreenSpacesForModel folder is located. Right-click on the  SchoolsAndGreenSpacesForModel folder and choose Send to and select Compressed (zipped) folder.
  • Windows will create a zip file of your project folder with your project file in it along with all the other files that it depends on. This zip file is what you will want to save to your Google Drive or flashdrive in order to access this project later if you are not just using ArcGIS Pro on your personal computer.
  • I've attached my finished zip file below if you want to see how I constructed it, it's the project file called SchoolsAndGreenSpaces_ForModel_Parameters. I've also attached an svg picture of the model