Map existing bus service
You'll begin by mapping the current bus stops in Chattanooga and the areas of the city that are within a 10-minute walk of these stops.
Create bus stop features from GTFS data
Many cities provide their public transit data as a free download, and the most common format for this data is the General Transit Feed Specification (GTFS). GTFS datasets include information about a transit system's stops, routes, and schedules. In ArcGIS Pro, you can convert GTFS data into features on your map.
- Go to the Transitland Feed Registry site.
Transitland and OpenMobilityData are two resources for finding GTFS data feeds.
- On the feed registry, search for Chattanooga and choose Chattanooga Area Regional Transportation Authority (CARTA).
- On the next page, scroll down. Under Feed Detail, next to URLs, click www.gocarta.org/developers/GTFS.zip.
- Locate and unzip the downloaded .zip file.
The file contains nine text files with information about bus stops, routes, and schedules.
If you are unable to find or download the GTFS data, the required text file is provided later in the lesson.
- Download the Assess Access to Public Transit project package.
- Locate the downloaded file on your computer. Double-click Assess Access to Public Transit.ppkx to open it in ArcGIS Pro.
If you don't have ArcGIS Pro or an ArcGIS account, you can sign up for an ArcGIS free trial.
ArcGIS Pro opens to a map of Chattanooga, Tennessee, in the United States.
Next, you'll convert the stops text file from the GTFS dataset into spatial features that you can view and analyze on your map.
- On the ribbon, on the Analysis tab, in the Geoprocessing group, click Tools.
- In the Geoprocessing pane, search for and open the GTFS Stops to Features tool.
- For Input GTFS Stops File, browse to and choose stops.txt in your unzipped GTFS folder.
You can also find stops.txt in the project folder. Click Folders, Assess Access to Public Transit, commondata, and userdata.
- For Output Feature Class, type BusStops.
- Click Run.
Most of Chattanooga's bus stops are to the south of the Tennessee River. Like most cities, the downtown has a higher density of bus service. Next, you'll map those areas in the city that are within walking distance of these stops.
- Press Ctrl+S to save your map.
Generate service areas for bus stops
When mapping the areas that can easily access bus stops, it is important to use a street network. If you made simple buffers, they would be based on distance as the crow flies, ignoring buildings, fences, and other obstacles facing pedestrians. Next, you'll generate service areas for the Chattanooga bus stops to visualize a walking time of 10 minutes.
If you are unable to complete any of the following steps, you can still move forward with the lesson using the BusServiceAreas_Backup layer. It can be found in the Catalog pane on the Project tab in assess_access_to_public_transit.gdb.
- In the Contents pane, turn on the Routing_ND layer.
Routing_ND is a network dataset modelling the street network in Chattanooga. The features in a network dataset are aware of one another, providing the connectivity required to perform network analysis. You'll use Routing_ND to map service areas around bus stops.
- Turn off the Routing_ND layer.
- On the ribbon, on the Analysis tab, in the Tools group, click Network Analysis.
- Confirm that the active Network Dataset is set to Routing_ND from assess_access_to_public_transit.gdb\Routing.
This network dataset was included in the project package. If you want to repeat this workflow for another city, you have the following options:
- Change your network data source to https://www.arcgis.com/. When using this data source, generating service areas consumes credits. The cost is half a credit per bus stop. In addition, you can only generate service areas on 1,000 bus stops at a time, so you may need to divide your dataset into multiple pieces using definition queries or a similar method.
- Purchase StreetMap Premium for ArcGIS.
Use your own street data to build a network dataset by following the Create a Local Government Network Dataset lesson.
- On the Network Analysis menu, click Service Area.
A new Service Area layer appears in the Contents pane, which contains six sublayers.
Note:The pairs of colors for the symbols are randomly assigned, so your Service Area layer may not match this graphic.
Currently, all of these layers are empty. Next, you'll populate the Facilities layer with the bus stops.
- In the Contents pane, confirm that Service Area is selected (highlighted in blue).
- On the ribbon, click the Service Area tab.
- In the Input Data group, click Import Facilities.
The Add Locations tool appears in the Geoprocessing pane.
- For Input Locations, choose BusStops.
- Accept all other tool defaults and click Run.
The points on the map are duplicated using the symbology of the Facilities layer.
Next, you'll request a service area that represents a 10-minute walk time surrounding each of these stops.
- On the ribbon, on the Service Area tab, change the following parameters in the Travel Settings group:
- Set Mode to Walking Time
- Set Direction to Towards Facilities
- Set Cutoffs to 10
- In the Output Geometry group, change Standard Precision to High Precision.
A high precision service area takes longer to generate but is more accurate and recommended for a walking time analysis.
- Change Overlap to Dissolve.
The Dissolve option creates polygons around each bus stop and merges them.
- On the ribbon, in the Analysis group, click Run.
A service area polygon now surrounds each facility (bus stop) point on the map.
- In the Contents pane, right-click Polygons, point to Data, and choose Export Features.
The Geoprocessing pane opens to the Feature Class to Feature Class tool. Input Features is set to Service Area\Polygons and Output Location to assess_access_to_public_transit.gdb.
- For Output Feature Class, type BusServiceAreas.
- Click Run.
A copy of the service area polygons is added to your map and to the project's geodatabase, separate from the Service Area data.
- In the Contents pane, right-click Service Area and choose Remove.
- Also remove the BusStops layer and the Routing_ND Network Dataset.
The BusServiceAreas layer now has a polygon representing areas in the city that are within a 10-minute walk of at least one bus stop.
- Save the project.
From the map, you can see that not all parts of the city are served by the existing bus routes. The City is looking to expand their bus service by adding a new route or extending an existing one. Next, you'll help them determine which areas have the greatest need.
Assess the map for future bus stops
Next, you'll map demographics in the city of Chattanooga to assess which areas would benefit the most from expanded bus service.
Add block groups
You'll start by adding data for block groups, the second smallest geographic unit used by the United States Census.
Similar polygon features can be found in the ArcGIS Living Atlas of the World for other countries. Neighborhood boundaries or similar data are also appropriate. Alternatively, you can use the Generate Tessellation tool to create a grid of polygons.
- If necessary, open your project.
- In the Catalog pane, click the Portal tab and click Living Atlas.
- Search for USA Block Groups. Right-click the USA Block Groups layer and choose Add To Current Map.
This layer covers the entire United States, which is too large for your needs. You'll filter it to only cover Hamilton County, Tennessee.
If the new layer is not drawing on your map, select it in the Contents pane and click the Appearance tab on the ribbon. In the Visibility Range group, click Clear Limits.
- Click any block group polygon to open its pop-up.
The pop-up indicates that the code for Hamilton County is 47065.
- Close the pop-up.
- In the Contents pane, right-click USA Block Groups and choose Properties.
- Click the Definition Query tab and click New definition query.
- Use the drop-down menus to construct the clause Where County FIPS is equal to 47065.
- Click Apply and click OK.
- Zoom out until you can view the entire county.
The block groups for Hamilton County appear on the map.
Enrich block groups with demographic data
To assess public transit needs, you'll map population density, poverty, and the percentage of people who do not own cars.
- In the Geoprocessing pane, search for and open the Enrich tool.
The Enrich tool adds demographic and landscape information to your geographic data. It consumes 1 credit per 100 variables or features. In the following steps, you'll enrich 247 features with 3 variables each, which will cost 7.41 credits.
Credits will not be consumed until you click the Run button. If you prefer to save your credits, you can continue the lesson using USABlockGoups_Enrich_Backup, located in assess_access_to_public_transit.gdb
- For Input Features, choose USA Block Groups.
- Click the add variables button next to Variables.
- If necessary, in the Add Variable window, under United States (Standard), click Categories.
If your Enrich tool is set to a different country, click Cancel and click Environments.
Click the Browse button and browse to North America, United States, Standard.
Click OK and click Parameters.
- Double-click Population and Common Population Variables.
- Check 2019 Total Population.
The number 1 appears under the search bar to indicate that you have 1 variable selected.
Alternatively, you can use the 2010 population attribute provided in the block group layer.
- Click Categories. Double-click Poverty. Double-click Common Poverty Variables.
- Check ACS HHs: Inc Below Poverty Level.
- Click Categories and double-click At Risk.
- Double-click the At Risk folder.
- Expand 2013-2017 Households by Vehicles Available (ACS) and check ACS Owner HHs by Vehicles Avail: 0.
- Click OK.
The three variables are added to the Enrich tool.
- Click Run.
A new layer, named USABlockGroups_Enrich, is added to your map. It contains attributes for the variables added by the Enrich tool.
- Remove the original USA Block Groups layer.
- Turn off the BusServiceAreas layer.
- Save the project.
Symbolize the enriched layer
To visualize the demographic data that you've added, you'll make three layers, each depicting a different variable with a different transparent color.
- In the Contents pane, click the USABlockGroups_Enrich symbol.
- In the Symbology pane, if necessary, click Gallery.
This project contains a custom style named Chattanooga.
- Click Green no outline.
- In the Symbology pane, click the Back button.
- Click Vary Symbology by Attribute and expand Transparency.
The Vary symbology by attribute tab is used to add a second visual variable to your layer, in addition to the one established on the Primary Symbology tab. While transparency can be used in your map in a number of ways, this method is the easiest way to derive transparency values from your data.
You'll symbolize the layer so all block groups are green, but they are more or less transparent based on the population density.
- For Field, choose 2019 Total Population.
- For Normalization, choose Shape_Area.
Transparency will now represent the number of people divided by the area of each block group.
- For High values, type 20%. For Low values, type 100%.
Now you are better able to discern the population patterns on the map. The brighter polygons are more densely populated than the faint ones.
- In the Contents pane, right-click USABlockGroups_Enrich and choose Copy.
- Right-click Map and choose Paste.
- Click the symbol for the new layer. From the symbol Gallery, choose Red no outline.
- Click the Back button and click Vary Symbology by Attribute.
- Expand Transparency and change Field to ACS HHs: Inc Below Poverty Level.
- Copy the USABlockGroups_Enrich layer again and change the symbology to use the Yellow no outline symbol and the ACS Owner HHs by Vehicles Avail: 0 field.
- In the Contents pane, rename each block group layer using the following table:
Symbol color Layer name
No Access to a Vehicle
You can rename layers by clicking the layer name twice to make it editable.
- Explore your map. Try reordering the block group layers to gain a different perspective on the distribution of the variables.
Assess the map for future expansion sites
It looks like downtown Chattanooga has the greatest need for bus stops, but you know from the BusServiceAreas layer that this neighborhood is already well served by public transit. You can mask the map with the BusServiceAreas layer to better direct your attention to those places without bus stops.
- In the Contents pane, press the Ctrl key while clicking Population Density, Poverty, and No Access to a Vehicle so all three layers are selected at once.
- On the ribbon, click the Appearance tab.
- In the Drawing group, click Masking and check BusServiceAreas.
The block group layers are now masked by the bus stop service areas.
- Zoom to the orange area in downtown Chattanooga.
This area stands out on the map as an area that may require public transportation.
- Change the basemap to Imagery.
The unserviced area is part water, part industrial properties, and part uninhabited riverbank. Despite its bright color, it no longer seems like a high priority area to receive new bus stops.
- Change the basemap back to Dark Gray Canvas and zoom out.
From this map, the neighborhoods of East Ridge and Red Bank seem like the most likely candidates to receive a new bus route. Perhaps these areas have become more urbanized since the original public transit routes were created.
- Save your project.
In this lesson you mapped bus stops from GTFS data. You generated service areas surrounding each bus stop using a network dataset. You enriched group block areas with several demographic variables. Finally, you symbolized your map to conduct a visual analysis and propose new sites for bus routes.
This visual analysis can provide valuable insight to guide your planning of Chattanooga's public transit expansion. However, a more rigorous suitability analysis can better help you select areas by weighing your criteria and quantifying your results.
You may also consider more demographic variables. This lesson focused on where people live to determine need for bus stops, but ignored where they work, shop, and go to school. To better map the need for bus service, you could also include variables such as daytime population, total employees, and total retail sales. Red Bank and East Ridge may be popular origin sites for bus travelers but not common destinations.
You can find more lessons in the Learn ArcGIS Lesson Gallery.