Demand/Introduction to demand modelling in SUMO
在生成了路网后,我们可以在sumo-gui上查看,但是路网上并没有车辆运行。我们还需要一些有关车辆的描述。我们称之为“交通需求”(traffic demand)。下面我们将会使用以下的命名:trip描述的一辆车从起始道路到目的地道路,以及出发的时间。route是个广义的trip,这意味着route不仅仅包含第一个和最后一个道路,包含了期间经过的所有道路。SUMO和SUMO-GUI需要使用route来定义车辆的路径。这里有几种方法生成车辆的route。根据你要输入的数据进行选择合适的方法:
①使用trip定义
正如上面阐述的,每一个trip至少包含第一个道路、最后一个道路和出发时间。这种方法对于你自己定义车辆的需求或者根据你自己的脚本进行编写。你可能使用到工具DAUROUTER将得到trip转换为routes。查看相关的信息:Demand/Shortest_or_Optimal_Path_Routing和Demand/Dynamic_User_Assignment。或者你可以直接加载trip到sumo(更多细节访问:(more details).)。
②使用流(flow)定义
这个方法和trip了类似,但是可以是车辆在同一时间出发,并且到达目的地。
③使用随机生成(Randomization)
如果你没有任何测量值,那么这种方法将是很快捷的方法。但是这种方法很不真实。查看:Tools/Trip#randomTrips.py。
④使用OD矩阵(OD-marices)
Originin-Destination-Matrices(OD矩阵)一般可以从交通当局拿到。必须使用OD2TRIPS工具转换为trips。查看更多消息:Demand/Importing_O/D_Matrices,Demand/Shortest_or_Optimal_Path_Routing,Demand/Dynamic_User_Assignment。
⑤使用流(flow)和转弯率(turning ratios)
也许忽略掉流中的目的地道理,转而关注转弯率。查看更多消息:JTRROUTER。
⑥使用检测器数据(观察点)
回路线圈和类似的传感器会被当局用来测量交通。使用工具DRROUTER可以生成相应的需求。查看:Demand/Routes_from_Observation_Points。
⑦手工
你当然也可以手写编辑xml文件。查看 Definition_of_Vehicles,_Vehicle_Types,_and_Routes。
⑧使用人口统计(population statistics)
工具ACTIVITYGEN可以被用来将人口统计转换为交通需求。查看Demand/Activity-based DemandGeneration。
⑨使用其他来源的数据
查看SUMO_User_Documentation#Demand_Modelling。
目前看来,sumo安装包中包含了4个交通需求的生成工具:DUAROUTER使用迪杰斯特拉算法来计算路径,一般在仿真中,能够计算动态用户分配。【不太懂】JTRRTOUTER可以使用流和转弯率来计算。OD2TRIPS用来将OD转换为TRIPS。DFROUTER计算来自观察点的监测数据(传感器)。