一、进入openstreetmap官网
搜索位置,并手动选择导出区域,点击导出,即可得到.osm格式文件。 将输出的地图命名为map.osm 进行一定的数据清洗
二、将.osm格式转化成为sumo所接纳的.net.xml格式
将map.osm文件放置在一个文件夹下(不一定在sumo下载路径的文件夹) 在其路径上直接输入cmd,回车,进入到命令行:
输入命令,对应代码如下:
netconvert --osm-files map.osm -o map.net.xml
代码块解释: netconvert——路网转换; osm——表示转换的是来自osm格式路网; map.osm——表示已经存在osm类型的文件; o——output的缩写,输出; map.net.xml——输出为net类型的路网文件;
三、点击回车,出现success即为创建成功(如果有警告暂时不用理)
刚刚存放map.osm的文件夹下就多出了一个map.net.xml文件
四、生成路由文件.rou.xml(利用randomTrips.py)
成功创建了路网文件,接下来就要创建路由了(这里选用创建路由多种方式之一的:randomTrips.py自动生成)
randomTrips.py存在的路径为:找到下载的sumo位置进去:sumo/tools/randomTrips.py
找到其所在路径后,把randomTrips.py文件复制到map.net.xml所在的目录下,在其路径上输入cmd,敲回车,进入命令行:对应代码如下:
tools> python randomTrips.py -n map.net.xml -r map.rou.xml
出现success,代表成功创建路由文件(有点电脑上无论怎么操作都不会有反应的,可能跟电脑配置有关,需要换一台电脑看看)
五、添加建筑物边界(.poly.xml地形文件的生成)
利用polyconvert工具将.net.xml文件和.osm文件生成地形文件,通过如下命令生成.poly.xml文件:
代码: polyconvert --net-file map.net.xml --osm-files map.osm -o map.poly.xml
出现success,代表成功创建地形文件
代码块解释: polyconvert——地形转换; net——表示转换的是来自net格式路网; osm——表示转换的是来自osm格式路网; o——output的缩写,输出; map.poly.xml——输出为poly类型的路网文件;
六、生成仿真文件.sumocfg
成功生成路由文件后新创建一个map.sumocfg文件:可以得到如下图所示几个文件:
七、仿真文件.sumocfg中引入信息:
接下来在map.sumocfg文件夹中引入前面所生成的路网信息路由信息及地形信息,并设置仿真时间:
八、以上工作都完成后,直接双击map.sumocfg文件,进入到sumoGUI界面: 设置仿真时间等,即可出现预期的仿真效果: