Stell dir vor, du hast eine dynamische Simulation (Meso-, Mikro- oder Hybrid-Simulation) durchgeführt, die dir genaue Fahrzeiten für Transitfahrzeuge liefert, die Staus, reservierte Fahrspuren, Signale und Algorithmen zur Transitpriorisierung berücksichtigen. Wäre es nicht schön, diese Informationen zu nutzen, um eine genauere Schätzung der Fahrzeit von Haltestelle zu Haltestelle in einem makroskopischen Transitauftrag zu erhalten?
Dank der integrierten Modellierungsumgebung von Aimsun ist dies möglich. Du musst nur eine ÖPNV-Verspätungsfunktion schreiben, die die Busfahrzeit aus der von der dynamischen Simulation erzeugten Zeitreihe liest.

Zuordnung öffentlicher Verkehr
Zum Beispiel:
costCol = None
def pdf( context, line, ptsection ):
global costCol
if costCol == None:
model = ptsection.getModel()
vehicleType = model.getType("GKVehicle")
vehicleId = model.getCatalog().findByName("Bus", vehicleType).getId()
costCol = model.getColumn("DYNAMIC::SRC_GKSection_travelTime_%i" % vehicleId)
res = 0.0
fromStop = ptsection.getMaster().getOrigin()
if fromStop != None:
sectionLength = fromSection.length2D()
fromSection = fromStop.getSection()
fromFraction = (sectionLength - fromStop.getPosition()) / sectionLength
else:
fromSection = None
toStop = ptsection.getMaster().getDestination()
if toStop != None:
toSection = toStop.getSection()
toFraction = toStop.getPosition() / toSection.length2D()
else:
toSection = None
for section in ptsection.getMaster().getRoute():
fraction = 1.0
if fromSection != None and section.getId() == fromSection.getId():
fraction = fromFraction
elif toSection != None and section.getId() == toSection.getId():
fraction = toFraction
ts = section.getDataValueTS(costCol)
if ts != None:
res += ts.getAggregatedValue()/60 * fraction
if res == 0.0:
print "No dynamic cost for PT Section %i" % ptsection.getId()
res = 60.0 * ptsection.getDistance()/1000.0 / 20.0 #km/h
return res
Die Funktion liest die Fahrzeit der letzten Simulation für den Busfahrzeugtyp aus dem Abschnitt. Da die Kosten für die ÖPNV-Zuordnung für ÖPNV-Abschnitte ausgedrückt werden, d.h. für Haltestellen-Segmente, addiert sie diese für alle Abschnitte zwischen den Haltestellen und berechnet einen Bruchteil für den ersten und letzten Abschnitt, abhängig von der Position der Bushaltestellen.
Eine wichtige Anwendung dieses Ansatzes ist die Abschätzung der Auswirkung auf die Verteilung und den Modussplit von betrieblichen Änderungen am Transitsystem, wie z.B. die Einführung von Signalpriorität und reservierten Fahrspuren entlang eines Korridors.