使用SUMO构建基本项目

相关视频:

使用SUMO构建基本项目

SUMO可以模拟道路网络。需要用到OSM文件,XML文件和Python。

在下载SUMO时,将SUMO的数据放到一个新建的文件夹map中(可参照相关视频)。

首先在openstreetmap官网(https://www.openstreetmap.org,如图1)上下载OSM(命名为map.osm,如图2)和XML文件(命名为typemap.xml,如图3)。

d3615244a4f5af8be1abb1bfcca1389c.png

图1 OSM官网

68ca96075316ff49a6238d109b89456f.png

图2 XML下载

e6998d01a820ca5b7c5d452bef54f39e.png

ea982593276430c9886f1a63fcab122e.png

图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所示。

283259eeeb108a524943bd0f173ab581.png

图4 从File中调用

效果如图5所示。

208e8b6cb92fbcad5ca6c9bcc49f401b.png

图5 SUMO基本项目效果图


版权声明:本文为qq_36671997原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。