如何使用模板脚本实现信号灯节点的快速可视化

技术注解 #43

2020年1月
作者:Margarida Delgado

在这个技术注解中,我们将看一下模板中的一个脚本,你可以用它来加快过滤和查看信号灯节点的过程。

模板列表中的第10个脚本将搜索模型中的所有节点,然后分配一个节点属性,称为GKNode::hasControlInfo,为真或假(如果它不存在,则创建该节点属性)。

当你执行脚本10时,主函数将被调用,并打开一个有以下选项的对话框:

  1. “全部控制计划”
  2. “一个控制计划”
  3. “主控制计划中的全部控制计划”

GKNode::hasControlInfo的下拉菜单

如果你选择 “一个控制计划”,你需要提供控制计划的ID号;如果你选择 “主控制计划中的全部控制计划”,你需要提供主控制计划的ID号。

函数getCreateNodeAttribute()检查特性 GKNode::hasControlInfo是否存在。 如果不存在,就创建它。 这个属性所接受的值的类型将是布尔值(真或假)。 外部名称将是”有控制信息吗?”

函数isNodeInCP( cp, node )只是确定一个特定的节点是否有特定控制计划的信息;如果没有信息,它返回0,即false或No;如果有信息,返回1,即true或Yes。 当节点在控制计划中显示为未指定(即没有信息)时,函数getControlJunction()将返回0。


当寻找全部控制计划时,将执行函数startCalculation(column)。 它检查所有节点,对于每个节点,检查它全部控制计划。 节点都是GKNode-type目标,所有的控制计划都是 CKControlPlan-type目标,所以用getCatalog().getObjectsByType(enterType)函数找到它们。

当寻找一个特定的控制计划时,函数startCalculationCP(column, cp)将检查这个特定控制计划的所有节点。

当寻找一个特定的主控制计划时,函数startCalculationMCP(column, mcp)会检查该主控制计划内的所有节点和全部控制计划,无论时间表或区域如何。

一旦脚本完成,你可以将节点可视化,不带信息,创建一个视图模式:




更多技术说明

转弯惩罚函数

2017年6月:Dimitris Triantafyllos和Carles Illera解释了如何使用可以从控制计划中感知到成本的“转弯惩罚函数”,以及如何使用“交叉口延误函数”在宏观模型中模拟停车/让行标志。

宏观函数组件

2016年3月:Marga Delgado解释了如何使用“宏观函数组件”在执行任务时产生额外的输出。

  • 有问题吗? 请联系我们。

    我们在这里提供帮助!

  • 有问题吗? 请联系我们。

    我们在这里提供帮助!

分享

引用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