Prepare and visualize the data
In this tutorial, you will use GIS to determine areas suitable to increase low- and middle-income housing stock. Your starting map includes a layer of zoning for the city of Gresham. You'll use this layer to select suitably zoned areas. Within suitably zoned areas, you want to find areas where people are very housing burdened, defined as households that spend more than 50 percent of their income on housing costs, and the average median income is about 60 percent of the area's average median income. You'll evaluate these criteria with a layer of census block groups. Finally, the potential development needs to be near the light-rail system that connects Gresham to downtown Portland. Your starting map has a layer of light-rail stops.
After discussions with company managers and planners, you've made your search criteria more specific. You'll look for areas that meet the following conditions:
- Zoned for mixed-use development
- High percentage of housing burdened renters
- Average median household income within 60 percent of the area's average median income
- Short walk to a light-rail stop to provide a more walkable community
Open and explore a map
First, you'll open a map of Gresham that shows how the city is zoned for development.
- Open the Affordable Housing Analysis (Learn) web map.
The map shows Gresham, Oregon, symbolized by zoning designation. The Legend pane shows each zoning description with a unique color. You're interested in the light-blue mixed-use type.
- Sign in to your ArcGIS organizational account or into ArcGIS Enterprise using a named user account.
Note:
If you don't have an organizational account, see options for software access.
- On the Contents (dark) toolbar, click Layers.
To work with layers in your map, you need to be in the Layers pane. This map has five layers. The City Boundary and Zoning layers display on the map because their boxes are checked. The unchecked layers do not display on the map or the legend.
- On the map, click a blue mixed-use area.
The area is highlighted on the map and a pop-up appears. In this example, the area is zoned for commercial use (COM). The subtype MUC stands for Mixed-Use Center, a category that allows a combination of commercial and residential development. The area is about 418 acres.
- Click some other areas in the city, both mixed-use and other zoning types, to see their pop-ups.
All the pop-ups for the Zoning layer show the same categories of information, but the values are different for each unique area. A pop-up is just a way to present information stored in a table associated with the layer. You'll look at the table next.
- Close the pop-up.
- In the Layers pane, for the Zoning layer, click the Options button and click Show table.
The table opens under the map. The table's columns represent the same categories of information you saw in the pop-ups. Each row in the table corresponds to a unique zoning area on the map.
Columns in a table are also called fields. Categories of information are called attributes. The unique zoning areas corresponding to table rows are called map features or features.
- Close the table.
Although you can explore the Affordable Housing Analysis (Learn) map, you can't save any changes you make because you aren't the map owner. Before you go any further, you'll make your own copy of the map.
- On the Contents toolbar, click the Save and open button and choose Save as.
- In the Save map window, for Title, replace the existing text with Gresham Mixed Use Development Analysis and add your name or initials. For Summary, type Map of zoning and census demographics in Gresham, Oregon.
Note:
You cannot create two layers in an ArcGIS organization with the same name. Adding your initials to a layer name ensures that other people in your organization can also complete this tutorial. Once a layer has been created, you can rename it in the map to remove your initials, which will not affect the name of the underlying data layer.
- Click Save.
You now have your own copy of the map saved as an item in My content.
Display only mixed-use zoning areas
To show only the mixed-use areas, you'll filter the Zoning layer. A filter is a logical expression that finds map features of interest based on attribute values in the table. The features you want to see are shown on the map; all the others are hidden (but not deleted).
- In the Layers pane, ensure the Zoning layer is selected.
The blue line next to the layer name indicates that the layer is selected.
- On the Settings (light) toolbar, click Filter.
The Filter pane appears.
The Filter pane is where you create your logical expression. An expression consists of an attribute, a logical condition, and a value.
- In the Filter pane, click the Add expression button.
- For the field parameter, choose Description. For the attribute value, choose Mixed-use.
- At the bottom of the Filter pane, click Save.
On the map, only the mixed-use zoning areas are shown.
At this point, it makes sense to rename the Zoning layer in the map since only features zoned for mixed-use are displayed.
Note:
Renaming a layer in a map does not change the name of the ArcGIS Online item itself.
- In the Layers pane, for the Zoning layer, click the Options button and click Rename.
- In the window that appears, for Title, type Mixed Use Zoning and click OK.
- On the Contents toolbar, click Legend.
At this point, the layer legend still shows the zoning categories that have been filtered out of the display. When you apply new symbology to the layer (which you'll do later), the legend will update.
- On the Contents toolbar, click Save and open and click Save to save the map.
Add income and housing cost data to your map
Now you'll turn your attention to socioeconomic factors. You'll begin by exploring the Block Groups layer, which contains demographic data for the city. You are interested in information about rental housing and age.
- On the Contents toolbar, click Layer. In the Layers pane, for the Block Groups layer, click the Visibility button.
The Block Groups layer is visible on the map.
The block groups aren't coextensive with the city boundary. After each U.S. Census is conducted, census tracts and block group boundaries are updated to align with city boundaries, but between each census, city limits may change, so the boundaries do not exactly align.
The Block Groups layer includes only block groups that have the majority of their area within the city boundary. Some block groups also extend beyond the city boundary. You can see on the map that all the mixed-use zones lie within block groups, so you're not missing any data you need.
- In the Layers pane, click the visibility button for the Mixed Use Zoning layer to turn it off.
- Open the table for the Block Groups layer.
The layer currently does not contain any attributes related to socioeconomic information about the residents there.
To get this information, you'll enrich the block groups with Esri and census demographic data. Data enrichment will create a layer with all the current attributes of the Block Groups layer and any new attributes that you request.
- Close the table.
- On the Settings toolbar, click Analysis.
Note:
If you do not see the Analysis button in Map Viewer, contact your ArcGIS administrator. You may not have the privileges required to perform analysis.
Learn more about licensing requirements for spatial analysis.
- In the Analysis pane, click Tools.
- In the search bar, type enrich, and in the results, click the Enrich Layer tool.
- In the Enrich Layer tool pane, for Input features, choose Block Groups.
Next, you will choose the variables you will enrich the Block Groups layer with.
- Under Enrichment data, click the Variable button.
The Data Browser window appears.
- In the Data Browser window, locate and click Housing.
The Data Browser presents housing variables.
- Under Choose a Popular Variable, check the boxes for 2024 Total Housing Units (Esri) and 2022 HHs w/Gross Rent 50%+ of Household Income (ACS 5-Yr).
Note:
Demographic data is updated periodically, so the available variables and values may differ from those specified in the tutorial. If necessary, use the most recent data.
Next, you will add data for the median household income.
- Click the categories button.
The Data Browser window returns to the Category page.
- Click Income and under Choose a Popular Variable, check the box for 2024 Median Household Income (Esri).
Note:
For more information on how these variables are calculated, see Esri income tiers and measures of income inequality.
In the upper corner of the Data Browser window, you can confirm there are three variables selected.
- At the bottom of the Data Browser window, click Select.
The Data Browser window closes, and the selected variables are added to the Enrich Layer pane.
- For Output name, type Enriched Block Groups and add your name or initials to ensure the name is unique within your organization.
- Click Estimate credits.
Running this tool will require 1.86 credits.
Note:
To learn more about credits, see Understand credits.
- Click Run.
It may take a few minutes to complete. As the tool runs, you can view the tool progress on the History tab.
When the tool has completed running, the layer is added to the map.
Except for the color, it looks the same as the original Block Groups layer. In most ways, it is the same—for example, all the block group attributes and values have been copied. One difference is that the enriched layer includes the new attributes you selected from the Data Browser.
At this point, you no longer need the Block Groups layer, so you'll remove it from the map.
- In the Layers pane, for the Block Groups layer, click the Options button and choose Remove.
- Save the map.
Calculate the percentage of housing burdened households
The Enriched Block Groups layer includes attributes for the number of households that spend more than 50 percent of their income on housing and the total number of households in each block group. You want to know where there is a higher percentage in each block group. To determine the percentage of the housing burdened, you'll use Arcade to calculate the percentage value.
- Open the table for the Enriched Block Groups layer. Scroll to the right until you see the variables for housing.
You will use the HHs/Gross Rent and 2024 Total Housing Units (Esri) variables that have been added as attributes to the end of the table.
- In the Layers pane, ensure that the Enriched Block Groups layer is selected. On the Settings toolbar, click Properties.
- In the Properties pane, expand Information and under Source layer, click the Enriched Block Groups feature layer.
The item details page for the Enriched Block Groups layer appears in a new tab.
- On the ribbon, click the Data tab.
- Below the ribbon and the top of the screen, click Fields.
- Click the Add button.
- In the Add Field window, enter the following:
- For Field Name, type PerHousingBurdened.
- For Display Name, type Percent Housing Burdened.
- For Type, choose Double.
- Click Add New Field.
The new field is added to the list of fields. Next, you will populate this new field by calculating the percentage of housing burdened.
- At the top of the page, below the ribbon, click the Table tab.
- In the table, scroll to the right. Click the Percent Housing Burdened field and click Calculate.
- In the Calculate Field window, click Arcade.
The Arcade Calculator window appears.
- In the Arcade Calculator window, for $feature, click the arrow.
- Under $feature, click 2022 HHs/Gross Rent 50+% of Income (ACS 5-Yr).
The Arcade code for the variable value is added to the expression.
- After the $feature.ACSGRNTI50 text, type /.
- In the list of features, click 2024 Total Housing Units.
The expression now reads $feature.ACSGRNTI50/$feature["TOTHU_CY"].
Next, you will multiply the calculation by 100 so that the resulting feature value will be a percentage.
- At the end of the expression, type *100.
The expression now reads $feature.ACSGRNTI50/$feature["TOTHU_CY"]* 100.
- Click OK.
The records take a minute to calculate. When it is complete, you can view the field in the table and confirm the percent values have been calculated and added.
You have created a field and calculated a percent value. Next, you will style layers that show the percentage of housing burdened and the median household income
Style the criteria layers
Now that you have created a field that contains the percentage of housing burdened households in each census block, you will style the Enriched Block Groups layer using this new field.
- Open your Gresham Mixed Use Development Analysis map.
Note:
If you still had a browser window or tab with the map opened, you will need to refresh the map so the new field will appear in Map Viewer.
- In the Layers pane, ensure that the Enriched Block Groups layer is selected. On the Settings toolbar, click Styles.
- In the Styles pane, click Field.
The field you created and calculated is in the list of fields.
- In the Select fields window, check the box for the Percent Housing Burdened field and click Add.
- In the Layers pane, click the Visibility buttons for the Mixed Use Zoning and Block Groups layers so that the only layers visible are the Enriched Block Groups and City Boundary layers.
The Enriched Block Groups layer is now styled to show the percentage of housing burdened households in each block group.
- In the Layers pane, rename Enriched Block Groups to Percent housing burdened.
Next, you will style a layer to show block groups that are most likely to have households that qualify for affordable housing units.
You've obtained information on median household income for each block group in Gresham. In the greater Portland, Oregon, area, the Multiple-Unit Limited Tax Exemption (MULTE) Program provides incentives for multiple-unit developers to receive a property tax exemption on structural improvements to the property if they ensure the cost of affordable units is for households with incomes that are 60 percent of the area median income. For the Portland metro area, 60 percent of the area median income is $47,400 for a household with one person and $67,680 for a household with four people.
- In the Layers pane, for the Percent housing burdened layer, click the Options button and click Duplicate.
- Rename the duplicated layer to Affordable housing qualified.
- Turn off the Percent housing burdened layer.
Next, you will filter the layer so that the tracts with a median household income of $67,680 and below are visible.
- Ensure that the Affordable housing qualified layer is selected and on the Settings toolbar, click Filter.
- In the Filter pane, click New expression.
- For the field, choose 2024 Median Household Income. For the operator, choose is less than. For the value, type 67680.
- Click Save.
The layer now only shows block groups where the median household income is below $67,680, or 60 percent of the average median income. Next, you will update the style of the layer so it is different from the Percent housing burdened layer.
- On the Settings toolbar, click Styles. Under Choose attributes, remove the Percent housing burdened expression.
- Click Field, choose 2024 Median Household Income, and click Add.
The Affordable housing qualified layer now shows the block groups that have a median household income that is below the 60 percent average median income level.
You will choose a different color ramp for this layer that differs from the Percent housing burdened layer.
- In the Styles pane, under Pick a style, for the Counts and Amounts (color) style, click Style options.
- In the Style options pane, click the symbol under Symbol style.
- In the Symbol style window, click Colors and choose Purple 1.
Tip:
To see the name of a color ramp, point to the color ramp.
- In the Ramp window, click Done. In the Style options pane, click Done twice.
The layer is styled.
- Save the map.
You've explored most of your starting data and prepared it for analysis. You filtered the Zoning layer and enriched the Block Groups layer with new attributes. You made field calculations to derive the attribute values needed for your analysis, and you visualized the spatial distribution of these values. Next, you'll analyze the areas that meet your search criteria.
Find locations for a mixed-use development
Previously, you visualized the distribution of where residents are experiencing housing burden and areas where the median household income is about 60 percent of the area's average median income. While this gave you a sense of suitable areas for building more affordable housing stock, you probably weren't able to draw firm conclusions yet. Now you'll use map analysis to determine where all these layers overlap, giving you a clearer picture of the areas that will be strong candidates for development.
Determine areas that meet analysis criteria
You want to find locations that are zoned for mixed use, have an above average number of households that are housing burdened, and have a median household income of 60 percent of the area's average median income. The Find by Attributes and Location tool allows you to build expressions to find such combinations of attribute values and spatial relationships among different layers. The result will be a new layer of features that meet your conditions.
The Mixed Use Zoning and Affordable housing qualified layers are already filtered to align to your criteria. You still need to determine how to set the criteria for the Percent housing burdened layer.
You will use the histogram in Filter to only show the tracts with the an above average percentage of housing burdened.
- In the Layers pane, for the Affordable Housing Qualified layer, click the Visibility button to hide it from the map.
- In the Layers pane, click Percent housing burdened and click the Visibility button so it appears on the map.
- On the Settings toolbar, click Filter. In the Filter pane, click Add expression.
- Under Condition, for the field, choose Percent Housing Burdened.
The histogram automatically sets the expression to Percent Housing Burdened is at least 13.58, which is the average percentage of those who are housing burdened.
The block groups that meet the filter criteria are the only ones visible on the map.
- Click Save.
Now all three of your criteria layers are ready for analysis.
Next, you will use analysis tools to determine where the three criteria layers intersect. The result will be the areas that should be prioritized for building affordable and attainable housing stock.
- On the Settings toolbar, click Analysis. In the Analysis pane, click Tools.
- Click the back arrow.
- Search for and open the Find by Attributes and Location tool.
- In the Find by Attributes and Location tool pane, under Criteria, click Build new query.
- In the Query builder window that appears, for Find features from, choose Percent housing burdened. Click Spatial expression and click Next.
- For the first expression, for the field, choose Affordable housing qualified.
- Click the
Spatial
expression button to add
another expression.
- For the second expression, for the field, choose Mixed Use Zoning.
- Click Add.
The queries are added to the Find by Attributes and Location tool pane.
- Under the query, check the box for Include only the parts of features that meet the criteria.
- For Output name, type Affordable Housing Development Areas, and add your name or initials.
- Click Run.
Note:
Running this tool will require 0.066 credits.
The Affordable Housing Development Areas layer is created and is added to the Layers pane and the map.
- In the Layers pane, turn off the Percent housing
burdened layer.
This layer now shows the areas where housing affordability eligible households and housing burdened residents overlap with mixed land use. This layer represents the areas that should be prioritized for affordable housing development.
Visualize the analysis results
Your analysis has found portions of mixed-use zones that have an above average number of housing burdened residents and are in a tract where the median household income is below the area's average median household income. In this section, you'll adjust the layer styles.
- In the Layers pane, turn on and click the Mixed Use Zoning layer, and on the Settings toolbar, click the Styles button.
In the Styles pane, the currently selected drawing style is Types (unique symbols). As you saw earlier, the legend for the layer still shows all the zoning types.
- In the Styles pane, click the Location (single symbol) style.
- For the Location (single symbol) style, click Style options.
- In the Location (single symbol) pane, click Symbol style.
- In the Symbol style window, for Fill color, click the No color button.
The symbol preview at the top of the window shows you that the symbol currently has a hollow fill and a white outline.
- Click the symbol below Outline color.
- In the Select color window, type 004da8 and click Done.
- For Outline transparency, type 0. For Outline width, type 2.
The map now shows mixed-use zones as dark-blue outlines. You'll symbolize the candidate locations in a lighter blue, similar to the original mixed-use zoning color.
- In the Layers pane, drag the Affordable Housing Development Areas layer below the Mixed Use Zoning layer.
- In the Layers pane, click the Affordable Housing Development Areas layer, and on the Settings toolbar, click Styles.
- In the Styles pane, for Location (single symbol), click Style options. In the Styles pane, click the symbol under Symbol style.
- In the Symbol style window, click Fill color, type 00c5ff, and click Done.
- For the Outline color, choose No color.
- In the Styles pane, click Done twice.
The mixed-use zones are visible as outlines. The priority areas for affordable housing development are within those zones and are shown in bright blue.
- Save the map.
Configure pop-ups
You have found and symbolized the areas that best meet your company's search criteria. Now you'll configure the pop-ups for the Affordable Housing Development Areas layer so that they provide meaningful information.
- On the map, click one of the priority areas for affordable housing.
Tip:
You may need to click the Next button at the top of the pop-up to view the pop-up for the Affordable Housing Development Areas layer.
The default pop-up is a long list of attributes, and the values aren't readily visible because some of the attribute names are too long. Next, you will configure the pop-up so it is clearer.
- Close the pop-up.
- On the Settings toolbar, click Pop-ups.
- In the Pop-ups pane, click the title and replace the existing text with Priority Development Location Number and type a space.
- Click the Add Field button.
- In the Add field window, choose OBJECTID.
Every feature in the Affordable Housing Development Areas layer has a unique OBJECTID value. Now you have configured the pop-up to show the OBJECTID in the pop-up title.
Next, you will configure which variables appear in the pop-up.
- In the Pop-ups pane, click Fields list.
- Under the Fields list section, click Select fields. In the Select fields window, click Select all and click Deselect all.
Now that all the fields are turned off, it's easier to choose the attributes that you want the pop-up to display.
Most of these attributes don't need to be shown in the pop-up. In fact, all you really want to show are the two variables of interest: the number of households experiencing housing burden and the median household income.
- In the Select fields window, click the following fields and click Done:
- Percent Housing Burdened
- 2024 Median Household Income
- The variables are added to the Pop-ups pane.
The pop-up updates, showing only the two fields you selected.
- Save the map.
Analyze the distance to light-rail stops
One more factor remains to be analyzed: the distance to light-rail stops. Good areas for development must be accessible to the city's light-rail system. You'll find which parts of the city lie within 5-, 10-, and 15-minute walks of a light-rail stop. You'll symbolize these access zones so they can be compared to the candidate locations.
- In the Layers pane, turn on and select the Light Rail Stops layer.
The Light Rail Stops layer is visible.
- On the Settings toolbar, click Analysis. If necessary, in the Tools pane, click the back arrow.
- In the Tools pane, expand Use proximity and click Generate Travel Areas.
- In the Generate Travel Areas tool pane, for Input layers, choose Light Rail Stops.
Next, you will set the Analysis settings.
- In the Analysis settings, for Travel mode, choose Walking Time. For Cutoffs, type 5 and click Add.
A cutoff value of 5 is added under the Cutoff section.
- Use what you have learned to add a 10 and 15 cutoff value.
- For Overlap policy, click Dissolve.
Some of the walk-time boundaries overlap because a location may be within a given walk time of more than one stop. The Dissolve option removes overlapping lines between boundaries.
- For Output name, type Walk Time to Light Rail Stop and add your name or initials.
- Click Run.
Note:
Running the tool requires 12 credits.
When the operation finishes, the Walk Time to Light Rail Stop layer is added to the map.
Light-purple areas are within a 5-minute walk to a light-rail stop. Medium-purple areas would take between 5 and 10 minutes to walk to a stop. Dark-purple areas are 10 to 15 minutes away from a light-rail stop.
- In the Layers pane, drag the Walk Time to Light Rail Stop layer below the Affordable Housing Development Areas layer.
- Save the map.
Your map now contains all the analytical information you needed to provide. In the next section, you'll improve the symbology of the walk-time areas.
Style the walk-time areas layer
The default symbology is too strong and draws attention away from the candidate locations. You'll choose better symbols for the layer. You'll also evaluate the layer's pop-ups. Finally, you'll look at the map legend to make sure you're satisfied with its appearance.
- In the Layers pane, click the Walk Time to Light Rail Stop layer, and on the Settings toolbar, click Styles.
In the Styles pane, the layer is already symbolized by the attribute you want to show: Travel Time End (Minutes). This attribute indicates the maximum time in minutes—5, 10, or 15—it takes to walk to the nearest light-rail stop.
- For the Types (Unique symbols) style, click the Style options button, and click the light-purple symbol.
- In the Symbol style window, click Fill color. In the Select color window, type FFFF73 and click Done.
- For Outline color, click No color.
- In the Style options pane, next to the new light-yellow symbol, click the legend label 5 and change the label to 5 minutes. Press Enter.
- Use what you have learned to configure the remaining symbols:
- For the medium purple symbol, set the Fill color to E69800, for Outline color, click No color, and update the label to 10 minutes.
- For the dark purple symbol, set the Fill color to A83800, for Outline color, click No color, and update the label to 15 minutes.
The symbols update.
Next, you will set the transparency settings for the layer.
- On the Settings toolbar, click Properties. In the Properties pane, under Appearance, for Transparency, drag the slider to 75%.
The layer is now more transparent so the Affordable Housing Development Areas layer is still the focus of the map.
Your map is finished. Four visually distinct areas meet your analysis criteria. In the western part of the city, two areas lie within a 5-minute walk of a light-rail stop; one is within a 10-minute walk. The larger area in the central part of the city lies mostly within a 10-minute walk of a stop. All these locations deserve further consideration.
- On the Contents toolbar, click Legend.
The legend looks good, and map users should have no trouble interpreting the symbology.
- Save the map.
The last thing to do is share the map. If this were a real project, the analysis results would be proprietary, and you would share the map with your organization or with a group inside your organization. Since the analysis is fictional, you are welcome to share the map with everyone.
- On the Contents toolbar, click Share map.
- In the Share window, choose Organization.
- Click Save.
When you share the map, the Review Sharing window appears. The layers in your map must have the same sharing properties as your map. Because the layers you created through analysis are not shared by default, you are now prompted to share them.
- In the Review Sharing window, click update sharing.
In this tutorial, you explored and configured several map layers to align with a set of criteria to identify areas for affordable housing development. You used map analysis to determine where the criteria all aligned and generated travel areas to visualize walking distance from light-rail stations. You styled the map so it is clear for sharing with the planners and managers in your development company.
You can find more tutorials in the tutorial gallery.