Non motorized Model - bellevuewa/BKRCast GitHub Wiki
Bike Model
Slope, adjacent traffic volume and bicycle provisions are three factors used to estimate perceived travel cost for bike mode.
For additional information on the Bike Model see the SoundCast Wiki: https://github.com/psrc/soundcast/wiki/Bike-Model
Slope Calculation
The slope used in the model is named cumulative slopes. It refers to the total elevation change experienced along a bike facility, calculated by summing the elevation differences at 30-foot interval along the bike facility. This measure captures the overall uphill and downhill effort required for a cyclist to traverse a particular segment of the network.
The calculation uses USGS DEM 30-foot raster file. It is now integrated into BKRCast. Turn on the calculation by setting run_cumulative_slopes = True
. Or run the following command.
python scripts/bikes/calculate_cumulative_slopes_for_bike.py
The following steps are taken to calculate cumulative elevation gains.
Step 1: convert EMME network (links) to shape file
Step 2: split the link shape file into points with 30-foot interval.
Step 3: overlay the points on the elevation raster (from USGS DEM with resolution 30-foot).
Step 4: calculate elevation at each point using rasterstats.point_query(). Use multi-processing technique to speed up the processing.
Step 5: calculate cumulative elevation gains on each bike facility, and cumulative slope as well.
Click here to find more info regarding the slope calculation.
Network Coding
Bike facility in EMME network is flagged in @biketype
attribute.
@biketype
Value | Description |
---|---|
1 | Separated bike lane |
10 | Bike trail |
2 | Bike lane striped |
3 | Bike shoulder (Kirkland does not have this category) |
4 | Wider lane/shared shoulder (Redmond does not have this category) |
City of Bellevue uses more bike facility categories in bike lane planning. The lookup table is given below.
COB Bike Facility Code | Description | @biketype |
---|---|---|
O | Offstreet path - Bidirectional on one side of the street (e.g. NE 12th St) or independent of street network (e.g. ERC Trail), or one-way on both sides of the street (i.e., Spring Blvd raised bikeway) | 10 |
AA | Two-way protected bikeway (on-street) | 1 |
A | Protected bikeway (on-street bike lane with vertical separation, e.g. posts and planter boxes) | 1 |
B | Bike lanes – striped (paint line) or buffered (painted horizontal separation only) | 2 |
C | Bike shoulder | 3 |
D | Shared shoulder (paved) | 4 |
E | Wide outside lane | 4 |
F | Shared wide outside lane | 4 |
G | Sharrows (i.e., shared lane markings) | 4 |
@biketype
is used to calculate facility weight which is given below.
Bike Weights
Three important attributes(bike weights) are used in the calculation of bike cost: volume weight, facility weight, and slope weight.
- volume_wt
AADT Range | volume_wt |
---|---|
<10k | 0 |
10k - 20k | 0.368 |
20k - 30k | 1.40 |
>30k | 7.157 |
- facility_wt
Different facility weights are assigned to bike lanes or trails, categorized by@biketype
. So far the bike model has ability to differentiate three types of facilities, named premium (Trail/Separated bike lane), standard (bike lane striped, Bike shoulder, and Wider lane/shared shoulder), or none. The facility types are saved in@bkfac
. Be aware that this attribute is only used in DaySim, not in EMME databanks.
@biketype |
@bkfac |
facility_wt |
---|---|---|
0 | none |
0 |
1, 10 | premium |
-0.860 |
2, 3, 4 | standard |
-0.108 |
- slope_wt
Slopes are grouped to three categories and different weights are assigned.
@upslp range | slope_wt |
---|---|
<2% | 0.0 |
2% - 4% | 0.371 |
4% - 6% | 1.203 |
>6% | 3.239 |
Total weight is calculated by adding one and inverse of premium bike weight to facility weight or the sum of the three weights.
For premium facilities, total weight is calculated by:
total_wt = 1 - premium_bike_weight + facility_wt
For other facilities, total weight is calculated by:
total_wt = 1 - premium_bike_weight + facility_wt + slope_wt + volume_wt
Total weight is used to model people's perception when comparing bike facilities, relative to a base of a separated bike trail (premium facility) with no slope. Weight calculation results are exported to bike_attr.csv
for off model analysis. The total weight is exported to an EMME attribute file named bkwt.in
.
Assignment and Skimming
Bike volume are assigned to bike network through EMME's extended transit assignment tool.
Note that in Emme, non-motorized trips are assigned using transit assignment, and are considered “auxiliary modes.” Traditionally these modes were only used to access transit, but in this case since we only provide bike demand and no transit options, the assignment occurs only for bikes.
matrix name | Description | Data Source |
---|---|---|
mf'bike' |
bike demand | Daysim output |
mf'recbike' |
recreational bike demand | outputs from rec bike model (supplemental) |
mf'bkpt' |
perceived travel time | bike model output (from assignment) |
mf'bkat' |
actual travel time | bike model output (from skimming) |
The assigned regular bike volume is saved in @bvol
, and recreational bike volume in @recbvol
.
Bike mode is not available between 8PM and 7AM.
Input Files
The input files are saved in [base_inputs]\bikes
folder.
Name | Description |
---|---|
bike_counts.csv | Bike counts in roadway network |
emme_attr.in | Bike attributes in roadway network |
bkwt.in | Total bike weight for roadway links. Exported by the bike model script. |
Output Files
Name | Path | Description |
---|---|---|
bike_volumes.csv | outputs\ |
bike model volumes |
bike_attr.csv | outputs\ |
bike weight outputs |