sumo笔记(二)——路网文件的简单介绍与修改

sumo仿真文件是.sumcfg文件,其实质是xml语言,可以用notepad++打开。

notepad++下载地址:https://notepad-plus.en.softonic.com/

保护视力,都要从调整背景颜色开始,notepad++可在设置-语言格式设置-主题中,选择black board将背景颜色调成黑色。

通过notepad++打开.sumcfg后,代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/sumoConfiguration.xsd">

    <input>
        <net-file value="hello.net.xml"/>
        <route-files value="hello.rou.xml"/>
    </input>

    <time>
        <begin value="0"/>
        <end value="10000"/>
    </time>

    <gui_only>
        <gui-settings-file value="hello.settings.xml"/>
    </gui_only>

</configuration>

前面两行应该就是基本信息,我也看不太懂。

可以看到,configuration,input,time等都是成对出现的。然后,重要的是input和time的内容,可以看到,input里有两个文件,一个是net文件,一个是route文件。time里的end value就是仿真运行时间,可以进行更改。

重要的部分是net文件和rou文件,首先先介绍net文件。

net文件也就是路网文件,现实生活中路网由交叉口,道路两者组成。net文件也不例外,是由nod文件和edg文件组成的。也就是说“点”和“边”文件构成了路网文件。

nod文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>  
<nodes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/nodes_file.xsd">  
    <node id="1" x="-250.0" y="0.0" />  
    <node id="2" x="+250.0" y="0.0" />  
    <node id="3" x="+251.0" y="0.0" />  
</nodes> 

可以看出,nod文件中给出了点的名称,x轴位置和y轴位置三个属性。

edg文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<edges xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/edges_file.xsd">
    <edge from="1" id="1to2" to="2" />
    <edge from="2" id="out" to="3" />
</edges>

可以看出,edge文件给出了边的起点,名称和终点三个属性。

既然有edg和nod文件,那我们就可以自己创造net文件。win+R进入“运行”,输入cmd进入命令行,进行如下操作(写完一行按一次回车):

C:\Users\wzh18>d:
D:\>cd sumo
D:\sumo>cd D:\sumo\bin
D:\sumo\bin>netconvert --node-files hello.nod.xml --edge-files hello.edg.xml -o hellome.net.xml
Success.

首先是指定sumo文件所在的盘符,我的在d盘,就输入d:,然后回车。

cd命令的全称为change directory,也就是改变路径的作用,第二行和第三行就是一步一步的找到netconvert.exe文件的过程。

倒数第二行就是将nod文件和edg文件转化为net文件的命令。因为遇到了不明原因的报错(告诉我找不到nod文件),所以我提前将nod文件和edg文件放到了bin里面。如果不提前放到bin文件里,则可以如下操作:

netconvert --node-files=D:\sumo\doc\tutorial\hello\data\hello.nod.xml --edge-files=D:\sumo\doc\tutorial\hello\data\hello.edg.xml --output-file=Myfirstnet.net.xml

又试了一次,居然成功了。可能是因为之前写错东西了,应该不是玄学,改天再细究一下。

既然我们生成自己的路网,那肯定要用的。直接把sumocdg文件的netfile value改成自己新路网就可以了。(记得保存)

修改原路网:

如果对路网有新想法的话,可以选择去修改路网,修改路网文件也就是要去修改edg文件和nod文件。

nod文件以前长这个样子:

<?xml version="1.0" encoding="UTF-8"?>  
<nodes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/nodes_file.xsd">  
    <node id="1" x="-250.0" y="0.0" />  
    <node id="2" x="+250.0" y="0.0" />  
    <node id="3" x="+251.0" y="0.0" />  
</nodes> 

那么我们想在新加入一个点,取名newnod,x=251,y=58,只需要在倒数第二行下面进行添加即可(不知道为为什么没对齐)。

<?xml version="1.0" encoding="UTF-8"?>
<nodes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/nodes_file.xsd">
    <node id="1" x="-250.0" y="0.0" />
    <node id="2" x="+250.0" y="0.0" />
    <node id="3" x="+251.0" y="0.0" />
	<node id="newnod" x="+251.0" y="58.0" />
</nodes>

我们再添加一条边连接新点和点3。

<?xml version="1.0" encoding="UTF-8"?>
<edges xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/edges_file.xsd">
    <edge from="1" id="1to2" to="2" />
    <edge from="2" id="out" to="3" />
	<edge from="3" id="newedg" to="newnod" />
</edges>

此时就得到了新的edg文件和nod文件,这时还需要新生成net文件。依旧是在命令行中进行。

在gui中打开,可以看到之前的路网如图所示:

现在的路网:

 

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SUMO(Simulation of Urban MObility)是一种交通模拟工具,用于对城市交通系统进行建模和仿真。而OSM(OpenStreetMap)是一种开放源码的地图数据项目,由志愿者共同创建和维护。 在进行SUMO路网建模时,可以使用OSM作为基础数据源。首先,通过OSM可以获取到真实世界中的道路网络数据,包括道路的形状、长度、连接关系以及车道数等信息。使用SUMO的OSM2SUMO工具,可以将OSM数据转换为SUMO所能识别的格式。这样,就可以在SUMO环境中使用这些道路网络数据。 借助OSM数据进行SUMO路网建模,可以有效地模拟城市交通系统,从而进行交通流量、交通拥堵、交通信号灯以及交通规划等方面的仿真研究。通过将现实世界中的道路网络数据导入SUMO,可以在SUMO中设置车辆流量、车辆速度、路口信号灯、车辆行为等参数,并通过仿真模拟不同交通状况下的车辆运行情况。 SUMO路网建模可以帮助交通规划者和决策者更好地了解城市交通系统的运行机理,评估交通政策和规划对交通状况的影响,优化交通路网布局、信号灯配时等,以提高交通效率和减少拥堵问题。 综上所述,SUMO可以通过使用OSM的地图数据进行交通路网建模,从而进行城市交通系统的仿真研究和交通规划优化。使用OSM提供的道路网络数据,可以帮助SUMO模拟真实世界中的交通状况,并为相关决策提供可靠的依据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值