相关视频:
SUMO可以模拟道路网络。需要用到OSM文件,XML文件和Python。
在下载SUMO时,将SUMO的数据放到一个新建的文件夹map中(可参照相关视频)。
首先在openstreetmap官网(https://www.openstreetmap.org,如图1)上下载OSM(命名为map.osm,如图2)和XML文件(命名为typemap.xml,如图3)。
图1 OSM官网
图2 XML下载
图3 下载XML文件
将OSM和XML文件放到map文件夹中。在这个map文件夹中,需要将python下载到这个map文件夹中,并进行解压。
打开sumo/bin/start-command-line.bat 输入以下命令:
//将map.osm文件转换为net.xml文件
netconvert --osm-files map.osm -o map.net.xml
//将map.net.xml文件和map.osm文件转换为poly.xml文件
polyconvert --xml-files map.net.xml --osm-files map.osm --type-file typemap.xml -o map.poly.xml
//使用python将map.net.xml进行转化,注意map.net.xml的位置一定要和python一起
python C:/mytest/tools/randomTrips.py -n map.net.xml -e 100 -l
//使用python将map.net.xml转化为map.rou.xml
python C:/mytest/tools/randomTrips.py -n map.net.xml -r map.rou.xml -e 100 -l
之后新建一个TXT文本,将转化得到的map.poly.xml,map.rou.xml和map.net.xm进行调用,代码为:
<configuration>
<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>
</configuration>
之后将TXT文本保存为sumo.cfg文件,之后调用即可成功。调用如图4所示。
图4 从File中调用
效果如图5所示。
图5 SUMO基本项目效果图