Sumo生成数据

本文详细介绍了如何使用SUMO交通仿真软件生成网络、旅行信息、路径信息及仿真轨迹信息,并提供了具体的命令行示例,包括生成grid和random网络、设置旅行频率及车道选择等。

1.生成input_net.net.xml文件

参数解释:http://www.sumo.dlr.de/userdoc/NETGENERATE.html#Grid_Network

1).生成grid network

F:/Tools/sumo-0.24.0/bin/netgenerate --grid --grid.number=5 --grid.length=1000 -L 5 --output-file=input_net.net.xml --no-internal-links true -j traffic_light -S 20

  该命令生成了各方向均有5个节点的网络,其中每一段路的长度为1000m,有5个车道,默认车速为20m/s,路的交汇处有交通信号灯。

F:/Tools/sumo-0.24.0/bin/netgenerate --grid --grid.x-number=5 --grid.y-number=6 --grid.y-length=1000 --grid.x-length=800 -L 4 -S 12 --output-file=input_net.net.xml    

  该命令生成了x方向有5个节点,每段路的长度为800m;y方向有6个节点,每段路的长度为1000m。每段路有4个车道,默认车速为12m/s。

2).生成random network

F:/Tools/sumo-0.24.0/bin/netgenerate --rand -o input_net.net.xml --rand.iterations=200

 

2.生成旅行信息trips.trips.xml

参数解释:http://www.sumo.dlr.de/userdoc/Tools/Trip.html#randomTrips.py

python F:/Tools/sumo-0.24.0/tools/randomTrips.py -n input_net.net.xml -e 10 -p 0.01

  该命令表示,旅行信息在0-10秒内生成,每0.01秒生成一个轨迹。

python F:/Tools/sumo-0.24.0/tools/randomTrips.py -n input_net.net.xml -e 10 -p 0.2 --trip-attributes="departLane=\"best\""

  该命令表示,旅行信息在0-10秒内生成,每0.2秒生成一个轨迹,且开始的车道为“best”

  关于departLane等参数的具体解释:http://www.sumo.dlr.de/userdoc/Definition_of_Vehicles,_Vehicle_Types,_and_Routes.html

 

3.生成路径信息routes.rou.xml

官方解释:http://www.sumo.dlr.de/userdoc/DUAROUTER.html

F:/Tools/sumo-0.24.0/bin/duarouter --trip-files=trips.trips.xml --net-file=input_net.net.xml --begin=0 --end=12000 --output-file=routes.rou.xml 

F:/Tools/sumo-0.24.0/bin/duarouter --trip-files=trips.trips.xml --net-file=input_net.net.xml --additional-files=type.add.xml --begin=0 --end=600 --output-file=routes.rou.xml

 

4.生成仿真轨迹信息fcdoutput.xml
F:/Tools/sumo-0.24.0/bin/sumo -c cfg.sumocfg --fcd-output fcdoutput.xml

cfg.sumocfg:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 
 3 <configuration>
 4 
 5     <input>
 6         <net-file value="input_net.net.xml"/>
 7         <route-files value="routes.rou.xml"/>
 8     </input>
 9 
10     <time>
11         <begin value="0"/>
12         <end value="600"/>
13     </time>
14 
15 </configuration>

 

5.osm文件转换成net.xml

F:/Tools/sumo-0.24.0/bin/netconvert --osm-files map.osm.xml -o map.net.xml

在将osm文件转换为net.xml文件的过程中,有可能会遇到大量相邻的交点,可采用--junctions.join true进行合并。

对于某些速度较低的路段,可以使用--keep-edges.min-speed <FLOAT> 去除这些路段。

转载于:https://www.cnblogs.com/sindy/p/7112705.html

SUMO(Simulation of Urban Mobility)中导入数据集是进行交通仿真和数据分析的重要步骤。根据不同的数据格式和需求,可以采用多种方法将数据集导入到SUMO环境中。以下是几种常见的导入方式及其操作说明: ### 使用 NETCONVERT 工具导入道路网络数据 如果数据集包含的是道路网络信息(如 OpenStreetMap 数据或其他格式的道路拓扑),可以通过 `NETCONVERT` 工具将其转换为 SUMO 可识别的 `.net.xml` 格式。 - **从 OpenStreetMap 导入**: 使用 OSM 文件作为输入,执行以下命令: ```bash netconvert --osm-files input.osm -o output.net.xml ``` 此命令会解析 OSM 文件并生成 SUMO 兼容的网络文件[^2]。 - **从其他格式导入**: 如果数据集为 Shapefile、Visum 或 Vissim 等格式,也可以通过 `NETCONVERT` 的相应参数进行转换,具体可参考其文档支持的格式列表。 ### 使用 OD2TRIPS 从 OD 矩阵生成行程 若数据集中包含起讫点(Origin-Destination, OD)矩阵信息,可以使用 `OD2TRIPS` 工具生成 `.trips.xml` 文件,表示车辆的出行需求。 ```bash od2trips -n input.od -o output.trips.xml ``` 此命令将 OD 矩阵分解为单个车辆的行程定义,供后续路径规划使用[^2]。 ### 使用 DUAROUTER 计算路径并生成路线 行程定义(trip)仅包括起点、终点和出发时间,需要进一步计算路径。`DUAROUTER` 可用于基于当前网络结构计算最短路径,并生成完整的 `.rou.xml` 路线文件。 ```bash duarouter -n network.net.xml -t trips.trips.xml -o routes.rou.xml ``` 该工具支持多种路由算法,包括 Dijkstra 最短路径算法[^3]。 ### 使用 TraCI 接口动态加载数据 SUMO 提供了 TraCI(Traffic Control Interface)接口,允许在仿真运行时通过编程方式与仿真环境交互。例如,可以使用 Python 脚本通过 `traci` 库添加车辆或修改信号灯状态。 示例代码如下: ```python import traci import time # 启动 SUMO GUI 并连接 traci.start(["sumo-gui", "-c", "your_config.sumocfg"]) step = 0 while step < 1000: traci.simulation.step() # 执行一步仿真 if step == 100: # 动态添加一辆车 traci.vehicle.add("v0", "route0", typeID="car") step += 1 traci.close() ``` TraCI 支持多种语言绑定,包括 Java(TraCI4J)、Matlab(TraCI4Matlab)等。 ### 处理 XML 数据格式 SUMO 的配置文件和数据文件通常以 XML 格式存储。对于大型数据集,可能需要将 XML 数据转换为 CSV 进行分析或后处理。SUMO 提供了内置的 Python 工具 `xml2csv.py` 来完成这一任务: ```bash $SUMO_HOME/tools/xml/xml2csv.py input.xml ``` 该工具将 XML 文件中的数据提取为 CSV 格式,便于后续使用 Excel 或 Python Pandas 等工具进行分析[^5]。 ### 配置文件设置 在 SUMO 中,所有仿真的配置都通过 `.sumocfg` 文件指定,它是一个 XML 文件,用于声明网络文件、路线文件、仿真步长等参数。一个典型的配置文件结构如下: ```xml <configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.sf.net/xsd/sumoConfiguration.xsd"> <input> <net-file value="network.net.xml"/> <route-files value="routes.rou.xml"/> </input> <time> <begin value="0"/> <end value="3600"/> </time> </configuration> ``` 此配置文件可用于启动 SUMOSUMO-GUI 仿真[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值