@@ -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+
184202def 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
345364def 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