将SCATS交通信号控制数据导入Aimsun Next

技术注解#66

作者:Dimitris Triantafyllos

2022年2月

SCATS是一个智能、自适应的交通控制系统,安装在全球28个国家187个城市的55000多个路口。 SCATS自适应交通管理系统使协调交通信号,以优化整个城市、地区或走廊的交通。 智能算法处理实时数据,以调整交通信号的时间,应对突发状况,预测交通模式,保持交通畅通。 其结果是减少拥堵,缩短行程时间,提高安全和生产力。

SCATS ITS应用程序的主要目的是提供有关服务器状态的数据和每个SCATS点位的几何信息,以达到可视化的目的。 这些信息也可以用来在Aimsun Next中的一个新的SCATS层中导入SCATS路口的布局、信号灯组、探测器。 这些数据可以与Next中的现有网络几何形状自动匹配,这样SCATS信号灯组和探测器就会在现有网络的基础上被创建。 但是,用户应该验证在SCATS新层中导入的数据是否与现有的网络层正确匹配。 一旦Aimsun Next网络中的信号灯组被验证无误,就可以导入与SCATS中定义匹配的控制计划。 另外,当探测器被贴上SCATS层中的标签时,可以导入SCATS记录数据中的计数测量值。

注意以下重要要求:

  • Aimsun Next + 自适应控制接口 许可证
  • SCATS ITS Port许可证(2个USB硬件锁)
  • 可以访问SCATS数据库和SCATS Region数据
  • 应用程序:SCATS Central Manager, SCATS Central Manager Configuration, SCATS Access
  • exe 应用程序

注意: 对于这个快速指南,我们使用的信息来自SCATS Central Manager Configuration user manual.pdfSCATS Central Manager user manual.pdf. 在下图中,显示了所需的所有不同服务器的配置,以及每个服务器与其他服务器通信的默认端口,以便在SCATS终端运行SCATS ITS界面。

1. 所需数据

要设置SCATS Central Manager,你需要一下数据:

  1. SCATS Central Manager文件夹:SCATS Central Manager文件夹包括以下文件夹/文件:

你可以向新南威尔士州交通局或SCATS当地经销商索取这些数据。

  1. SCATS Central Manager许可证文件:The SCATS Central Manager License file (.txt)。 名称和许可证信息将在稍后用于设置SCATS Central Manager。

你可以向新南威尔士州交通局或SCATS当地经销商索取这些数据。

  1. SCATS数据库:SCATS数据库文件最好为“.mdb”格式。 如果数据库类型是“.sql”,那么你必须安装SQL Express软件来读取数据库。 欲了解更多信息,请参见SCATS Central Manager用户手册。 该数据库应放在Central Manager文件夹内:

  1. SCATS Region文件夹:SCATS Region文件夹通常包括每个region的文件夹,包括每个region的.tc, .lx, .ram.hist.vs文件。 SCATS Region文件夹还可能包括更多的文件,如手册和可执行应用程序。

在这里我们需要澄清的是文件夹 SCATS_ITS_Setup \ Region需要通过SCATSim与Aimsun Next连接。 文件夹SCATS_ITS_Setup\Central Manager\ Region需要通过SCATS ITS与Aimsun Next连接。

每个region的.tc, .lx.ram文件需要通过SCATSim的应用程序与Aimsun Next连接。 如果用户想导入历史信号时间和历史计数测量值,SCATS ITS需要每个region的.hist.vs文件。

请看下面一个SCATS Region文件夹的例子:

Region文件夹也应复制到SCATS Central Manager文件夹下;但文件夹的结构是不同的。 所需的文件夹结构显示在下面的屏幕截图中:

2. 运行ODBC 32位应用程序

为了让SCATS应用程序连接到SCATS数据库,我们必须在%windir%\SysWOW64\odbcad32.exe中用32位ODBC管理员创建一个ODBC数据源。

  1. 运行exe
  2. 进入“System DSN” -> “Add…” ->

  1. 添加“Data Source Name”和“Description”。 然后,按下“Select…” -> 进入.mdb文件目录选择那个文件。 然后,在所有打开的窗口中选择确定。

