CHAPTER 6
Geoprocessing
LEARNING GOALS
- Dissolve block group polygons to create neighborhoods and fire battalions and divisions.
- Extract a neighborhood using attributes to form a study area.
- Extract features from other map layers using the study area.
- Merge water features to create a single water map.
- Append separate fire and police station layers to one layer.
- Intersect streets and fire companies to assign street segments to fire companies.
- Union neighborhood and land-use boundaries to create detailed polygons of neighborhood land-use characteristics.
- Apportion data between two polygon map layers whose boundaries do not align.
Introduction
Geoprocessing is a framework and set of tools for processing geographic data. Generally, you must use geoprocessing tools to build study areas in a GIS. In this chapter, you will learn how to extract a subset of spatial features from a map using attribute or spatial queries; aggregate polygons into larger polygons; append layers to form a single layer; and use intersect, union, and tabulate intersect tools to combine features and attribute tables for processing. In this chapter, for example, you’ll process and prepare map layers for emergency management officials in New York City’s Manhattan borough and one of its neighborhoods, the Upper West Side.
Tutorial 6-1: Dissolve features to create neighborhoods and fire divisions and battalions
Suppose emergency response planners want to know the number of housing structures or units by neighborhood for planning purposes. New York City neighborhoods are composed of block groups that include housing data. In this tutorial, you’ll create neighborhood boundaries in the Manhattan borough by dissolving block groups with common neighborhood names. For each neighborhood, dissolving retains the neighborhood’s outer boundary lines but removes interior lines. The Dissolve tool can aggregate input block group attributes to the neighborhood level, using statistics such as sum, mean, and count. In particular, you’ll sum the number of structures in housing units by neighborhood.
- 1.Open Tutorial6-1.aprx from the Chapter6\Tutorials folder, and save the project as Tutorial6-1YourName.aprx.
- 2.Use the Manhattan bookmark. The map contains Manhattan block groups with housing units and structures.

Examine the dissolve field and other attributes
The Dissolve tool needs data—a dissolve field, on which block groups combine into a neighborhood. In this case, Name is the dissolve field, and that field contains the neighborhood name to which each block group belongs.
- 1.Open the ManhattanBlockGroups attribute table, and sort the Name field in Ascending order. As you scroll, you can see the block group records that make up each neighborhood. The figure shows some of the block groups for the Battery Park City-Lower Manhattan and Central Harlem South neighborhoods.

- 2.Scroll to the right, and examine the remaining attributes. Values are an estimate of the number of housing units in structures of different sizes, along with the total number of housing units in each block group. For example, the field TOT1_Detached is a one-family house detached from any other house. Mobile is the total number of mobile homes in a block group. TOT20_49 includes the total number of housing units, for each block group, in structures containing 20 to 49 units (that is, fairly large apartment or condo buildings). TOT50 is the total number of housing units in structures containing 50 or more units (mainly high-rise apartment and condo buildings). When dissolving block groups, you’ll sum these housing unit values by neighborhoods, which will indicate housing density.

- 3.Close the table.
Dissolve block groups to create neighborhoods
- 1.On the Analysis tab, in the Tools gallery, click the Dissolve button
.
- 2.In the Dissolve pane, under Input Features, select ManhattanBlockGroups.
- 3.Type ManhattanNeighborhoods as the Output Feature Class in Chapter6.gdb., and select Name as the Dissolve field.
- 4.Click Add Many from the Statistics Field(s) option, scroll down, click the check box beside each of the TOT fields, and click Add.

- 5.Click Sum for Statistic Type for each statistics field.
- 6.Run the tool, and close it after it finishes. A new neighborhoods feature class appears in the Contents pane.
- 7.In the Contents pane, open the ManhattanNeighborhoods attribute table, and click Sort Descending on the Sum_TOT50 field. For example, on the Upper West Side, there are 41,240 housing units in structures having 50 or more units.

