Skip to content

Accessibility

HU DONG edited this page Aug 18, 2023 · 11 revisions

Parking

If the base_yearis not equal to scenario_name, daily and hourly parking cost residing in the parcel file will be updated by a script named update_parking.py, which is located in scripts\utils folder. New parking costs are provided by two external files. File names and formats are shown as follows.

Input File Location Description Source
daily_parking_costs.csv inputs\accessibility new daily parking cost by ensemble copied from base_inputs\landuse folder
hourly_parking_costs.csv inputs\accessibility new hourly parking cost by ensemble copied from base_inputs\landuse folder
parking_gz.csv inputs\ EMME ensemble (gz) for parking cost copied from base_inputs\landuse folder

At this time, PSRCTAZ and its ensemble gz are used to relate parcel file and new parking cost. It is because PSRC has defined districts of parking cost and our BKRCast TAZ outside of Eastside area are too big to incorporate PSRC's parking cost district. It can be changed later.

Daily and hourly parking spaces (PARKDY_P and PARKHR_P) will not be updated by update_parking.py. This information needs to be manually updated in parcel file. For parcels in districts with non-zero parking costs, each parcel is assumed to have minimum number of parking spaces. For now, region-wide average parking space per parcel is assumed for parcels with zero parking spaces and non-zero parking cost. The parcel file with updated parking price is saved in inputs\accessibility\ folder.

Accessibility

This directory contains input files for parcel accessibility calculations; the accessibility calculations involve generating a buffered parcel file:

File Description Source
all_streets_links_2014.csv All street network links copied from base_inputs\accessibility folder
all_streets_nodes_2014.csv All street nodes copied from base_inputs\accessibility folder
transit_stops.csv A list of transit stops with submode flags copied from base_inputs\network folder

accessibility configuration

The configuration is saved in accessibility_configuration.py, located in scripts\accessibility folder.

Setting Value Description
parcels_file_name parcels_urbansim.txt Primary parcel file with land-use data
buffered_parcels buffered_parcels.txt Buffered parcel file name
land_use_output_folder outputs/landuse land use output folder
output_parcels outputs/landuse/buffered_parcels.dat Output buffered parcel file
transit_stops_name inputs/network/transit_stops.csv Transit stops file
nodes_file_name inputs/accessibility/all_streets_nodes_2014.csv All street nodes file
links_file_name inputs/accessibility/all_streets_links_2014.csv All street links file
daily_parking_cost inputs\\accessibility\\daily_parking_costs.csv Daily parking cost
hourly_parking_cost inputs\\accessibility\\ hourly_parking_costs.csv Hourly parking cost
max_dist 24140.2 Maximum buffered distance in meters (15 miles?)
distances {1: 2640,2: 5280} Buffer distances, key=buffer type (1 or 2), value=distance in feet. The two buffer distances are used in calculating accessibilities to different land-use. The two buffer distances are sort of for walk and bike, but buffer variables are used in a lot of models, including destination choice, and we tested whether a somewhat smaller or large buffer worked better in destination and used that. For transit accessibility, there are fields in the buffered parcel file providing distance to transit stops.
parcel_attributes {"sum": ["HH_P", "STUGRD_P", "STUHGH_P", "STUUNI_P", "EMPMED_P", "EMPOFC_P", "EMPEDU_P", "EMPFOO_P", "EMPGOV_P", "EMPIND_P","EMPSVC_P", "EMPOTH_P", "EMPTOT_P", "EMPRET_P","PARKDY_P", "PARKHR_P", "NPARKS", "aparks", "daily_weighted_spaces", "hourly_weighted_spaces"], "ave": [ "PPRICDYP", "PPRICHRP"],} Attributes of the input parcel file; key = functions applied when aggregating over buffers, value = fields
col_order [parcelid, xcoord_p, ycoord_p, sqft_p, taz_p, lutype_p, hh_p, stugrd_p, stuhgh_p, stuuni_p, empedu_p, empfoo_p, empgov_p, empind_p, empmed_p, empofc_p, empret_p, empsvc_p, empoth_p, emptot_p, parkdy_p, parkhr_p, ppricdyp, pprichrp, hh_1, stugrd_1, stuhgh_1, stuuni_1, empedu_1, empfoo_1, empgov_1, empind_1, empmed_1, empofc_1, empret_1, empsvc_1, empoth_1, emptot_1, parkdy_1, parkhr_1, ppricdy1, pprichr1, nodes1_1, nodes3_1, nodes4_1, tstops_1, nparks_1, aparks_1, hh_2, stugrd_2, stuhgh_2, stuuni_2, empedu_2, empfoo_2, empgov_2, empind_2, empmed_2, empofc_2, empret_2, empsvc_2, empoth_2, emptot_2, parkdy_2, parkhr_2, ppricdy2, pprichr2, nodes1_2, nodes3_2, nodes4_2, tstops_2, nparks_2, aparks_2, dist_lbus, dist_ebus, dist_crt, dist_fry, dist_lrt, dist_park] Column names in the output buffered parcel file. The order of the fields matters in all DaySim files.
transit_attributes ["tstops"] Attribute in the transit file. 1 if a node is a transit stop
intersections ["nodes1", "nodes3", "nodes4"] Attributes in the intersection file. nodes1 for a dead end node, nodes3 for T intersection, nodes4 for a four-or-more-leg intersection

In DaySim, it is important to have measures not only of within a particular parcel but also what lies in the area immediately surrounding each parcel. These measures are created by defining a “buffer” area around each parcel and counting what lies inside the buffer. These variables can then be used in DaySim in a way similar to how zonal land use and density variables are used in TAZ-based models, with the advantage that the buffer is defined in exactly the same way for each parcel. The process of calculating buffered variables is called accessibility calculations.

The buffer variables that DaySim uses include:

  • The number of households in the buffer;
  • Employment (number of jobs) in the buffer in various employment sectors;
  • Enrollment in schools in the buffer, segmented by grade schools and colleges;
  • The number of spaces and average price of paid off-street parking in the buffer;
  • The number of transit stops within the buffer (segmented by sub-mode, if relevant);
  • The number of street intersections in the buffer, segmented by 1-node (dead-end or cul-de-sac), 3-node (T-junction), and 4+node intersections

In addition, DaySim also uses the distance from the parcel centroid to the nearest transit stop (by transit sub-mode, if relevant), as well as the distance to the nearest open space area while simulating models.

The accessibility process requires all street network (all_streets_links_2014.csv and all_streets_nodes_2014.csv) inputs to determine parcel to parcel, parcel to intersection and parcel to transit stop distance. The process calculates buffer variables for a parcel by summing landuse variables of all parcels within a certain buffer distance of the particular parcel. As BKRCast is based on SoundCast, the all-street network is provided by PSRC. The all-street network is generally denser than the EMME highway network. The all-street network can be updated when there are significant changes in the network (more or fewer links). As the accessibility calculations use only link length (distance), the other link or node attributes do not matter.

The accessibility calculation is done by:

  1. map each parcel to its nearest node (in all street network) including intersections and transit stops;
  2. calculate buffer variables within half a mile and one mile distance from each node. Attribute name with _1 refers to sum within half a mile, while _2 refers to within one mile.

Clone this wiki locally