3. 配置SCATS Central Manager

  1. 双击Central Manager/ScatsCentralManagerConfiguration.exe ,访问SCATS Central Manager配置窗口。 确认“SCATS System Name”、“License Name”和“License Details”与SCATS Central Manager License file(.txt)中的信息一致。

  1. 双击Central Manager/ScatsCms.exe,启动SCATSCentral Manager应用程序:

  1. 一旦启动后,一个名为 “SCATS CMS Debug “的命令行窗口将打开。 等待几分钟后,应显示以下信息:“Setting service running…” – “Startup complete”:

1. 准备Aimsun Next SCATS ITS接口

  1. 开启Aimsun Next
  2. 打开.ang文件
  3. 在主菜单栏中,选择编辑,然后选择偏好。 选择自适应控制接口,然后选择SCATS ITS Interface,填写所需要的信息:
    • SCATS Central Manager IP地址:127.0.0.1 (如果SCATS Central Manager在同一台电脑上运行,则保留此IP地址)
    • SCATS Central Manager ITS Port: 2012
  1. 要导入SCATS数据,首先我们应该检查Aimsun Next中哪一个底层拥有当前的网络节点,因为一旦开始导入过程,我们就必须选择它(如Test SCATSim)。

2. 使用SCATS ITS Interface

为了将SCATS数据导入Aimsun Next交通网络,需要建立Aimsun Next和SCATS ITS中的目标之间的关系。 SCATS数据库对服务器所管理的目标有内部标识符。

  • 在SCATS数据库中,SCATS点位(路口)有一个唯一的ID,
  • 每个SCATS点位的探测器和信号灯组也有一个ID,用于识别它们所属的点位。

SCATS点位和Aimsun Next目标之间的相对应关系可以通过外部列手动完成,或者在SCATS ITS Interface的帮助下,从SCATS ITS导入几何图形,并在基础网络上进行匹配(需要手动验证匹配结果)。 我们将在下面的例子中描述这两种模式:

要启动SCATS ITS Interface,进入主菜单,选择工具,然后选择SCATS ITS Interface,如下图所示:

第1步:导入SCATS点位的几何图形

SCATS ITS Interface可以向SCATS ITS索取SCATS点位的几何信息,并在Aimsun Next中表达它们。 导入的几何图形将被存储在基础网络之上的一个独立层,以使验证车道数、探测器位置、信号灯组命名等任务更加容易。

在SCATS ITS Interface对话框的“Geometry”页中,选择Aimsun Next节点被分配的基础层中的现有网络。 SCATS ITS Interface提供两种主要模式来开始导入SCATS点位的几何信息,这取决于基础网络中已经存在的信息。

A. 如果基础网络节点在任何外部属性中没有存储任何SCATS点位ID,请选择模式:Using a node as reference。

  1. 设置Aimsun Next网络节点ID和相应的SCATS点位ID(道路交通管理部门应向你提供至少一个SCATS点位ID的位置,如2693)。
  2. 要导入数据库中所有的SCATS点位ID,在“Source of Sites”中,选择“Expand from Reference”。 在“Number of Sites”中设置“All”

要根据参考的SCATS点位ID导入特定的SCATS点位ID列表,在“Source of Sites”中选择“Use List of Sites”,然后输入用逗号分隔的SCATS点位ID,如下图所示:

这种导入模式允许将一个节点设置为参考,以导入Aimsun Next网络中的其他SCATS点位。 在这种情况下,将收集有关本SCATS点位的信息,然后还将要求提供邻近SCATS点位的信息。 这样一来,围绕参照物的SCATS点位将被导入。