- 8.Close the table and map, and open the Fire Companies Battalions and Divisions map.
YOUR TURN
Other useful map layers for city officials and emergency response teams show populations per square mile in fire battalions and divisions. The New York City Fire Department, like most fire departments around the country, is organized in a quasi-military fashion with companies, battalions, and divisions. Here, you have fire companies but need fire battalions and divisions. Use the Dissolve tool and attribute FireBN to dissolve fire company polygons to create a new feature class named ManhattanFireBattalions in Chapter6.gdb. Use the Sum option and attributes Pop2010 and SQMI to sum the population and square miles for each battalion. Repeat Dissolve to create a new feature class named ManhattanFireDivisions using field FireDiv as the dissolve field. Symbolize ManhattanFireDivisions as no color and a thick red outline and ManhattanFireBattalions as graduated colors (blue, 5 classes) and normalized using Sum_Pop2010/Sum_SQMI. Remove ManhattanFireCompanies, and label the fire battalions using the battalion number, FireBN. The fire battalion for the Upper West Side neighborhood is 11. Is this one of the most densely populated fire battalion areas? Save your project.
Tutorial 6-2: Extract and clip features for a study area
This tutorial is a workflow for creating a study region from map layers that have more features than needed. Suppose you want to study housing units and streets for just one neighborhood. First, you will create the study area neighborhood by selecting the neighborhood using the attribute table, and then creating a single polygon for that study area. Second, you will use the new polygon and select by location to create new features of block groups in the study area only. Third, you will use Clip, a geoprocessing tool, to clip streets to the study area.
Tutorial 6-1 showed that the Upper West Side is the neighborhood with the highest number of housing units in structures with more than 50 housing units. In this exercise, you create a study area for this neighborhood that includes a polygon feature of the Upper West Side neighborhood and block groups and streets for that neighborhood only. Such a study area is important when you work in geographic areas, such as New York City, that have many streets and block groups.
- 1.Open Tutorial6-2.aprx from the Chapter6\Tutorials folder, and save the project as Tutorial6-2YourName.aprx. The map contains New York City neighborhoods, block groups, and Manhattan streets.
- 2.Use the Upper West Side bookmark.
Use Select By Attributes to create a study area
- 1.On the Map tab in the Selection group, click the Select By Attributes button
.
- 2.Under Layer Name or Table View, select New York City Neighborhoods, click Add Clause and Name as the Field, is Equal to, Upper West Side, and click Add.

- 3.Run the tool, and close it after it finishes. The result shows the Upper West Side neighborhood selected. Although you don’t have to export the selected feature to do the select by location in the next section (Select By Location will use the selected neighborhood to select the block groups), you will export the feature to display and symbolize the Upper West Side neighborhood on a map.
- 4.In the Contents pane, right-click New York City Neighborhoods > Data > Export Features, type UpperWestSide as the output feature in Chapter6.gdb, and click Run.
- 5.Remove the original New York City Neighborhoods layer, and zoom to the Upper West Side.
- 6.Label the feature using Name.

Use Select By Location to create study area block groups
In the next steps, you will use Select By Location to select Manhattan block groups of the Upper West Side neighborhood. After creating a selection set of the block groups, you will create a new polygon feature class from the selected features. Because block groups are not contiguous with the neighborhood boundary, there are a few ways to create this selection. Here you will use the block group features whose centers are in the Upper West Side neighborhood, and then manually select the remaining block groups that are partially inside the neighborhood.
- 1.On the Map tab, click the Select By Location button
, and type or make the selections as shown.

- 2.Run the tool, and close it after it finishes.
- 3.Press the Shift key, and select the remaining block groups on the west (left) side of the neighborhood.

- 4.Export the selected features as UpperWestSideBlockGroups to Chapter6.gdb.
- 5.Remove the original New York City Block Groups layer, and move the UpperWestSide layer to the top of Contents.
YOUR TURN
Use SelectByLocation to select Manhattan streets that intersect the UpperWestSide polygon. Notice that many of the streets “dangle,” or extend beyond the polygon boundary. These selected streets, each a full block long, would be needed for geocoding address data to points, as explained in chapter 8. Save these as UpperWestSideStreetsForGeocoding, and clear your selected features.
Clip streets
Next, you will use the Clip tool to cleanly create street segments using the Upper West Side polygon. Clipping Manhattan streets with the Upper West Side boundary cuts off dangling portions of streets for display purposes in maps.
- 1.If necessary, turn off the UpperWestSideStreetsGeocoding and UpperWestSideBlockGroups layers.
- 2.On the Analysis tab in the Tools group, click the Clip button
.
- 3.In the Geoprocessing pane, complete the parameters as shown.

- 4.Run the tool, and close it after it finishes.
- 5.Turn off the original ManhattanStreets layer. The result will be cleanly cut streets to the Upper West Side neighborhood.

