Verwendung von Busreisezeiten aus einer dynamischen Simulation in einer ÖPNV-Verzögerungsfunktion für die Transitzuweisung

Technischer Hinweis #8

Januar 2015

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.

Weitere technische Hinweise

Wie man Matrix-Inhalte verwendet

März 2017: Marga Delgado zeigt Ihnen, wie Sie mit Contents Matrizen in Unterordner gruppieren können, was besonders praktisch ist, wenn Sie mit mehreren Matrizen arbeiten.

  • Hast du eine Frage? Nimm Kontakt auf.

    Wir sind hier um zu helfen!

  • Hast du eine Frage? Nimm Kontakt auf.

    Wir sind hier um zu helfen!

TEILEN

Zitieren Aimsun Next

Aimsun Next 20

Aimsun (2021). Aimsun Next 20 User's Manual, Aimsun Next Version 20.0.3, Barcelona, Spain. Accessed on: May. 1, 2021. [In software].
Available: qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/Intro.html


Aimsun Next 8.4

Aimsun (2021). Aimsun Next 8.4 User's Manual, Aimsun Next Version 8.4.4, Barcelona, Spain. Accessed on: May. 1, 2021. [In software]. Available: qthelp://aimsun.com.aimsun.8.4/doc/UsersManual/Intro.html

Aimsun Next 20

@manual {​​​​​​​​AimsunManual,

title = {​​​​​​​​Aimsun Next 20 User's Manual}​​​​​​​​,

author = {​​​​​​​​Aimsun}​​​​​​​​,

edition = {​​​​​​​​​​​​​​​Aimsun Next 20.0.3}​​​​​​​​​​​​​​​,

address = {​​​​​​​​​​​​​​​Barcelona, Spain}​​​​​​​​​​​​​​​,

year = {​​​​​​​​​​​​​​​2021. [In software]}​​​​​​​​​​​​​​​,

month = {​​​​​​​​​​​​​​​Accessed on: Month, Day, Year}​​​​​​​​​​​​​​​,

url = {​​​​​​​​​​​​​​​qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/Intro.html}​​​​​​​​​​​​​​​,

}​​​​​​​​​​​​​​​


Aimsun Next 8.4

@manual {​​​​​​​​AimsunManual,

title = {​​​​​​​​Aimsun Next 8.4 User's Manual}​​​​​​​​,

author = {​​​​​​​​Aimsun}​​​​​​​​,

edition = {​​​​​​​​​​​​​​​Aimsun Next 8.4.4}​​​​​​​​​​​​​​​,

address = {​​​​​​​​​​​​​​​Barcelona, Spain}​​​​​​​​​​​​​​​,

year = {​​​​​​​​​​​​​​​2021. [In software]}​​​​​​​​​​​​​​​,

month = {​​​​​​​​​​​​​​​Accessed on: Month, Day, Year}​​​​​​​​​​​​​​​,

url = {​​​​​​​​​​​​​​​qthelp://aimsun.com.aimsun.8.4/doc/UsersManual/Intro.html}​​​​​​​​​​​​​​​,

}​​​​​​​​​​​​​​​

Aimsun Next 20

TY - COMP

T1 - Aimsun Next 20 User's Manual

A1 - Aimsun

ET - Aimsun Next Version 20.0.3

Y1 - 2021

Y2 - Accessed on: Month, Day, Year

CY - Barcelona, Spain

PB - Aimsun

UR - [In software]. Available: qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/Intro.html


Aimsun Next 8.4

TY - COMP

T1 - Aimsun Next 8.4 User's Manual

A1 - Aimsun

ET - Aimsun Next Version 8.4.4

Y1 - 2021

Y2 - Accessed on: Month, Day, Year

CY - Barcelona, Spain

PB - Aimsun

UR - [In software]. Available: qthelp://aimsun.com.aimsun.8.4/doc/UsersManual/Intro.html