注意:

  • 这种方法的弱点是,导入的SCATS点位取决于相邻SCATS点位的连续性。 如果一个SCATS点位存在于SCATS数据库中,但又是孤立的(意味着在这个SCATS点位上没有对其邻近的SCATS点位的参考),那么它将不会被导入Aimsun Next SCATS层。
  • 我们建议在大规模的Aimsun Next网络中导入大量的SCATS点位时使用这种模式。 一旦完成,你就可以手动验证导入的SCATS点位,激活基础层和SCATS层,创建视图模式或使用表视图来过滤和比较。

B. 如果在Aimsun Next节点中已经通过外部节点属性识别了SCATS点位(手动或以前的导入),那么这个外部属性就可以用来在识别的节点上导入SCATS几何图形。 选择模式: Use attribute on nodes as SCATS Site ID。 选择存储SCATS点位ID的属性。

注意:

  • 如果你想重新导入几何图形,我们需要使用的外部属性是第一次导入时自动创建的“SCATS ITS Matched Site ID”,作为参考。
  • 如果你只想导入SCATS数据库中特定的(已知的)SCATS点位清单,可以使用“Import List of Sites”选项,输入用逗号分隔的SCATS点位ID。

一旦完成了SCATS点位几何图形的导入过程,那么:

  1. 一个名为“SCATS ITS Network”的新图层将会被创建,包括从SCATS数据库导入的新路段、节点、转弯、探测器。 在下面的截图中可以看到该层及其目标的例子:
  1. 在节点中创建的新的外部属性。 双击基础层节点,检查“SCATS ITS Matched Site ID”,应该与”SCATS ITS Network“层中节点的外部ID正确匹配。
  1. 双击从SCATS数据库导入的节点,检查创建的外部列:
    • SCATS ITS Import – Next SCATS Sites: 它拥有邻近的SCATS点位的信息
    • SCATS ITS Import – Phases & Signals: 它保存相位和信号灯信息
    • SCATS ITS Matched to base on import: 它包含该SCATS ITS匹配的基础层节点的数量
    • SCATS_PHASE_LIST: 它保存相位信息
  1. 在SCATS节点中创建的检测器和信号灯组被导入。 探测器名称由SCATS_SITE_ID + SCATS_DETECTOR_ID组成,如:2693_11
  1. 为了能够从SCATS导入信号配时数据(.hist文件),必须确定每个路口的信号灯组。 在这种情况下,使用信号灯组的名称(1、2、3、4…8)。 SCATS只给出记录上每个时间条目所激活的阶段的ID。 因此,SCATS相位和信号灯组之间的关系是通过一个新的属性“SCATS ITS Import – Phases & Signals”来完成。 该属性的值是一个字符串,包含每个SCATS相位的信号灯组的ID。 在下面的例子中,SCATS相位“A”将信号灯组 “1”、“2”、“9”、“10”设置为绿色。 B相位使用信号“1”、“3”和“9”,以此类推。

第2步: 匹配输入的SCATS节点和Aimsun节点

SCATS ITS Interface可以在“SCATS ITS Network”和基础网络层这两个层次之间进行一些自动匹配。

  1. SCATS ITS图层, 选择导入SCATS几何图形的图层。
  2. 基础网络层,选择基础网络的基础层。
  3. 节点选项中,可以选择匹配网络中所有被确定为SCATS点位的节点,也可以在文本框中用逗号分隔点位标识符,选择一个子集。
  4. 在“Match Nodes to Base”中,选择工具在匹配时应执行哪些行动
    • Copy Signal Groups。 基础网络中的转弯将与SCATS点位中的转弯相匹配。 由SCATS点位定义的信号灯组将在基础网络中创建。 创建的信号灯组的名称(通常是一个数字)将与SCATS的对应名称相同。
    • Clear Signal Groups。 如果选择这个选项,在进行匹配之前,基础网络的节点中的信号组将被删除。
    • Copy Detectors。 勾选该选项后,插件将尝试在基础网络上创建与SCATS点位中的探测器相匹配的新探测器。 在这种情况下,探测器由其外部ID来识别。
    • Create Aggregated Detectors。 勾选此选项后,将创建覆盖所有路段车道的新探测器,以汇总下一步导入的计数数据。
  1. Network Objects中,你可以创建一个Fixed Control Plan。 该控制计划将具有SCATS所定义的相位和信号灯组。 由于没有计时信息,将使用假计时(绿灯时间=每相位12秒,相位间隔=5秒)。