- 6.Save your project.
Tutorial 6-3: Merge water features
Sometimes, you must merge two or more layers into a new single layer. For example, you will build one water feature class from several adjacent water feature classes. New York City is made up of five boroughs, each of which is also a county whose water features are downloaded separately from the US Census Bureau.
- 1.Open Tutorial6-3.aprx from the Chapter6\Tutorials folder, and save the project as Tutorial6-3YourName.aprx. The map, NYC Water, includes separate water features for each borough.
- 2.Use the NYC Boroughs bookmark.

Merge features
Next, you will use the Merge Geoprocessing tool to create one water feature class from five separate feature classes.
- 1.On the Analysis tab, in the Tools group under Manage Data, click the Merge button
. The input datasets will be the five water datasets as shown, and the Merge Rule will be “First.” The Output dataset will be NYCWater saved to Chapter6.gdb.
- 2.Use the Add Many button to add all five water layers.

- 3.Run the tool, and close it after it finishes.
- 4.Change the fill color of NYCWater to blue, and zoom to the layer.
- 5.Open the attribute table for NYCWater. The resulting water feature class has 330 records, one for each water polygon. Merge does not erase boundaries—the polygon boundaries between water features (such as the rivers in this data) are still present. The chosen symbology doesn’t draw the boundaries so they don’t appear on the map. If you want to remove the boundaries (say, to create a single polygon for the East River—or “East Riv”), you must do a dissolve using the Name field.

YOUR TURN
Open the NYC Waterfront Parks map, and merge the separate feature classes for each borough into one feature class named NYCWaterfrontParks, with fill color green, to Chapter6.gdb. Save your project.
Tutorial 6-4: Append firehouses and police stations to EMS facilities
City agencies might track facility locations in separate feature classes and tables, but an emergency services official wants them in one feature class for better planning. You will use the Append tool to add features to an already existing feature class, considering that both have the same attributes (or same schema). In this tutorial, you will add firehouse and police station points to a feature class named EMS.
- 1.Open Tutorial6-4.aprx from the Chapter6\Tutorials folder, and save the project as Tutorial6-4YourName.aprx. The map contains emergency medical service (EMS) facilities.
- 2.Zoom to the EMS Facilities layer.

Append features
Here, you will use the Append tool to append firehouses and police stations to already existing EMS points (EMSFacilities). Each layer has the same table (field) structure.
- 1.Open the EMSFacilities attribute table. You will see 34 emergency medical facilities.
- 2.Close the table.
- 3.On the Analysis tab, in the Tools group under Manage Data, click the Append button
.
- 4.In the Geoprocessing pane, for Input Datasets, browse to Chapter 6.gdb, and add FireHouses and PoliceStations.
- 5.For Target Dataset, click EMSFacilities.

- 6.Run the tool, and close it after it finishes.
- 7.Zoom to the EMS Facilities layer, open the EMSFacilities attribute table, and scroll to see the added fire-houses and police stations.

- 8.Save your project.
Tutorial 6-5: Intersect features to determine streets in fire company zones
New York City fire companies include engine, ladder, rescue, and squad companies, each tasked with different roles. For example, engine companies secure water from a fire hydrant, and then extinguish a fire. Ladder companies are tasked with search and rescue, forcible entry, and ventilation at the scene of a fire. Rescue and squad companies are highly trained and deal with incidents that are beyond the duties of standard engine or ladder companies. Squad companies are also highly trained in mitigating as needed hazardous materials that cover all of Manhattan.
For response planning, each fire company must know the total length of streets they cover by the type of company (engine or ladder). To summarize streets for each company, streets must have the name and type of their fire company. The Intersect tool achieves this summary by creating a new feature class combining all the features and attributes of two input (and overlaying) feature classes—fire companies and streets. The Intersect tool excludes any parts of two or more input layers that do not overlay each other. Because fire companies have the same number in different fire battalions, a field that includes both the battalion number and fire company is used in the calculations.
After streets are intersected, they can be summed by fire company type to determine how many streets are served by engine, ladder, or squad companies in Manhattan.
- 1.Open Tutorial6-5.aprx from the Chapter6\Tutorials folder, and save the project as Tutorial6-5YourName.aprx. The map contains New York City fire companies (polygons) and Manhattan streets (lines). Fire companies are classified by company type. ManhattanStreets are turned off.
- 2.Zoom to the ManhattanFireCompanies layer.

