Skip to content

Commit 2d8ac1b

Browse files
Merge pull request #21 from psrc/psrc_dev
updating skims names for export to activitysim
2 parents 76b767d + d7e3a9d commit 2d8ac1b

1 file changed

Lines changed: 66 additions & 46 deletions

File tree

scripts/data_prep/skims.py

Lines changed: 66 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ def transit_fare_skims(emme_project, tod, results_dict, time_period_lookup):
117117
return results_dict
118118

119119

120-
def distance_skims(emme_project, tod, results_dict, time_period_lookup):
120+
def distance_skims(emme_project, tod, results_dict, time_period_lookup, vot_dict):
121121
# Vehicle matrices
122122
#### DISTANCE ####
123123
# Distance is only skimmed for once (7to8); apply to all TOD periods
@@ -130,57 +130,75 @@ def distance_skims(emme_project, tod, results_dict, time_period_lookup):
130130
for time_period, hour in time_period_lookup.items(): # EA=early AM
131131
emme_project.change_active_database(hour)
132132

133-
results_dict["SOV_DIST__" + time_period] = emmeMatrix_to_numpyMatrix(
134-
"sov_inc2d", emme_project.bank, "float32"
133+
for k, v in vot_dict.items():
134+
results_dict[f"SOV_DIST_{k}__" + time_period] = emmeMatrix_to_numpyMatrix(
135+
f"sov_{v}d", emme_project.bank, "float32"
135136
)
136137

137-
results_dict["HOV2_DIST__" + time_period] = emmeMatrix_to_numpyMatrix(
138-
"hov2_inc2d", emme_project.bank, "float32"
138+
results_dict[f"HOV2_DIST_{k}__" + time_period] = emmeMatrix_to_numpyMatrix(
139+
f"hov2_{v}d", emme_project.bank, "float32"
139140
)
140141

141-
results_dict["HOV3_DIST__" + time_period] = emmeMatrix_to_numpyMatrix(
142-
"hov3_inc2d", emme_project.bank, "float32"
142+
results_dict[f"HOV3_DIST_{k}__" + time_period] = emmeMatrix_to_numpyMatrix(
143+
f"hov3_{v}d", emme_project.bank, "float32"
143144
)
144145

145-
results_dict["SOV_DIST__" + time_period] = emmeMatrix_to_numpyMatrix(
146-
"sov_inc2d", emme_project.bank, "float32"
146+
results_dict[f"SOV_DIST_{k}__" + time_period] = emmeMatrix_to_numpyMatrix(
147+
f"sov_{v}d", emme_project.bank, "float32"
147148
)
148149

149-
results_dict["HOV2_DIST__" + time_period] = emmeMatrix_to_numpyMatrix(
150-
"hov2_inc2d", emme_project.bank, "float32"
150+
results_dict[f"HOV2_DIST_{k}__" + time_period] = emmeMatrix_to_numpyMatrix(
151+
f"hov2_{v}d", emme_project.bank, "float32"
151152
)
152153

153-
results_dict["HOV3_DIST__" + time_period] = emmeMatrix_to_numpyMatrix(
154-
"hov3_inc2d", emme_project.bank, "float32"
154+
results_dict[f"HOV3_DIST_{k}__" + time_period] = emmeMatrix_to_numpyMatrix(
155+
f"hov3_{v}d", emme_project.bank, "float32"
155156
)
156157

157-
results_dict["SOVTOLL_DIST__" + time_period] = emmeMatrix_to_numpyMatrix(
158-
"sov_inc2d", emme_project.bank, "float32"
158+
results_dict[f"SOVTOLL_DIST_{k}__" + time_period] = emmeMatrix_to_numpyMatrix(
159+
f"sov_{v}d", emme_project.bank, "float32"
159160
)
160161

161-
results_dict["HOV2TOLL_DIST__" + time_period] = emmeMatrix_to_numpyMatrix(
162-
"hov2_inc2d", emme_project.bank, "float32"
162+
results_dict[f"HOV2TOLL_DIST_{k}__" + time_period] = emmeMatrix_to_numpyMatrix(
163+
f"hov2_{v}d", emme_project.bank, "float32"
163164
)
164165

165-
results_dict["HOV3TOLL_DIST__" + time_period] = emmeMatrix_to_numpyMatrix(
166-
"hov3_inc2d", emme_project.bank, "float32"
166+
results_dict[f"HOV3TOLL_DIST_{k}__" + time_period] = emmeMatrix_to_numpyMatrix(
167+
f"hov3_{v}d", emme_project.bank, "float32"
167168
)
168169

169-
results_dict["SOVTOLL_DIST__" + time_period] = emmeMatrix_to_numpyMatrix(
170-
"sov_inc2d", emme_project.bank, "float32"
170+
results_dict[f"SOVTOLL_DIST_{k}__" + time_period] = emmeMatrix_to_numpyMatrix(
171+
f"sov_{v}d", emme_project.bank, "float32"
171172
)
172173

173-
results_dict["HOV2TOLL_DIST__" + time_period] = emmeMatrix_to_numpyMatrix(
174-
"hov2_inc2d", emme_project.bank, "float32"
174+
results_dict[f"HOV2TOLL_DIST_{k}__" + time_period] = emmeMatrix_to_numpyMatrix(
175+
f"hov2_{v}d", emme_project.bank, "float32"
175176
)
176177

177-
results_dict["HOV3TOLL_DIST__" + time_period] = emmeMatrix_to_numpyMatrix(
178-
"hov3_inc2d", emme_project.bank, "float32"
178+
results_dict[f"HOV3TOLL_DIST_{k}__" + time_period] = emmeMatrix_to_numpyMatrix(
179+
f"hov3_{v}d", emme_project.bank, "float32"
179180
)
180181

181182
return results_dict
182183

183184

185+
def bridge_skims(results_dict, time_period_lookup):
186+
matrix_size = len(results_dict["DISTBIKE"])
187+
zero_array = np.zeros((matrix_size, matrix_size))
188+
# BTOLL is bridge toll
189+
# Set this to 0 and only use the value toll (?)
190+
for tod in time_period_lookup.keys():
191+
results_dict["SOV_BTOLL__" + tod] = zero_array
192+
results_dict["HOV2_BTOLL__" + tod] = zero_array
193+
results_dict["HOV3_BTOLL__" + tod] = zero_array
194+
results_dict["SOVTOLL_BTOLL__" + tod] = zero_array
195+
results_dict["HOV2TOLL_BTOLL__" + tod] = zero_array
196+
results_dict["HOV3TOLL_BTOLL__" + tod] = zero_array
197+
return results_dict
198+
199+
return results_dict
200+
201+
184202
def bridge_skims(results_dict, time_period_lookup):
185203
matrix_size = len(results_dict["DISTBIKE"])
186204
zero_array = np.zeros((matrix_size, matrix_size))
@@ -196,48 +214,49 @@ def bridge_skims(results_dict, time_period_lookup):
196214
return results_dict
197215

198216

199-
def cost_skims(emme_project, results_dict, time_period_lookup):
217+
def time_cost_skims(emme_project, results_dict, time_period_lookup, vot_dict):
200218
# ime_dict = {"AM": "7to8", "MD": "10to14", "PM": "17to18", "EV": "18to20", "EA": "5to6"}
201219
for tod, hour in time_period_lookup.items():
202220
print(tod)
203221
print(hour)
204222
emme_project.change_active_database(hour)
223+
for k, v in vot_dict.items():
205224

206225
# Auto Time
207-
results_dict["SOV_TIME__" + tod] = emmeMatrix_to_numpyMatrix(
208-
"sov_inc2t", emme_project.bank, "float32"
226+
results_dict[f"SOV_TIME_{k}__" + tod] = emmeMatrix_to_numpyMatrix(
227+
f"sov_{v}t", emme_project.bank, "float32"
209228
)
210229

211-
results_dict["HOV2_TIME__" + tod] = emmeMatrix_to_numpyMatrix(
212-
"hov2_inc2t", emme_project.bank, "float32"
230+
results_dict[f"HOV2_TIME_{k}__" + tod] = emmeMatrix_to_numpyMatrix(
231+
f"hov2_{v}t", emme_project.bank, "float32"
213232
)
214233

215-
results_dict["HOV3_TIME__" + tod] = emmeMatrix_to_numpyMatrix(
216-
"hov3_inc2t", emme_project.bank, "float32"
234+
results_dict[f"HOV3_TIME_{k}__" + tod] = emmeMatrix_to_numpyMatrix(
235+
f"hov3_{v}t", emme_project.bank, "float32"
217236
)
218237

219-
results_dict["SOVTOLL_TIME__" + tod] = emmeMatrix_to_numpyMatrix(
220-
"sov_inc2t", emme_project.bank, "float32"
238+
results_dict[f"SOVTOLL_TIME_{k}__" + tod] = emmeMatrix_to_numpyMatrix(
239+
f"sov_{v}t", emme_project.bank, "float32"
221240
)
222241

223-
results_dict["HOV2TOLL_TIME__" + tod] = emmeMatrix_to_numpyMatrix(
224-
"hov2_inc2t", emme_project.bank, "float32"
242+
results_dict[f"HOV2TOLL_TIME_{k}__" + tod] = emmeMatrix_to_numpyMatrix(
243+
f"hov2_{v}t", emme_project.bank, "float32"
225244
)
226245

227-
results_dict["HOV3TOLL_TIME__" + tod] = emmeMatrix_to_numpyMatrix(
228-
"hov3_inc2t", emme_project.bank, "float32"
246+
results_dict[f"HOV3TOLL_TIME_{k}__" + tod] = emmeMatrix_to_numpyMatrix(
247+
f"hov3_{v}t", emme_project.bank, "float32"
229248
)
230249

231-
results_dict["SOVTOLL_VTOLL__" + tod] = emmeMatrix_to_numpyMatrix(
232-
"sov_inc2c", emme_project.bank, "float32"
250+
results_dict[f"SOVTOLL_VTOLL_{k}__" + tod] = emmeMatrix_to_numpyMatrix(
251+
f"sov_{v}c", emme_project.bank, "float32"
233252
)
234253

235-
results_dict["HOV2TOLL_VTOLL__" + tod] = emmeMatrix_to_numpyMatrix(
236-
"hov2_inc2c", emme_project.bank, "float32"
254+
results_dict[f"HOV2TOLL_VTOLL_{k}__" + tod] = emmeMatrix_to_numpyMatrix(
255+
f"hov2_{v}c", emme_project.bank, "float32"
237256
)
238257

239-
results_dict["HOV3TOLL_VTOLL__" + tod] = emmeMatrix_to_numpyMatrix(
240-
"hov3_inc2c", emme_project.bank, "float32"
258+
results_dict[f"HOV3TOLL_VTOLL_{k}__" + tod] = emmeMatrix_to_numpyMatrix(
259+
f"hov3_{v}c", emme_project.bank, "float32"
241260
)
242261
return results_dict
243262

@@ -344,14 +363,15 @@ def all_transit_skims(emme_project, results_dict, time_period_lookup):
344363

345364
def create_skims(my_project, skim_file_path, time_period_lookup):
346365
results_dict = {}
366+
vot_dict = {"L" : "inc1", "M" : "inc2", "H" : "inc3"}
347367
# my_project = EmmeProject(project_path)
348368
results_dict = bike_and_walk_skims(my_project, "5to6", results_dict)
349369
results_dict = transit_fare_skims(
350370
my_project, "6to7", results_dict, time_period_lookup
351371
)
352-
results_dict = distance_skims(my_project, "7to8", results_dict, time_period_lookup)
372+
results_dict = distance_skims(my_project, "7to8", results_dict, time_period_lookup, vot_dict)
353373
results_dict = bridge_skims(results_dict, time_period_lookup)
354-
results_dict = cost_skims(my_project, results_dict, time_period_lookup)
374+
results_dict = time_cost_skims(my_project, results_dict, time_period_lookup, vot_dict)
355375
results_dict = transit_skims(my_project, results_dict, time_period_lookup)
356376
results_dict = park_and_ride_skims(my_project, results_dict, time_period_lookup)
357377
results_dict = all_transit_skims(my_project, results_dict, time_period_lookup)

0 commit comments

Comments
 (0)