@@ -105,6 +105,7 @@ class MultiClassRoadAssignment(_m.Tool()):
105105 ResultAttributes = _m .Attribute (str )
106106 xtmf_AnalysisAttributes = _m .Attribute (str )
107107 xtmf_AnalysisAttributesMatrixId = _m .Attribute (str )
108+ xtmf_AnalysisSelectedLinkVolumes = _m .Attribute (str )
108109 xtmf_AggregationOperator = _m .Attribute (str )
109110 xtmf_LowerBound = _m .Attribute (str )
110111 xtmf_UpperBound = _m .Attribute (str )
@@ -168,6 +169,7 @@ def __call__(
168169 ResultAttributes ,
169170 xtmf_AnalysisAttributes ,
170171 xtmf_AnalysisAttributesMatrixId ,
172+ xtmf_AnalysisSelectedLinkVolumes ,
171173 xtmf_AggregationOperator ,
172174 xtmf_LowerBound ,
173175 xtmf_UpperBound ,
@@ -197,6 +199,7 @@ def __call__(
197199 self .LinkTollAttributeId = [x for x in LinkTollAttributeId .split ("," )]
198200 AnalysisAttributes = [x for x in xtmf_AnalysisAttributes .split ("|" )]
199201 AnalysisAttributesMatrixId = [x for x in xtmf_AnalysisAttributesMatrixId .split ("|" )]
202+ AnalysisSelectedLinkVolumes = [x for x in xtmf_AnalysisSelectedLinkVolumes .split ("|" )]
200203 operators = [x for x in xtmf_AggregationOperator .split ("|" )]
201204 lowerBounds = [x for x in xtmf_LowerBound .split ("|" )]
202205 upperBounds = [x for x in xtmf_UpperBound .split ("|" )]
@@ -205,6 +208,7 @@ def __call__(
205208 mulitplyPathValue = [x for x in xtmf_MultiplyPathPropByValue .split ("|" )]
206209 self .ClassAnalysisAttributes = []
207210 self .ClassAnalysisAttributesMatrix = []
211+ self .ClassAnalysisSelectedLinkVolumes = []
208212 self .ClassAnalysisOperators = []
209213 self .ClassAnalysisLowerBounds = []
210214 self .ClassAnalysisUpperBounds = []
@@ -215,6 +219,7 @@ def __call__(
215219 for i in range (len (self .Demand_List )):
216220 self .ClassAnalysisAttributes .append ([x for x in AnalysisAttributes [i ].split ("," )])
217221 self .ClassAnalysisAttributesMatrix .append ([x for x in AnalysisAttributesMatrixId [i ].split ("," )])
222+ self .ClassAnalysisSelectedLinkVolumes .append ([x for x in AnalysisSelectedLinkVolumes [i ].split ("," )])
218223 self .ClassAnalysisOperators .append ([x for x in operators [i ].split ("," )])
219224 self .ClassAnalysisLowerBounds .append ([x for x in lowerBounds [i ].split ("," )])
220225 self .ClassAnalysisUpperBounds .append ([x for x in upperBounds [i ].split ("," )])
@@ -228,6 +233,9 @@ def __call__(
228233 if self .ClassAnalysisAttributesMatrix [i ][j ] == "mf0" or self .ClassAnalysisAttributesMatrix [i ][j ] == "" :
229234 # make mf0 matrices None for better use in spec
230235 self .ClassAnalysisAttributesMatrix [i ][j ] = None
236+ if self .ClassAnalysisSelectedLinkVolumes [i ][j ] == "" :
237+ # make mf0 matrices None for better use in spec
238+ self .ClassAnalysisSelectedLinkVolumes [i ][j ] = None
231239 try :
232240 self .ClassAnalysisLowerBounds [i ][j ] = float (self .ClassAnalysisLowerBounds [i ][j ])
233241 self .ClassAnalysisUpperBounds [i ][j ] = float (self .ClassAnalysisUpperBounds [i ][j ])
@@ -391,6 +399,7 @@ def get_attribute_name(at):
391399 attributeDefined = False
392400 allAttributes = []
393401 allMatrices = []
402+ selectedLinkVolumes = []
394403 operators = []
395404 lowerBounds = []
396405 upperBounds = []
@@ -401,6 +410,7 @@ def get_attribute_name(at):
401410 for i in range (len (self .Demand_List )):
402411 allAttributes .append ([])
403412 allMatrices .append ([])
413+ selectedLinkVolumes .append ([])
404414 operators .append ([])
405415 lowerBounds .append ([])
406416 upperBounds .append ([])
@@ -411,6 +421,7 @@ def get_attribute_name(at):
411421 _m .logbook_write ("Cost matrix defined for class %s" % self .ClassNames [i ])
412422 allAttributes [i ].append (costAttribute [i ].id )
413423 allMatrices [i ].append (self .CostMatrixId [i ])
424+ selectedLinkVolumes [i ].append (None )
414425 operators [i ].append ("+" )
415426 lowerBounds [i ].append (None )
416427 upperBounds [i ].append (None )
@@ -424,6 +435,7 @@ def get_attribute_name(at):
424435 _m .logbook_write ("Toll matrix defined for class %s" % self .ClassNames [i ])
425436 allAttributes [i ].append (self .LinkTollAttributeId [i ])
426437 allMatrices [i ].append (self .TollsMatrixId [i ])
438+ selectedLinkVolumes [i ].append (None )
427439 operators [i ].append ("+" )
428440 lowerBounds [i ].append (None )
429441 upperBounds [i ].append (None )
@@ -438,6 +450,7 @@ def get_attribute_name(at):
438450 _m .logbook_write ("Additional matrix for attribute %s defined for class %s" % (self .ClassAnalysisAttributes [i ][j ], self .ClassNames [i ]))
439451 allAttributes [i ].append (self .ClassAnalysisAttributes [i ][j ])
440452 allMatrices [i ].append (self .ClassAnalysisAttributesMatrix [i ][j ])
453+ selectedLinkVolumes [i ].append (self .ClassAnalysisSelectedLinkVolumes [i ][j ])
441454 operators [i ].append (self .ClassAnalysisOperators [i ][j ])
442455 lowerBounds [i ].append (self .ClassAnalysisLowerBounds [i ][j ])
443456 upperBounds [i ].append (self .ClassAnalysisUpperBounds [i ][j ])
@@ -470,6 +483,7 @@ def get_attribute_name(at):
470483 self .normGap ,
471484 self .PerformanceFlag ,
472485 self .TimesMatrixId ,
486+ selectedLinkVolumes
473487 )
474488 report = self ._tracker .runTool (trafficAssignmentTool , spec , scenario = self .Scenario )
475489 assignmentComplete = True
0 commit comments