在与sumo解压包同级目录下新建文件夹map
- https://www.openstreetmap.org 导出想要的地图
最好将地图保存在和sumo同一层次的文件夹中,例如我在C盘下新建了mytest文件夹,把sumo解压到mytest文件夹下,并且在mytest下新建了map文件,来保存地图文件及随后产生的各个xml等文件,方便查看和管理,推荐这样做!
2、对导出的地图做处理。
手动打开sumo\doc\userdoc\Networks\Import\OpenStreetMap.html文件(官方教程),然后在打开的网页中间部分 Importing additional Polygons (Buildings, Water, etc.)的下面有一大段xml的代码,复制这些代码,然后在notepad++中级新建文件并把复制的代码粘贴到里面,然后保存为typemap.xml,把这个文件保存到上一步骤建的map文件中去,和osm地图文件放一起。
3、打开sumo/bin/start-command-line.bat,然后就可以用命令行模式对osm文件做处理 先cd到map文件夹下进行操作,如果在别的路径下可能会出错
use the 'cd /d' command to change directoryexample usage:
cd /d c:\foo\bar
cmd窗口提示使用这种方式转换路径
cd /d g:\WorkDev
dir 查看目录
cd sumo-win64-0.30.0
dir查看目录
cd map
dir 查看目录(可以看到刚刚的两个文件map.osm和typemap.xml)
4、生成map.net.xml路网文件
输入:
netconvert --osm-files map.osm -o map.net.xml
提示一串warning,最后success
5、生成map.poly.xml地形文件
输入:
polyconvert --net-file map.net.xml --osm-files map.osm --type-file typemap.xml -o map.poly.xml
6、接下来生成map.rou.xml 车流文件
输入:
Python G:/WorkDev/sumo-win64-0.30.0/sumo-0.30.0/tools/randomTrips.py -n map.net.xml -e 100 -l(这里是l,英文字母l不是1)
-n map.net.xml表示输入,-n表述输入的类型是net类型,其实-n等价于--net,-n是一种简写的方式。后面的-l -e 600是随机工具的配置,就像随机数生成函数需要一个种子一样。
但是,这样的一个过程生成的是一个旅程随机过程文件,而我们需要的是一个rou.xml文件。
所以,最后,我们把随机的旅程和道路信息结合起来就获得了车流文件(rou.xml)了。我们要用到的工具是bin文件夹下的duarouter.exe。
输入:
Python G:/WorkDev/sumo-win64-0.30.0/sumo-0.30.0/tools/randomTrips.py -n map.net.xml -r map.rou.xml -e 100 -l (它调用了duarouter)
可以看到map文件夹已经生成map.rou.xml
7、编写map.sumo.cfg 配置文件
模仿其他文件的配置文件,写一个
注意修改里面的参数
代码如下:
<?xml version="1.0" encoding="iso-8859-1"?>
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.sf.net/xsd/sumoConfiguration.xsd">
<input>
<net-file value="map.net.xml"/>
<route-files value="map.rou.xml"/>
<additional-files value="map.poly.xml"/>
</input>
<time>
<begin value='0'/>
<end value='1000'/>
</time>
<!--
<report>
<no-duration-log value="true"/>
<no-step-log value="true"/>
</report>
-->
</configuration>
8、运行map仿真
输入 sumo-gui map.sumo.cfg
弹出弹窗 可以设置延时delay200
启动,可放大缩小观看道路上的车辆(黄色三角形)
参考:
https://www.cnblogs.com/lovehuohuo/p/8849085.html
sumo\doc\userdoc\Networks\Import\OpenStreetMap.html文件
注意:
想研究veins omnet 与sumo的关系,具体怎么导入进去?(已解决,py命令)
我把G:\WorkDev\sumo-win64-0.30.0\sumo-0.30.0\bin
添加在了环境变量path(我的电脑)
*:在veins工程直接命令行(wins7可以按住shift直接进去cmd,省去cd步骤)
此时可以直接运行veins下的erlangen.sumo.cfg
输入sumo-gui erlange.sumo.cfg
弹出sumo窗口开始仿真了
在上一篇步骤4,5中,个人理解 步骤4 是启动sumo.exe 并没有图形化界面
解决问题* 直接打开文件夹map的报错
输入sumo-gui map.sumo.cfg会提示
弹出的sumo窗口也会提示错误加载ploy.xml出错
方法如下:
先配置临时变量环境 (说他是临时,因为你换一个文件夹还是报错 O(∩_∩)O哈哈~)
用set查看所有,用set SUMO_HOME查看该变量,不是用export,这是linux
set SUMO_HOME=G:\WorkDev\sumo-win64-0.30.0\sumo-0.30.0
(注意这里是windows下,但是这里要用\而不是/,不要问我为什么知道的。。。。可能在mingw窗口是要用/)
然后输入:
sumo-gui map.sumo.cfg
所以,可以在电脑配置永久环境变量,避免每次打开cfg文件都要去配置
还在path中添加了:
G:\WorkDev\sumo-win64-0.30.0\sumo-0.30.0;G:\WorkDev\sumo-win64-0.30.0\sumo-0.30.0\bin
参考From https://www.cnblogs.com/lovehuohuo/p/8849085.html