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