请看下面例子中定义的参数:

请看下面例子中创建的假控制计划:

  1. 探测器从SCATS层复制到基础网络层。 这个过程成功地识别了转弯车道(分离的路段),并将正确的SCATS探测器复制到基础层的几何形状上。 在任何情况下,用户都需要验证探测器是否被正确复制过来。
  2. 控制器目标已经创建,相关参数已正确导入;探测器被分配为连接;信号灯组被分配;探测器对应了其ID。 请注意,控制器必须由用户手动启用,可以通过SCATS控制器目标或使用表视图自动启用。

我们建议对每个目标类型分别进行匹配(第一是信号灯组,第二是探测器,第三是控制计划和控制器),这样你就能验证所有节点的所有数据都已正确导入。

第3步: 导入SCATS信号时间和计数数据

核实检查:

  • 要从SCATS记录文件(.vs)中导入探测器计数数据,你必须验证探测器是否从SCATS数据库中正确导入,然后成功匹配(复制)到基础层。
  • 要从SCATS记录文件(.hist)中导入信号计时信息,必须确认Aimsun信号灯组和SCATS标识符以及每个相位激活的信号灯组设置正确。
  • 这两种验证都必须手动或通过脚本为每个SCATS点位完成。

预备:

将SCATS记录文件(探测器计数数据:.vs, 信号灯时间:.hist) 放入 /Central Manager/Region/REGIONNAME/SCATSData/History/ 和 /Central Manager/Region/REGIONNAME/SCATSData/Vs/ 文件夹。 这些是保存每日数据的文件,其名称是基于相应的日期(如20170601.hist或20170601.vs)。

  1. 要从SCATS服务器导入数据,请进入SCATS ITS Interface的数据页。
  2. Base Network Layer中,选择基础图层。
  3. SCATS ITS Layer中,选择SCATS ITS Network。
  4. 要导入控制计划数据,选择”Control Plan from HIST File“。
  5. 然后在“Regions to Look data for:”标出:WEN。 你可以使用”Shift“按钮来选择多个区域来获取数据。
  6. 时间段可以通过选择一个开始和结束日期以及开始和结束时间来定义。 可以选择特定的工作日来创建查询,比如说:”All Mondays of a July, from 6am to 11am“。
  1. 一个控制计划被创建了。 它参考了网络上与SCATS点位匹配的所有节点的信号时间。 在每个控制计划上创建的相位包含为所提供的时间段计算的平均绿灯时间。 你可以选择创建多个控制计划,并将间隔时间设置为自定义的期限。
  1. 要将探测器计数数据作为真实数据集目标导入,选择 来自VS文件的真实数据集选项,选择要导入数据的region并按导入。
  1. 每一天和每一个region的文件都从服务器上被请求并被解析。 一个真实数据集被创建,包括平均数、最小数和最大数以及流量。 这引用了一组由插件创建的CSV文件,其中包含从服务器收集的所有数据。

请看一段视频,展示使用SCATS ITS Interface一步步导入SCATS数据的过程。

为了进行这种验证,我们可以使用SCATS Access应用程序。

  1. 双击Central Manager/ScatsAccess.exe打开SCATS Access应用程序。

  1. 在点位ID中设置所需的SCATS点位ID(如:2693),以实现可视化。 Region一栏将自动填写(如:WEN)。
  2. 选择搜索
  3. 这时,你可以通过在Aimsun Next中检查探测器的ID和导入的探测器的外部ID,来验证探测器是否已经从SCATS数据库中正确导入。 你还可以验证信号灯组是否与Aimsun Next网络中的正确相位相关。

更多技术说明

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

    我们在这里提供帮助!

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

    我们在这里提供帮助!

分享

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