Open tables to study attributes before intersecting
Studying the attribute tables of each feature class will help you become familiar with the attributes before you intersect features.
- 1.Open the ManhattanStreets attribute table, and scroll to the right. You will find no data about fire companies in the ManhattanStreets feature class, but you will find information about street characteristics, such as the shape (polyline) and length of each street segment.

- 2.Open the ManhattanFireCompanies attribute table, and sort by FireCoNum (fire company number). Scroll to examine the attributes and data of this table. Fields of interest are the shape (polygon) and FireBN_Co_Type, a field that combines fire battalion, company number, and fire company type fields—for example, ladder company (L), engine company (E), or fire squad (Q) are fire company types.

- 3.Close the attribute tables.
Intersect features
- 1.On the Analysis tab, click the Intersect button
.
- 2.In the Geoprocessing pane, make or change parameters as shown, saving the output features as ManhattanFireCompanyStreets to Chapter6.gdb.

- 3.Click Run, and close the tool when it finishes.
- 4.Turn ManhattanFireCompanies off.
- 5.Using the Central Park bookmark, click any of the line features of ManhattanFireCompanyStreets, and scroll to the bottom of the pop-up window. The result will be street centerlines that include data about the fire companies serving each street.

Summarize street length for fire companies
Now that each street segment has fire battalion/company/type information, this information can be summarized so that emergency planners and fire officials know the total length of streets that each company and fire type serves.
- 1.Open the ManhattanFireCompanyStreets attribute table, and right-click FireBN_Co_Type.
- 2.Click Summarize, and type or make selections as shown.

- 3.Save the Output Table as FireCompanyTypeStreetLength.
- 4.Run the tool, and close it after it finishes.
- 5.Close the ManhattanFireCompanyStreets table.
- 6.Open the FireCompanyTypeStreetLength table. You will see the sum (total length) of street segments for each fire company and type.

YOUR TURN
Join the FireCompanyTypeStreetsLength table to the ManhattanFireCompanyStreets attribute table, open, and sort descending on the field SUM_Street_Length. Select the record (fire company type) with the largest amount of street length. Select the next few records to see the location of these fire companies. Close the table, clear your selection, and save your project.
Tutorial 6-6: Union neighborhoods and land-use features
The Union tool overlays the geometry and attributes of two input polygon layers to generate a new output polygon layer. In this tutorial, you will use the Union tool to combine New York City’s Brooklyn borough neighborhoods and land-use polygon to calculate the total land area of each type by neighborhood. The output of a union is a new feature layer of smaller polygons, each with combined boundaries and attributes of both neighborhoods and land-use polygons. You can then use Add Geometry Attributes to calculate land-use type (for example, residential) in each neighborhood. Such information would be useful for an urban planner or sustainability director who is interested in learning about house and land-use development in neighborhoods.
- 1.Open Tutorial6-6.aprx from the Chapter6\Tutorials folder, and save the project as Tutorial6-6YourName.aprx. The map contains Brooklyn neighborhood polygons and land use with zoning types.
- 2.Use the Brooklyn Zoomed bookmark. The features clearly do not share the same boundary, and you will see neighborhoods with mixed zoning types.

Open tables to study attributes
Studying the attribute tables of each feature class will help you become familiar with the attributes before you use the Union tool. There are 51 neighborhood polygons and 1,295 land-use polygons.
- 1.Open the BrooklynNeighborhoods attribute table. The table contains no data about land use in the feature class, but it does contain data about population and housing units in each neighborhood.

- 2.Open the BrooklynLandUse attribute table. Fields of interest are the land use for each polygon. Both tables include the length and area for every polygon.

- 3.Close the attribute tables.
Union features
- 1.On the Analysis tab, in the Tools group, click the Union button
.
- 2.In the Geoprocessing pane, complete the selections as shown.

- 3.Run the tool, and close it after it finishes. The result is a new layer of smaller polygons with combined neighborhood and land-use data.
- 4.Turn off the original BrooklynNeighborhood and BrooklynLandUse layers.
- 5.Click one of the new polygons, and see the values for neighborhoods and land use.

Calculate acreage
A field for the area (acres) of each polygon created by the union is needed before the land use can be summarized for neighborhoods.
- 1.On the Analysis tab, click the Tools button, and search for Add Geometry Attributes.
- 2.Fill out the form as shown, click Run, and close the tool when it finishes.

