network_Import
原文链接:http://sumo.dlr.de/wiki/Networks/Import
可以通过netconvert程序将很多的第三方的路网文件转化为sumo可读的文件。以下列出了可以转化应用的格式:
1. OpenStreetMap(一种开源的地图引擎);
2. PTV VISUM
3. PTV VISSIM
4. OpenDRIVE
5. MATsim
6. ArcView
7. Elmar Brockfelds unsplitted andsplitted NavTeq-data;
8. RoboCup Rescue League folders
一般的转化条件只需要两个参数就可以完成。一个是输入的文件类型,另一个就是输出的文件。下面的命令就是将visum格式的路网转化为sumo可读的格式:
netconvert --visum=MyVisumNet.inp--output-file=MySUMONet.net.xml
当然还有其他的参数可以影响输出的文件。一般这些路网都是xml格式的变体。两种不同的路网格式可以相互转换,不会丢失数据。
OpenStreetMap
OpenStreetMap(简称OSM)是一个全世界开源的地图,任何人都可以编辑它。有关osm数据的下载有很多不同的工具和下载方法,具体参考osm官网:http://www.openstreetmap.org/。
1.快读入门
在sumo中提供了自己的一个下载osm地图的脚本。可以在浏览器中选定区域并且制定车辆类型和数量等信息,直接生成一个可以运行仿真的文件(这个很实用)。文件名称:OSMWebWizard.py。这个文件在tools文件夹下面,直接运行就会打开浏览器。关于这个文件的详细教程可以参考:http://sumo.dlr.de/wiki/Tutorials/OSMWebWizard。
2.导入路网文件
主要是上面提到的两条命令:输入文件格式和输出文件。
netconvert --osm-files berlin.osm.xml -o berlin.net.xml
上面的命令就是将osm文件转化为sumo路网文件net.xml文件。在osm中默认使用的经纬度坐标为WGS84,自动转化后坐标不符合要求的话,需要你添加其他的参数。详细的参数列表可以查看netconvert页面。
3.常见的其他参数命令
--geometry.remove --roundabouts.guess --ramps.guess --junctions.join --tls.guess-signals --tls.discard-simple --tls.join
--geometry.remove:在不改变拓扑结构的情况下简化网络(节省空间)
--roundabouts.guess:对环形交叉口进行优化。如果没有加这个参数,有可能会发生交通拥堵;
--ramps.guess: 在osm数据中不包含加速减速的这种坡道信息,可以通过这个参数来进行设置,添加这些可能的信息;
--junction.join:有关节点的。下面有详细描述。
--tls.guess-signals/--tls.discard-simple/--tls.join.:有关信号灯的,下面有详细描述
4.推荐的地图类型
不同的交通方针场景对应的地图类型也不相同,在data/typemap文件夹下面有不同种类的场景地图文件。
可以通过命令—type-files filename实现。
5.导入额外的多边形地图(建筑/水池等)
就是将一些非路网的部分,包含到路网中去。具体用法:
polyconvert --net-file berlin.net.xml --osm-files berlin.osm --type-file typemap.xml -o berlin.poly.xml
上面的命令是生成poly文件。其中typemap.xml文件时上面图中的osmPolyconvert.type.xml。
在配置文件中的使用方法:
<configuration> <input> <net-file value="berlin.net.xml"/> <additional-files value="berlin.poly.xml"/> </input> </configuration>
只需要加一条additional的命令即可。
6.其他导入脚本
这里不描述了,较少使用。
7.高程数据
也就是z轴的信息数据(海拔信息)。这个一直在实验中,代码完善中。
其中主要包含两个命令。一个是跟海拔有关的(osm中出现key=”ele”),另一个是跟层有关的(osm中出现key=”layer”);其中有关高程数据的其他信息可以参看:http://sumo.dlr.de/wiki/Networks/Elevation。
8有关其他的信息
8.1junctiom节点
主要介绍了合并节点的参数使用;junction-join
8.2traffic light交通信号灯
讲述了信号灯相位猜测和信号灯合并的信息。如果转化后的文件没有红绿灯信息,那么源文件没有这些信息或者是转化后丢失了数据。
后面还提到了如何删去路网中不想要的道路种类:
--remove-edges.by-vclass hov,taxi,bus,delivery,transport,lightrail,cityrail, \ rail_slow,rail_fast,motorcycle,bicycle,pedestrian
划重点了:
有关osm和sumo的对应关系:
- 节点是一对一的对应的;
- osm中道路不区分车道,因此5677可能被是被为5677#0/5677#1/-5677#0/-5677#1.