大家好我是交通专业徐同学,欢迎关注我的频道。
在今天的本篇图文开始前,大家可以先阅读以下11篇文章了解一下AnyLogic交通仿真的前置知识,方便你快速进入今天的图文内容中。另外,如果你需要软件采购或者项目开发都可以直接联系我。
1)【徐同学测评】与传统交通仿真软件相比,AnyLogic在交通仿真领域应用有哪些特别之处?
2)来自徐同学AnyLogic交通仿真的学习指南01—交通库的空间标记介绍
3)来自徐同学AnyLogic交通仿真的学习指南02—交通库的逻辑模块介绍
4)来自徐同学AnyLogic交通仿真的学习指南03—测算车辆在路网中的平均时间
5)来自徐同学AnyLogic交通仿真的学习指南04—在三维动画中设置车辆漫游第一视角
6)来自徐同学AnyLogic交通仿真的学习指南05—车辆在停车场/公交站等区域释放行人
7)来自徐同学AnyLogic交通仿真的学习指南06—车辆加减速/速度决策点/显示车辆实时速度设置
8)来自徐同学AnyLogic交通仿真的学习指南07—实现交叉口排队车辆数的实时统计
9)来自徐同学AnyLogic交通仿真的学习指南08—经典红绿灯配时优化实验的实现
10)来自徐同学AnyLogic交通仿真的学习指南09—如何计算车辆的碳排放量
一、问题背景
路网中车辆的平均停车次数可以作为评价路网通行效率的重要指标,但在一般的交通仿真软件中这一数据较难统计,但是对于AnyLogic软件来言路网的Car都是一个智能体类型,用户完全可以拿到其各种属性指标最终计算出这一数据,本篇我将介绍其中的一种操作方法。
二、实现路线
1、演示路网
本次的演示路网我们使用最简单的东西方向道路,路网中添加最简单的红绿灯,使车辆在停止线附近产生停车行为。
2、计算需要数据
在本案例中我们假设某个时刻车辆在路网中的平均停车次数=车辆停车次数/总车辆数,因此我们首先要计算车辆停车总次数。为此,我们添加一个变量carStopsCounter用于记录路网中的停车次数。
记录路网中的停车次数这个行为要在roadNetworkDescriptor中生效,具体操作是需要在“停止时”编辑器中写carStopsCounte++来进行累加。
设置完成后运行模型可以得到所需要的停车总数:
这里徐同学需要提醒大家,该设置生效的条件是判断车辆速度是否为0,如果一辆车多次速度为0,则该变量会记录多次。
接着计算路网中车辆总数,这个是有现成的API调用,即carSource.count()方法。
接着我们再新建一个变量variable来承接最终计算结果和新建一个事件event来刷新结果。
至于为什么在车辆总数这里加一个非常小的0.0000001,这个大家可以自行想一想或留言区交流。
完成上述的设置后,再次运行仿真,已经可以看到平均停车次数数据的变化:
3、结果可视化
为了更加直观展示该项指标,我们拖入一个时间折线图来看一下效果。