欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

sumo笔记(一)

程序员文章站 2024-03-23 09:44:46
...

sumo笔记(一)

sumo下载地址:https://sumo.dlr.de/docs/Downloads.php

sumo仿真的文件是.sumcfg文件,.sumcfg是由道路net和车辆rou组成的。

.sumcfg文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
 
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/sumoConfiguration.xsd">
 
    <input>
        <net-file value="hello.net.xml"/>
        <route-files value="hello.rou.xml"/>
    </input>
 
    <time>
        <begin value="0"/>
        <end value="10000"/>
    </time>
 
</configuration>

其中input中的value对应的就是我们的.net和.rou文件,time中的end value就是仿真运行的时间。

重要的部分是net文件和rou文件。

net文件

net文件也就是路网文件,现实生活中路网由交叉口,道路两者组成。

net文件我所常用的生成方式有两种。一种是通过sumo中自带的netedit软件自己设计道路,另一种是通过OpenStreetMap上导出想要仿真的地图,选好区域点击导出即可得到map.osm文件。访问网址:https://www.openstreetmap.org/
但导出的地图需要转换成.net文件,在地图保存的文件夹内打开cmd输入命令:
C:\sumo\bin\netconvert --osm-files map.osm -o map.net.xml
注:C:\sumo为sumo的安装路径

rou文件

有了路网文件(net文件),也就是有了道路。如果想让道路上有车,就需要rou文件,车辆文件。

在没有OD数据的情况下,可以选择生成随机车辆的方法(Using Randomization)来获得一些车流量。

要想通过这种方法生成rou文件,我们首先要用randomtrip.py生成trips文件。

官网也给出了randomtrip参数的详细介绍:https://sumo.dlr.de/docs/Tools/Trip.html#randomtripspy

最简单的操作就是输入net文件,生成trip文件,在不给出output的文件名时,默认生成的文件叫做trips.trip文件。

同样在地图保存的文件夹内打开cmd输入命令:
D:\sumo\tools\randomTrips.py -n test.net.xml -e 100 -l
注:D:\sumo同样为sumo的安装路径

接下来就是通过trip文件生成rou文件,这里需要用到一个叫duarouter的文件:
duarouter -n test.net.xml -r trips.trips.xml -o TEST.rou.xml --ignore-errors

注:test.net.xml为文件名,TEST.rou.xml为生成的文件名。

简单来说,就是输入net文件和trips文件来生成rou文件。
在生成rou文件之后,我们只需要再创造一个sumocfg文件,用sumo-gui打开sumocfg就可以运行仿真了。

相关标签: 学习笔记