论文终于到了输出数据进行评价的阶段了,这篇内容针对整个sumo,不局限于前面几篇plexe-sumo的内容。
1.输出车辆数据(停车延误、平均速度等)
首先,sumo自带E1、E2、E3三个检测线圈,可以在netedit中自行设置,这三个线圈基本可以输出常用的一些数据,但是博主操作了一番,发现最多只能按车道输出数据。sumo似乎并不具备vissim中的“节点”评价,所以如果想要整个交叉口的数据,要使用下面的操作。
在sumo官网转了一圈,然后在github又转了一圈,才得到以下解决方法,不得不说国内关于sumo的内容真的太少了。
在pycharm当中以代码形式打开“.sumocfg”文件,写入以下内容:
<output>
<statistic-output value="statistic.output.xml"/>
</output>
注意,value引号里的文件是我们准备输出数据的文件,需要自己在“.sumocfg”的同一个文件夹下新建,文件后缀为“.xml”,文件名可以自己取。
仿真运行完后,我们发现整个交叉口的数据在刚才新建的文件中生成了,但是依旧没有我们想要的停车延误等数据。这是因为我们还缺少一个参数的激活,下面继续。
依旧是在“.sumocfg”文件中,写入以下内容:
<report>
<duration-log.statistics value="true"/>
</report>
好了,运行仿真,再打开我们输出数据的文件,发现多了几行数据,里面出现了我们想要的停车延误。
如果想要下图中一样的实时数据,可以在运行仿真的时候,在仿真界面单击鼠标右键,点击show parameter就可以了。必须激活上面的参数才能在下图中看见停车延误等数据
2.输出污染物排放
sumo的污染物排放更是没找到什么内容。博主太菜了,只找到了每辆车的排放总和怎么输出,连车道总和都没找到,大家先凑活用吧😇(反正我在官方文档的图片里面看见了可以显示污染物排放的交叉口总和,但是没找到教程)
依旧是在“.sumocfg”文件中,写入以下内容:
<emission>
<device.emissions.probability value="1.0"/>
</emission>
然后,在前面写过的<output>那一块里面加入以下内容:
<tripinfo-output value="tripinfo.output.xml"/>
同样的,value引号里面的文件是输出污染物排放数据的文件,需要新建,后缀“.xml”,文件名可以自己取。
运行仿真后,可以在新建的文件里面看见每辆车的污染物排放总和,有CO、CO2、氮氢化合物和燃油消耗等数据。
PS:如果仅仅是在<output>里面使用emission-output这个参数,只能输出每辆车在每一步的污染物排放。
论文终于快结束了,短时间内不想再碰sumo了,太难了,只想躺平( ̄o ̄) . z Z