作者:fmz4733974 | 来源:互联网 | 2023-09-16 16:01
首先,python环境,其次我是在win10X64位系统下,Notepad++也安装了
SUMO的仿真至少需要两个文件:
1.道路文件,或者叫路网文件(net.xml),就是对行车道路的描述文件;
2.需求文件(rou.xml),或者叫做车量行驶文件,用来描述车流量的行为。当然,更加高级的仿真可以加入别的文件,比如车辆描述文件,地形文件。
开始步骤:
目前我们只有一个osm地图文件,所以我们要用SUMO的工具生成路网文件和需求文件
osm是一种地图信息文件,可以去openstreetmap官网下载。网址: http://www.openstreetmap.org/
比较难下载,也不知道是不是我的网络问题,最好自己选择范围。另外此地图更新很可能不符合实际情况,因此最好有自己的shape文件,自己转换成osm文件,可以参照https://blog.csdn.net/darer49/article/details/106717631/这篇文章。
sumo官网下载地址:
sumo 64位msi安装包安装时环境变量对勾要打上,我们就不用配置环境变量了,一般能安装成功,可以输入netconvert测试一下是否安装成功
注意,在安装目录下的bin有一个sumo-gui.exe文件,右键将快捷方式发送到桌面,下次就可以找到啦
新建一个文件夹取名为map或其他,将刚才下载的OSM文件拖进去,
注意:以下都是在cmd窗口运行, 每次敲代码的路径和生成的文件都在当前map路径下,cmd直接在map路径下进入。
首先是net.xml文件的生成。
① netconvert --osm-files 555.osm -o 555.net.xml
再就是rou.xml文件的生成
② python "C:\Program Files (x86)\sumo-1.1.0\tools\randomTrips.py" -n 555.net.xml -l -e 600 -o 555.trips.xml 随机的旅程生成、
下边这个是我看另外一个教程,的cmd代码段,作了一点修改,不然报错哦
map.poly.xml文件生成 ,其另外需要typemap.xml 文件
typemap.xml 生成方式代码可以通过
sumo安装路径\doc\userdoc\Networks\Import\OpenStreetMap.html文件,然后在打开的网页中间部分 Importing additional Polygons (Buildings, Water, etc.)的下面有一大段xml的代码,复制这些代码,然后在notepad++中级新建文件并把复制的代码粘贴到里面,然后复制到map文件夹下即可,具体代码如下
polyconvert --net-file 555.net.xml --osm-files 555.osm --type-file typemap.xml -o 555.poly.xml
③ duarouter -n 555.net.xml -t 555.trips.xml -o 555.rou.xml --ignore-errors
随机的旅程+道路信息=车流文件(rou.xml),,这一步是合并操作。
④更改test.sumo.cfg文件
首先复制该文件:注意test.sumo.cfg在sumo安装文件夹下可以直接搜索得到,是一个样例文件,然后复制到map文件夹下,作如下的修改:
然后,可以基本的仿真啦,cmd窗口下运行下边的代码或者直接打开sumo-gui.exe文件,打开test.sumo.cfg文件,最好将delay调到100,看起来比较舒服,不然仿真的很快
④ sumo-gui test.sumo.cfg
差不多这样
其余的等着我学学着再来写哈,嘿嘿嘿