Geometrie-Konfigurationen Teil 3 – Kontroll-Pläne
Januar 2016: Andreu Tarrida bietet Teil drei der Serie zum Thema Geometriekonfigurationen an: Control Plans.
August 2016
Von Grant MacKinnon
Die meisten Benutzer sind mit der Erstellung eigener Attribute innerhalb von Objekten innerhalb eines Aimsun-Modells vertraut. Dabei handelt es sich in der Regel um Zahlen oder Zeichenketten, aber es ist auch möglich, eine Spalte zu einem Objekt hinzuzufügen, in der ein Wert auf der Basis von Python-Code zurückgegeben wird, so dass ein Wert on the fly berechnet werden kann.
Ein einfaches Beispiel ist ein Etikett, das einen Buchstaben auf einer Kurve anbringt, der angibt, ob es sich um Links-, Durchgangs-, Rechts- oder U-Turn handelt.
Zum Vergrößern anklicken: Anzeige des Attributs im Netz
Zuerst könnten wir diese Spalte mit dem Typen-Editor erstellen (indem wir den entsprechenden Objekttyp im Fenster Typen auswählen) und dann eine neue Spalte mit der Funktion Spaltentyp hinzufügen, in diesem Fall eine, die als Ergebnis eine Zeichenfolge zurückgibt.
Zum Vergrößern anklicken: Erstellen Sie die Spalte mit dem Typen-Editor
Die Funktion muss eine Python-Funktion mit Signatur des Formulars enthalten:
def eval_attr(object):
die mit dem Ergebnis einen Wert zurückgibt.
Hier ist der Code, den wir innerhalb der Spalte speichern
def determineTurningLetterForAngle(angle): dirString = "" if abs(angle)<30.0: dirString+="T" elif abs(angle)>150.0:< dirString+="U" elif angle>0.0: dirString+="L" else: dirString+="R" return dirString def retrieveTurningLetterForTurning(turning): angle = turning.calcAngleSections() directionString = determineTurningLetterForAngle(angle) return directionString def eval_attr(object): res = retrieveTurningLetterForTurning(object) return res
Wir können all dies jedoch aus einem Skript erstellen, das die Spalte erstellt und den Code auffüllt.
Der Code zum Einrichten der Spalte direkt aus einem Python-Skript heraus lautet wie folgt:
def main():
turnLetterAttr = model.getColumn("GKTurning::TurnLetter")
if turnLetterAttr == None:
turningType = model.getType("GKTurning")
turnLetterAttr =
turningType.addColumn("GKTurning::TurnLetter","TurnLetter",
GKColumn.String, GKColumn.ePython)
turnLetterAttr.setPythonCode(PYTHON_CODE_STRING)
main()
PYTHON_CODE_STRING enthält die Definition der Funktion.
Python-Skript zur Erstellung eines Drehklassifizierungsetiketts herunterladen
Januar 2016: Andreu Tarrida bietet Teil drei der Serie zum Thema Geometriekonfigurationen an: Control Plans.
April 2020: Emmanuel Bert beschreibt, wie unser Real Data Set Consistency Checker Ihnen bei Kalibrierungs- und Validierungsaufgaben helfen kann.
TEILEN
Aimsun Next 23
Aimsun Next 20.0.5
Aimsun Next 23
@manual {AimsunManual,
title = {Aimsun Next 23 User’s Manual},
author = {Aimsun},
edition = {Aimsun Next 23.0.0},
address = {Barcelona, Spain},
year = {2023. [Online]},
month = {Accessed on: Month, Day, Year},
url = {https://docs.aimsun.com/next/23.0.0/},
}
Aimsun Next 20.0.5
@manual {AimsunManual,
title = {Aimsun Next 20.0.5 User’s Manual},
author = {Aimsun},
edition = {Aimsun Next 20.0.5},
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 23
TY – COMP
T1 – Aimsun Next 23 User’s Manual
A1 – Aimsun
ET – Aimsun Next Version 23.0.0
Y1 – 2023
Y2 – Accessed on: Month, Day, Year
CY – Barcelona, Spain
PB – Aimsun
UR – [In software]. Verfügbar: https://docs.aimsun.com/next/23.0.0/
Aimsun Next 20.0.5
TY – COMP
T1 – Aimsun Next 20.0.5 User’s Manual
A1 – Aimsun
ET – Aimsun Next Version 20.0.5
Y1 – 2021
Y2 – Accessed on: Month, Day, Year
CY – Barcelona, Spanien
PB – Aimsun
UR – [In software]. Available: qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/Intro.html