生成网络后,可以使用SUMO-GUI对其进行查看 ,但不会有汽车行驶。仍然需要有关车辆的某种描述。这称为交通需求。从现在开始,我们将使用以下术语:行程是由起点(街道),目的地终点和出发时间定义的从一个地方到另一个地方的车辆运动。一个途径是扩大之旅,这意味着,该路由定义不仅包含第一个和最后边缘,但所有边缘的车辆会通过。SUMO和 SUMO-GUI需要路线作为车辆运动的输入。
我的需求,将交通局能获取的真实数据转换成sumo可以进行仿真运行的数据格式。因为需要sumo仿真运行后的平均排队长度、延误时间、车辆平均速度等输出,这些是真实情况下不方便获取的信息,只能通过真实数据仿真来得到。
有几种生成SUMO路由的方法。选择取决于您可用的输入数据:
每个行程至少包括起点和终点以及出发时间。当您要手动创建需求或编写自己的脚本以导入自定义数据时,这很有用。您可以使用 DUAROUTER将旅程变成路线。请参阅 Demand / Shortest_or_Optimal_Path_Routing 和 Demand / Dynamic_User_Assignment,或者您可以将行程直接加载到SUMO中 (更多详细信息)。
DUAROUTER导入不同的需求定义,并使用最短路径计算来计算SUMO可能使用的车辆路线;当被迭代调用时,DUAROUTER执行动态用户分配(DUA)。可以通过工具duaiterate.py收敛到平衡状态(DUE)来促进这种情况 。
目的:
A)根据需求定义构建车辆路线
B)在用户分配期间计算路线
C)修复现有路由文件中的连接问题
输入(必填):
A)通过NETCONVERT或 NETGENERATE生成的道路网络 ,请参阅构建网络
B)需求定义,请参阅需求建模(车辆定义、行人定义等)
输出: SUMO 可用的车辆定义,车辆类型和路线
这是根据基本的车辆信息等需求,自己去找全局路径最短的路线,是仿真过程中比较优秀的路线定义,但是并不符合实际生活,人们未必都会选择最短路径的那条路线。
这与使用行程定义的方法大致相同,但使用此方法可以将出发和到达边缘相同的车辆合并。
如果您无权进行任何测量,但结果极不切实际,这是获取流量的一种快速方法。参见 工具/Trip#randomTrips.py
仿真过程中最常用的方法,路线随机,生成迅速方便,不需要任何需求建模。用于快速跑一个仿真,离真实情况相差甚远。快但粗糙且落后,初级人员使用
交通当局通常可以提供起点-目的地矩阵(或OD矩阵)。必须使用OD2TRIPS将它们转换为行程 。请参见 Demand / Importing_O / D_Matrices, Demand / Shortest_or_Optimal_Path_Routing 和 Demand / Dynamic_User_Assignment。
OD2TRIPS导入O / D矩阵并将其分为单次车辆行程。将通过起点和终点区域定义的流量映射到网络的边缘。
目的:将O / D矩阵转换为单车行程
输入(必填):
A)O / D矩阵
B)a set of districts
输出:车辆行程定义列表
您可以使用XML模式定义文件来设置OD2TRIPS配置: od2tripsConfiguration.xsd。
这大概是与真实交通状况最拟合的方式了,之前看过很多交通仿真系统,与交通局官方等相连的话一般都会使用OD矩阵进行需求建模。复杂但是真实性高,可以与实际需求相连,未来的趋势。
http://sumo.sourceforge.net/userdoc/OD2TRIPS.html
人们也可以忽略目的地的流量边界,而在路口使用转弯比。参见 JTRROUTER。
主要还是做实验用,比随机生成的要好,可以通过自己是上帝视角规定转弯比例,调控全局。通过flow和turndef两个xml,调用工具JTRROUTER就可以生成rou.xml了。如果你想调整流量分布,在netedit工具中打开,找到你想修改的edge/lane/node的id,之后在turndef.xml中找到对应的路线(每相邻两个节点都会有对应信息),之后修改转弯比例即可。各方向比例之和为1。
交通当局通常使用感应环路和类似设备来测量流量。使用DFROUTER,您可以使用此数据来生成需求。请参阅 Demand / Routes_from_Observation_Points。
从0.9.5版开始,SUMO软件包包含一个名为DFROUTER的路由模块 。该路由器背后的想法是,如今,大多数高速公路都配备了感应环路,可以测量每条高速公路的进出流量。给定该信息,可以假设高速公路上的流量是完全已知的。DFROUTER直接使用从感应环路收集的信息来重建车辆数量和路线。这是分几个步骤完成的,主要是:
http://sumo.sourceforge.net/userdoc/Demand/Routes_from_Observation_Points.html
当然,您可以手动生成路由XML文件。参见 Definition_of_Vehicles,_Vehicle_Types,_and_Routes。
包括三个部分:
http://sumo.sourceforge.net/userdoc/Definition_of_Vehicles,_Vehicle_Types,_and_Routes.html
这个是最容易出错的,手动生成坑多坑深,不是大神不要轻易尝试吧,改的人头晕T.T
程序ACTIVITYGEN可用于将人口统计数据转换为交通需求。请参阅 基于需求/活动的需求生成。
ACTIVITYGEN读取匹配给定网络的人口的定义。它可以计算出该人群的移动性愿望。
目的:为综合人群创造需求
输入(必填):
A)通过NETCONVERT或 NETGENERATE生成的道路网络 ,请参阅构建网络
B)人口定义,请参见基于活动的需求生成
输出: SUMO 可用的车辆定义,车辆类型和路线
没试过,一般交通局也没有这种信息来源吧。。。
请参见SUMO_User_Documentation#Demand_Modelling
http://sumo.sourceforge.net/userdoc/SUMO_User_Documentation.html#demand_modelling
到目前为止,SUMO软件包包含四个用于生成路线的应用程序。