使用Aimsun微观API导出探针数据

技术注解 #9

2015年7月

作者:Dimitris Triantafyllos

解决交通拥堵问题的一个重要步骤是部署更准确和可靠的交通监测系统。 传统上,交通监控系统大多局限于高速公路,并完全依赖安装在基础设施中的传感器的数据反馈,如线圈探测器、雷达或摄像头。 然而,这其实是不够的,特别是在干道上。 探针-车辆数据是目前唯一有可能在未来覆盖全球的重要数据来源;来源包括智能手机、定期报告其位置的车队车辆、售后市场设备或射频识别标签。


这个Aimsun应用编程接口(API)使研究人员能够增加对探针车辆数据的使用、可用的应用程序、可视化、性能测量和管理技术的了解。


该API可以通过运行Aimsun微观仿真来输出合成探针数据,频率由用户定义,例如每30秒。


可以通过定义两个不同的组别来限制你要导出探针数据的研究区域:


1. 路段分组
2. 节点分组

使用该API输出的数据是Vehicle_ID、time (时间)、x、y、z、speed (速度) (m/sec)。


完整的代码可在此获得(Python脚本文件格式)

设置Aimsun API

确保所有必要的文件都位于同一个本地目录中:


  • Aimsun网络 (ANG文件)
  • Aimsun AAPI文件(必须与目前使用的Aimsun版本一致。它可以从以下目录中获取:C:\Program Files\TSS-Transport Simulation Systems\Aimsun\programming\Aimsun API\AAPIPython)
  • Aimsun API python文件(exportProbeDataAPI.py)

程序:


1. 在Aimsun用户界面上,创建两个新的路段和节点分组,以定义探针数据收集区。



Aimsun合成探针数据API

点击放大:定义探针数据采集区域



2. 打开the exportProbeDataAPI.py文件。 在下一个周期变量中设置频率,并将目标的分组ID放入分组列表变量

nextCycle = 30.0
groupinglist = [10005971,10005972]


3. 设置一个文件,在每一个指定的频率输出数据

filename ='ProbeData_%i.csv'%(nextCycle)


4. 在所需的“动态场景”上加载Aimsun API。 双击“动态场景”,进入“Aimsun API”页文件夹,点击“添加”并选择“ExportProbeDataAPI.py”


5. 执行“副本”


6. 之后,将生成“ProbeData_XX.csv”文件。


关于设置分组和查找其ID的更详细的信息,请参考用户手册。

更多技术说明

有时间序列的脚本编写

2021年3月:Tessa Hayman指导你通过Python脚本处理时间序列的复杂性,并解释如何以可以在用户界面中可视化的方式创建你的自定义时间序列。

Python:从函数到属性

2016年8月:大多数用户都熟悉在Aimsun模型中的目标内创建自己的属性。 Grant MacKinnon解释了你如何也可以在一个目标中添加一个列,根据一些Python代码返回一个值,允许你即时计算一个值。

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

    我们在这里提供帮助!

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

    我们在这里提供帮助!

分享