Using ArcGIS to Propose an On-Street Bicycle Network Bryan Townley Geography 5221 GIS Simulation & Modeling 12/6/13
Using ArcGIS to Propose an On-Street Bicycle Network
Bryan Townley
Geography 5221 GIS Simulation & Modeling
12/6/13
Introduction
Background
Across the United States, transportation alternatives to the automobile are being
considered. This stems from a multitude of reasons including, but not limited to: the rising cost
of gasoline, concern for the degradation of the environment, and safety issues arising from the
dominance of cars in America’s cities. Of the 56 largest cities in the United States, 39 saw
bicycle use increases between 2000 and 2009 (Byrnes 2011). As more cyclists use the roadways,
it is obvious that modes of transportation (automobiles, cyclists, pedestrians) come into contact
with one another, creating a great concern for the safety of all involved. Bicycles are seen as a
nuisance to cars (and vice versa) as they impede the automobile’s speed. Bicycles can also be
seen as nuisance to pedestrians (and vice versa) as inexperienced cyclists often travel on
sidewalks instead of roadways.
To amend the conflict, transportation planners are looking to the implementation of
bike-specific infrastructure to ease some of the tensions between transportation uses. This
infrastructure can come in the form of “sharrows,” or arrows painted onto a roadway’s traffic
lane indicating that bicycles are able to use the roadway, bike lanes, which demarcate an area
of roadway that can only be used by cyclists, or protected lanes, which while still part of the
roadway, include some type of barrier which physically separates bike space from automobile
and pedestrian space. However, it is often difficult for transportation planners and
municipalities alike to decide where to place such infrastructure as safety is tough to measure
quantitatively. Most municipalities only have finite resources allocated for such bike
infrastructure implementation, so prioritizing what roadways need bike infrastructure is
imperative. In addition to these problems, cycling is seen by many as a solely recreational
venture, not one in which people use to commute to work, travel to the store, or use on a daily
basis. Because of this, existing bicycle infrastructure, such as greenway trails, often only
connects recreational areas, such as parks. This infrastructure is also usually completely
disconnected from roadways. Major residential and commercial nodes thus remain
disconnected by bikeway infrastructure. Municipalities across the country are scrambling to
find a way to implement bicycle infrastructure efficiently in a car-dominated environment.
Objectives
With this project I hope to propose on-street bicycle networks for two Central Ohio
cities: Reynoldsburg and Westerville. I chose to look at these cities based on three reasons: 1)
they are large enough to warrant a bicycle network, 2) they have little to no existing bicycle
infrastructure, and 3) I am very familiar with both cities. The infrastructure that I propose will
be built on existing primary and secondary streets in both cities. Building the infrastructure on
these main streets will ensure that major commercial and residential nodes are connected.
Lastly, I hope to give examples of “what-if” scenarios where small changes can be made to the
existing street network in order to see what effects they have on the safety of the network
overall (example: lower speed limits). These “what-if” scenarios can help demonstrate to
municipal leaders how small changes to a road network can improve safety for automobile
drivers, cyclists, and pedestrians alike.
Data
Data and Sources
I used the following data and their sources in parentheses:
- Franklin County All Roads County-based shapefile (US Census Bureau TIGER/Line 2011
Shapefiles http://data.geocomm.com/catalog/US/61070/988/group226.html)
- Ohio Place State-based shapefile (US Census Bureau TIGER/Line 2010 Shapefiles
http://data.geocomm.com/catalog/US/61070/group225.html)
- Central Ohio Traffic Counts (Mid-Ohio Regional Planning Commission
http://www.morpc.org/info_center/dataport/transportation_traffic.asp)
- Street network speed limits (taken from personal observations in each location)
- Number of travel lanes (taken from personal observations in each location)
- Usable bike space (measured using Google Earth)
From the Franklin County All Roads shapefile I selected the streets that corresponded with
Westerville and Reynoldsburg. From the Ohio Place shapefile I selected the municipal
boundaries of both cities. The traffic count, speed limit, number of travel lanes, and usable bike
space data were entered as fields under the attribute table of the street network shapefile
created from the All Roads shapefile. I created a shapefile containing the primary and
secondary streets for each city based on a selection of the streets for which traffic count data
was available.
Data Quality
I feel like the data I used during this project was fairly sound. The All Roads and Place
shapefiles I used both came from a third party website, but were originally created by the US
Census Bureau, probably one of the most trustworthy sources. Traffic count data always opens
the door for human error when actually counting the traffic. However, this data was taken
directly from the MORPC website, so I also believe this is the most trustworthy source for the
data I was looking for. Next, I believe that the speed limit, number of lanes, and usable bike
space data that I collected myself is also reputable since it is coming from a primary source.
Finally, the usable bike space data was probably the least sound out of the data used simply
because it was compiled using the ruler tool on Google Earth. There is the distinct possibility
that some measurements are not exactly correct since I measured an image of the streets, not
the physical streets themselves. The only issue I had when working with the data itself was that
several streets in the All Roads shapefile contained multiple names for the same street
segment. To fix this I simply did not select these duplicates when creating my new primary
streets shapefile.
Methods
Note: The methods described here were repeated for both Reynoldsburg and Westerville.
Please see the Appendix for Python code.
Data Preparation
1. Obtain municipal boundary layer and select Reynoldsburg (Ohio Places shapefile)
2. Export selected data as a new shapefile
3. Obtain street network data (All Roads shapefile)
4. Create a one mile buffer around Reynoldsburg’s municipal boundary
5. Intersect the street network data with the municipal boundary
6. Export selected data as a new shapefile
7. Obtain traffic count and add it as a field in the street network shapefile’s attribute table
8. Select streets based on the availability of traffic count data
9. Export the selected data as a new shapefile
10. Obtain lane number, speed limit, and usable bike space data
11. Add the data from step 10 as fields in the street network shapefile’s attribute table
Clark Index and Impedance Calculation
A main component of this project was the use of the Clark Index, an index created by
transportation planners in order to assess a street segment’s bicycle safety in a quantitative
measure. The index is as follows:
Clark Index = [(Average daily traffic flows/50)*(Speed limit- Cyclist’s speed)^2]/
[10*(Number of travel lanes) + 4*(Usable bike space)^2]
1. I used the field calculator within the primary and secondary street shapefile’s attribute
table to calculate the Clark Index and add it as a field.
2. I then calculated a new field, labeled impedance, by using the field calculator to multiply
the Clark Index by the street segment’s length. This field was used during the creation of
the network dataset (described below).
Network Dataset
1. Create a network dataset in order to perform network analysis procedures (such as
route analysis)
2. The network dataset is based on the primary and secondary street shapefile
3. The network dataset uses the newly created impedance field as the “Field Evaluator,” or
the measure of cost of traversing the street segments
4. Build and import the network dataset
Network Analysis
1. The creation of the network dataset now allows for route analysis procedures to occur
2. Create a new point feature class
3. Add a point to the feature class which demarcates a high density residential area
4. Obtain a point shapefile containing city landmark locations (schools, libraries, parks)
5. Choose the New Route tool from the network analyst toolbar
6. Select the high density shapefile as the first “stop”
7. Select the landmark shapefile as the next stops
8. Choose to solve the route
9. The Route Analysis displays the new route on the street network based on the
impedance evaluator used during the creation of the network dataset
10. Record the total impedance of the entire network
What-If Scenario
1. Duplicate the primary and secondary streets shapefile
2. Open attribute table and change all speed limits that were above 35 miles per hour to
be 35
3. Create a new network dataset (same steps as the section above) based on this new
under 35mph street network shapefile
4. Run a route analysis (same steps as the section above) between high density residential
and landmark shapefiles
5. Note changes
6. Record the new total impedance value and compare to previous
Results
Reynoldsburg Impedance Levels
When viewing the impedance levels (Clark Index*Street segment length) for
Reynoldsburg, it can be seen that with the existing street network would be fairly safe for
cyclists (Figure 1). The majority of the streets tended to be safer (lower levels of impedance),
with a few very unsafe streets. The streets that were unsafe tended to be located along the
periphery of the city’s boundaries, which corresponds to their higher speed limits than the
more central, older parts of town.
Data Preparation
Clark Index and Impedance Calculation
Network Dataset
Network Analysis (Routes)
What-If Scenario (speed limit
change)
Figure 1
Safety Level Impedance Range Number of Streets
Safe 0-5 14 (73.7%)
Unsafe 6-13 3 (15.8%)
Very Unsafe 14+ 2 (10.5%)
Total Network Impedance: 241
These findings show that Reynoldsburg’s street network would already be great for the
implementation of bicycle infrastructure due to its high level of safety based on the Clark Index.
When looking at the new impedance levels created by the speed limit reduction (to under
35mph), it is obvious that the network overall is safer (Figure 2).
Figure 2
Safety Level Impedance Range Number of Streets
Safe 0-5 17 (89.5%)
Unsafe 6-13 2 (10.5%)
Very Unsafe 14+ 0 (0%)
Total Network Impedance: 134 (44.4% reduction)
While the table above does not display much difference in trends, it is worthwhile to note that
after the speed limit reduction, no street segments were “very unsafe.” Also, the total network
impedance was almost halved (44.4% reduction), showing a substantial increase in bicycle
safety.
Reynoldsburg Route Analysis
Figure 3
As described in the methods section, I created a route from the area of Reynoldsburg
with the highest residential density to the city’s landmarks (Figure 3). After viewing the
impedance map created before network analysis, the results of the route analysis were
somewhat obvious. The route traversed street segments that all had impedances of less than
13, avoiding the streets labeled “very unsafe” and most listed as “unsafe.” After the speed limit
reduction and the creation of the new network dataset, the route did change (Figure 4). The
route now traversed a portion of roadway that was originally listed as “very unsafe,” but after
the speed limit reduction was simply “unsafe.”
Figure 4
Westerville Impedance Levels
When viewing the impedance levels for Westerville, it can be seen that it is less safe
overall for cyclists than Reynoldsburg (Figure 5). Fewer of the streets were deemed “safe,” with
more tending to be “unsafe” or “very unsafe.” Also, unlike Reynoldsburg, the streets that were
“very unsafe” were not only found along the periphery of the city, they were found throughout.
(The Westerville Impedance Range values differ from those in Reynoldsburg because in
Reynoldsburg the street segment length was measured in decimal degrees, while in Westerville
it was measured in feet.)
Figure 5
Safety Level Impedance Range Number of Streets
Safe 0-186895.530599 11 (52.4%)
Unsafe 186895.530600-536288.852494 4 (19%)
Very Unsafe 536288.852495+ 6 (28.6%)
Total Network Impedance: 19912251.231008
These findings show that while some streets in Westerville would be great for the
implementation of bicycle infrastructure, many of the city’s streets are still too unsafe for such
a project. Again, when the speed limit reduction occurs, the network overall becomes safer,
however not at the same rate as Reynoldsburg (Figure 6).
Figure 6
Safety Level Impedance Range Number of Streets
Safe 0-186895.530599 11 (52.4%)
Unsafe 186895.530600-536288.852494 7 (33.3%)
Very Unsafe 536288.852495+ 3 (14.3%)
Total Network Impedance: 14150012.700232 (28.9% reduction)
While the number of safe streets did not increase, the number of very unsafe streets was
halved, showing definite improvement. Also, the total network impedance was reduced by
28.9%. Even though this is not as great as Reynoldsburg’s reduction, it is still a substantial
improvement to the safety of the network overall.
Westerville Route Analysis
Figure 7
Like with Reynoldsburg, I created a route in Westerville from its area of highest
population density to the city’s landmarks (Figure 7). Much like with Reynoldsburg, the route
favored traversing street segments that had lower levels of impedance, only traveling along
“unsafe” and “very unsafe” segments when the landmark destination was located along such a
street. Unlike Reynoldsburg, however, after the speed limit reduction the route did not change;
the route traversed the exact same path as before (Figure 8). These results suggest that: 1) A
speed limit change has less of an effect on Westerville’s street network and this caused the
route to be the same before and after the change, and 2) Other factors are contributing to the
unsafe conditions on Westerville’s streets, such as usable bike space, traffic count, or number
of lanes.
Figure 8
Discussion
Problems and Future Work
Originally I wanted to create a tool in ArcGIS for this process since it is a fairly replicable
procedure, however the need to create a network dataset in order to run the route analysis
impeded my progress. As far as I could observe during this project, there is no way to build a
network dataset for the purpose of running route analysis using Python or Model Builder. If this
project was to be completed again, I would do more of a manual process, such as implementing
the NetworkX package, as other presenters in the class suggested. This would allow me to
completely bypass the need to create a network dataset. I also ran into problems with how the
street segment lengths were measured: with Reynoldsburg they were measured with decimal
degrees and Westerville’s were in feet. I could not figure out a simple way to change these
without completely re-doing my network datasets. Finally, for the sake of simplicity in the short
time frame of this project, I only used the streets in each city that had traffic count data readily
available. For a municipality to completely gauge street network safety, however, city planners
would have to look at every street within the city’s boundaries. To do so would require a more
in-depth traffic study requiring much more time.
Overview
I believe that utilizing ArcGIS in the process of planning for the implementation of
bicycle infrastructure can be very useful for municipalities. Its main advantage is that it can
allow for a visualization of how small changes to a network can create large impacts on the
network as a whole. In this example, a speed limit reduction was simulated which created
substantial safety improvements for both Reynoldsburg and Westerville. The use of ArcGIS in
the planning process also demonstrates the notion that no two cities are the same; what works
in one city will not necessarily work in another. This project suggests that while a reduction in
speed in Reynoldsburg had a large impact on its street network, changes to other factors that
were taken into account in the impedance calculation may create a greater improvement to the
safety of Westerville’s network. This project also shows how municipalities can prioritize their
bicycle infrastructure implementation. Streets that are traversed as part of the shortest path
between major nodes such as residential areas and city landmarks (schools, libraries, parks) can
be the focus of municipalities during beginning phases of implementation. This form of
evidence and the quantitative nature of the Clark Index will help city leaders to better
demonstrate the need to build bicycle infrastructure on certain streets.
Appendix
References
Byrnes, Mark. “Is Bicycle Commuting Really Catching On? And if So, Where?” Atlantic Cities. The
Atlantic Monthly Group, 21 Sep. 2011. Web. 6 Dec. 2013.
Sample Python Code
Calculating Clark Index
>>> arcpy.AddField_management("primstreet", "Clark1", "DOUBLE")<Result 'primstreet'>
>>> arcpy.CalculateField_management("primstreet", "Clark1", "[Traffic_Co]/50")<Result 'primstreet'>
>>> arcpy.AddField_management("primstreet", "Clark2", "DOUBLE")<Result 'primstreet'>
>>> arcpy.CalculateField_management("primstreet", "Clark2", "([Speed_lim]-[Cyclist_sp])*([Speed_lim]-[Cyclist_sp])*[Clark1]")<Result 'primstreet'>
>>> arcpy.AddField_management("primstreet", "Clark3", "DOUBLE")<Result 'primstreet'>
>>> arcpy.CalculateField_management("primstreet", "Clark3", "10*[Lane_num]")<Result 'primstreet'>
>>> arcpy.AddField_management("primstreet", "Clark4", "DOUBLE")<Result 'primstreet'>
>>> arcpy.CalculateField_management("primstreet", "Clark4", "(([Bike_sp]*[Bike_sp])*4)+[Clark3]")<Result 'primstreet'>
>>> arcpy.AddField_management("primstreet", "Clark", "DOUBLE")<Result 'primstreet'>
>>> arcpy.CalculateField_management("primstreet", "Clark", "[Clark2]/[Clark4]")<Result 'primstreet'>
Adding Impedance Field
>>> arcpy.AddField_management("primstreet", "Impedance1", "DOUBLE")<Result 'primstreet'>
>>> arcpy.CalculateField_management("primstreet", "Impedance1", "[Shape_Leng]*[Clark]")<Result 'primstreet'>
Creating route from residential area to landmarks
>>> arcpy.na.MakeRouteLayer("Bike", "densitytolandm", "Impedance")
>>> arcpy.na.AddLocations("densitytolandm", "Stops", "high density", "", 1000)
>>> arcpy.na.AddLocations("densitytolandm", "Stops", "landmarks", "", 1000)
>>> arcpy.Solve_na("densitytolandm")
>>> arcpy.SaveToLayerFile_management("densitytolandm", "densitytolandm")
Creating route from residential area to landmarks after speed limit reduction
>>> arcpy.na.MakeRouteLayer("under35_ND", "densitytolandm2", "Impedance")
<Result 'densitytolandm2'>
>>> arcpy.na.AddLocations("densitytolandm2", "Stops", "high density", "", 1000)
<Result 'densitytolandm2'>
>>> arcpy.na.AddLocations("densitytolandm2", "Stops", "landmarks", "", 1000)
<Result 'densitytolandm2'>
>>> arcpy.Solve_na("densitytolandm2")
<Result 'densitytolandm2'>
>>> arcpy.SaveToLayerFile_management("densitytolandm2", "densitytolandm2")