- 3.Open the attribute table for BrooklynNeighborhoodsLandUse_Union, and scroll to the right.
- 4.Sort Descending by Poly_Area. The top few polygons are parks followed by residential areas.
Select and summarize residential land-use areas for neighborhoods
- 1.In the Contents pane, right-click BrooklynNeighborhoodsLandUse_Union, and click Properties.
- 2.Click Definition Query, and create the query: Landuse2 is Equal to Residential.
- 3.In the attribute table, right-click NTAName, and click Summarize.
- 4.Fill out the form as shown, click Run, and close the tool when it finishes.

- 5.Open the BrooklynNeighborhoodsResidentialLandUse table, and sort descending by Sum_Poly_Area.

The list will show neighborhood names with the highest to lowest residential land use.
- 6.Using the NTAName field, join the BrooklynNeighborhoodsResidentialLandUse table to BrooklynNeighborhoods.
- 7.Open the table, and sort descending by H_Units. A planner can now compare the neighborhoods with the highest number of housing units and the number of residential acres.

- 8.Close the attribute tables, and save your project.
YOUR TURN
Open the Queens Neighborhood Land Use Study, and repeat the processes to summarize residential land use in the borough of Queens.
Tutorial 6-7: Use the Tabulate Intersection tool
Previous tutorials in this chapter used the Intersect and Union tools to create new feature classes with combined features and data. With these tools, the data (for example, number of housing units or population) is not apportioned (split into parts and allocated) to the new features. For example, if a single neighborhood crosses more than one land-use zone or more than one fire company, the neighborhood housing data should be split between polygons.
In this tutorial, you use the Tabulate Intersection tool to estimate the number of disabled persons in fire company boundaries using census tracts and fire company polygons. By default, this tool makes apportionments proportional to the areas of split parts of polygons, such as block groups, assuming that the populations of interest are uniformly distributed by area within polygons.
- 1.Open Tutorial6-7.aprx from the Chapter6\Tutorials folder, and save the project as Tutorial6-7YourName.aprx. The map contains Manhattan census tracts classified with the number of disabled persons (all disabilities) and Manhattan fire companies.
- 2.Zoom in, and turn the ManhattanFireCompanies layer on and off to see tracts compared to the borders of fire companies. Tracts and fire companies clearly do not share exact borders as seen in the graphic.

Study tracts and fire company polygons
This exercise uses a small study area composed of four fire companies and 20 census tracts in the Upper West Side to better see the workings of the Tabulate Intersection tool.
- 1.Close the Disabled Person Fire Company Study (Manhattan) map, and open the Disabled Person Fire Company Study (Upper West Side) map. Map labels include Fire Companies 22, 25 (ladder), 74, and 76 (engine). Tracts are labeled with tract IDs (white halo) and the number of disabled persons per tract (yellow halo).

- 2.Zoom to Fire Company 76. Five tracts (selected in the figure) intersect this fire company polygon. Two tracts (019300 and 018900) are completely within the polygon, and their populations will be entirely in the fire company. Two tracts (019500 and 019100) are within the polygon but extend into the river, and one (018700) is split between Fire Companies 76 and 22. That tract’s disabled person population (880) should be split approximately 50/50, with 440 persons residing in Fire Company 76 and 440 persons residing in Fire Company 22.

YOUR TURN
Study additional tracts in the other fire company polygons, and identify tracts that are split between the fire company polygons.
Use Tabulate Intersection to apportion the population of disabled persons to fire companies
- 1.On the Analysis tab, click the Tools button, and in the Geoprocessing pane, search for and open the Tabulate Intersection tool.
- 2.Type or make selections as shown, saving the output features to Chapter6.gdb.

- 3.Run the tool, and close it after it finishes. Disregard any warning about tolerance settings.
- 4.Open the DisabledPersonsPerFireCompany table, and for field TractID, choose Sort Ascending.
- 5.Scroll to and select tract 018700. The population of disabled persons in the tract is indeed split 50/50 between Fire Companies 22 and 76, each with 236 persons. Note that Census tract 019300 (completely within Fire Company 76) has a total population of 1,620 disabled persons.

YOUR TURN
Use Summary Statistics and these settings to calculate the total number of disabled persons in each fire company. Save your project.

Assignments
This chapter has three assignments to complete that you can download from this book’s resource web page, esri.com/gist1arcgispro:
- Assignment 6-1: Build a study area for a rapidly growing Texas metropolitan area.
- Assignment 6-2: Use geoprocessing tools to study neighborhoods.
- Assignment 6-3: Dissolve property parcels to create a zoning map.