两行代码玩转SUMO!
这篇博客很简单,但是内容很丰富
如何生成如下所示的研究型路网结构?
只需要打开ubuntu终端输入如下代码即可,grid.number代表路口数量,grid.length代表路段长度,default.speed代表路段允许车速,最后便可在当前文件夹输出为一个名为MySUMOFile(名字自己定)的路网文件。
1 netgenerate --grid --grid.number=10 --grid.length=400 --default.speed 15 --output-file=MySUMOFile.net.xml
之后使用sumo自带的随机车流生成工具randomTrips.py(我把它放在~/software/sumo-0.30.0/tools/,记得改成自己的路径)即可针对此路网生成随机交通流文件rou.xml。
1 ~/software/sumo-0.30.0/tools/randomTrips.py -n MySUMOFile.net.xml -b 0 -e 2000 --period 0.1 --intermediate 50 --trip-attributes="type="myType"" --additional-file type.add.xml --edge-permission passenger -r MySUMOFile.rou.xml
下面开始解释:
-b 代表开始时间,-e代表结束时间,–period 0.1间隔0.1
所以有–intermediate 50
1 --trip-attributes="type="myType"" --additional-file type.add.xml
代表使用type.add.xml这个附加文件对交通流里的车辆做出更细致的规定
add.xml文件示例如下:
1 <additional> 2 <vType id="myType" maxSpeed="27" vClass="passenger"/> 3 </additional>
当使用选项–vehicle-class时,应该为选项–edge-permission设置相同的值,所以有
1 --edge-permission passenger
参考:
http://www.sumo.dlr.de/userdoc/Networks/Abstract_Network_Generation.html
http://www.sumo.dlr.de/userdoc/Tools/Trip.html#randomTrips.py