1 进入OSM,下载地图
OSM链接地址
我这里将输出的地图命名为GDUTmap.osm
2 将.osm格式转化成为sumo所接纳的.net.xml格式
将从osm上下载下来的GDUTmap.osm文件放置在一个文件夹下(不一定在sumo下载路径的文件夹),然后在其路径上直接输入cmd,回车,进入到命令行:
输入命令,对应代码如下:
netconvert --osm-files GDUTmap.osm -o GDUTmap.net.xml
代码块解释:
点击回车,出现success即为创建成功(有警告暂时不用理)
这样,我们发现在刚刚存放GDUTmap.osm的文件夹下就多出了一个GDUTmap.net.xml文件
3 生成路由文件.rou.xml(利用randomTrips.py)
成功创建了路网文件,按照之前的学习我们知道接下来就要创建路由了(这里选用创建路由多种方式之一的:randomTrips.py自动生成)
randomTrips.py存在的路径为:找到你下载的sumo位置进去:sumo/tools/randomTrips.py
如下图:
找到其所在路径后,我们需要把刚刚的GDUTmap.net.xml文件复制到该目录下,然后跟前面一样,在其路径上输入cmd,敲回车,进入命令行:
对应代码如下:
tools>randomTrips.py -n GDUTmap.net.xml -r GDUTmap.rou.xml -e 50 -l
出现success,代表成功创建路由文件,进入randomTrips.py的同级目录下,可看到产生了如下的文件:
4 生成仿真文件.sumocfg
将这3个文件复制出来,在桌面创建一个文件夹GDUTmap(或任意位置),将这三个文件以及一开始生成的GDUTmap.net.xml,一同放进去GDUTmap文件夹中。并且新创建一个GDUTmap.sumocfg文件:
如下图:
接下来我们需要在GDUTmap.sumocfg文件夹中引入我们前面所生成的路网信息以及路由信息,并设置仿真时间:
如下图:
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<input>
<net-file value="GDUTmap.net.xml" />
<route-files value="GDUTmap.rou.xml" />
</input>
<time>
<begin value="0" />
<end value="2000" />
</time>
</configuration>
5 预期结果
以上工作都完成后,直接双击GDUTmap.sumocfg文件,进入到sumoGUI界面:
设置仿真时间等,即可出现预期的仿真效果:
这样就可以生成了以上的一个简单的交通流仿真。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)