公交系统仿真
在城市交通中,公交系统是重要的组成部分,其运行效率直接影响城市的整体交通状况。介观交通流仿真软件VISSIM提供了丰富的功能来模拟公交系统的运行,包括公交线路的设置、公交车辆的动态行为、公交优先策略的实施等。本节将详细介绍如何在VISSIM中进行公交系统仿真,包括公交线路的创建、公交车辆的配置、公交优先信号的设置等内容。
1. 公交线路的创建
在VISSIM中,公交线路的创建是公交系统仿真的基础。通过创建公交线路,可以定义公交车辆的行驶路径、停靠站、发车间隔等参数。以下是创建公交线路的步骤:
1.1 定义公交网络
打开VISSIM:启动VISSIM软件,打开需要进行公交系统仿真的路网文件。
进入公交网络编辑模式:在主菜单中选择“网络”(Network),然后选择“公交网络”(Public Transport Network)。
创建公交线路:点击工具栏中的“创建公交线路”(Create PT Line)按钮,鼠标指针会变成一个公交图标。在路网上选择公交线路的起始点和终点,软件会自动生成一条公交线路。
1.2 配置公交线路
编辑公交线路属性:双击创建的公交线路,打开“公交线路属性”(PT Line Properties)对话框。
设置公交线路名称:在“名称”(Name)字段中输入公交线路的名称。
设置公交线路类型:在“类型”(Type)字段中选择公交线路的类型,如普通公交线路、BRT线路等。
设置发车间隔:在“发车间隔”(Headway)字段中输入公交车辆的发车间隔时间,单位为秒。
设置运行时间:在“运行时间”(Operating Period)字段中设置公交线路的运行时间段,可以设置多个时间段。
1.3 添加公交停靠站
创建公交停靠站:在主菜单中选择“网络”(Network),然后选择“公交停靠站”(Public Transport Stop)。点击工具栏中的“创建公交停靠站”(Create PT Stop)按钮,鼠标指针会变成一个公交停靠站图标。在路网上选择公交停靠站的位置,软件会自动生成一个公交停靠站。
编辑公交停靠站属性:双击创建的公交停靠站,打开“公交停靠站属性”(PT Stop Properties)对话框。
设置停靠站名称:在“名称”(Name)字段中输入停靠站的名称。
设置停靠站类型:在“类型”(Type)字段中选择停靠站的类型,如路边站、中心站等。
设置停靠时间:在“停靠时间”(Dwell Time)字段中输入公交车辆在该停靠站的停靠时间,单位为秒。
1.4 配置公交车辆
创建公交车辆类型:在主菜单中选择“网络”(Network),然后选择“车辆类型”(Vehicle Type)。点击工具栏中的“创建车辆类型”(Create Vehicle Type)按钮,鼠标指针会变成一个车辆图标。在车辆类型列表中选择“公交车辆类型”(PT Vehicle Type),并输入车辆类型名称。
编辑公交车辆属性:双击创建的公交车辆类型,打开“车辆类型属性”(Vehicle Type Properties)对话框。
设置车辆长度和宽度:在“尺寸”(Size)字段中输入车辆的长度和宽度。
设置车辆速度:在“速度”(Speed)字段中输入车辆的最大速度和加速度。
设置车辆容量:在“容量”(Capacity)字段中输入车辆的最大乘客容量。
设置车辆颜色:在“颜色”(Color)字段中选择或输入车辆的颜色。
1.5 配置公交线路的车辆分配
添加车辆分配:在公交线路属性对话框中,选择“车辆分配”(Vehicle Assignment)选项卡。
选择车辆类型:在“车辆类型”(Vehicle Type)下拉列表中选择之前创建的公交车辆类型。
设置车辆数量:在“车辆数量”(Number of Vehicles)字段中输入需要分配的车辆数量。
设置发车时间:在“发车时间”(Departure Time)字段中输入公交车辆的发车时间,可以设置多个发车时间。
1.6 示例:创建一条公交线路
假设我们需要在一条城市主干道上创建一条公交线路,该线路从A站到B站,沿途设有三个停靠站C、D、E,发车间隔为600秒,运行时间为7:00到19:00。公交车辆的长度为12米,宽度为2.5米,最大速度为60公里/小时,加速度为2米/秒²,最大乘客容量为50人。
具体步骤
打开VISSIM:启动VISSIM软件,打开需要进行公交系统仿真的路网文件。
进入公交网络编辑模式:选择“网络”(Network) -> “公交网络”(Public Transport Network)。
创建公交线路:点击工具栏中的“创建公交线路”(Create PT Line)按钮,鼠标指针会变成一个公交图标。在路网上选择A站和B站,生成公交线路。
编辑公交线路属性:
名称:输入“线路1”。
类型:选择“普通公交线路”。
发车间隔:输入600秒。
运行时间:设置为7:00到19:00。
创建公交停靠站:
C站:选择“网络” -> “公交停靠站” -> “创建公交停靠站”(Create PT Stop),在路网上选择C站位置。
D站:同上,在路网上选择D站位置。
E站:同上,在路网上选择E站位置。
编辑公交停靠站属性:
C站:
名称:输入“C站”。
类型:选择“路边站”。
停靠时间:输入30秒。
D站和E站同上。
创建公交车辆类型:
名称:输入“普通公交车辆”。
长度:输入12米。
宽度:输入2.5米。
最大速度:输入60公里/小时。
加速度:输入2米/秒²。
最大乘客容量:输入50人。
颜色:选择红色。
配置公交线路的车辆分配:
选择车辆类型:选择“普通公交车辆”。
设置车辆数量:输入10辆。
设置发车时间:输入7:00、7:10、7:20、7:30、7:40、7:50、8:00、8:10、8:20、8:30。
2. 公交车辆的动态行为
在VISSIM中,可以通过配置公交车辆的动态行为来模拟其在实际交通中的行驶情况。这包括公交车辆的行驶速度、加速度、换道行为、停靠站的进出行为等。以下是配置公交车辆动态行为的方法:
2.1 设置行驶速度和加速度
打开公交车辆类型属性:在车辆类型列表中选择之前创建的公交车辆类型,双击打开属性对话框。
设置行驶速度:在“速度”(Speed)字段中输入车辆的最大速度和加速度。
设置速度分布:在“速度分布”(Speed Distribution)选项卡中,可以选择不同的速度分布模型,如常数速度、正态分布等。
2.2 设置换道行为
打开公交车辆类型属性:在车辆类型列表中选择之前创建的公交车辆类型,双击打开属性对话框。
设置换道行为:在“换道行为”(Lane Change Behavior)选项卡中,可以选择不同的换道行为模型,如基本模型、高级模型等。
配置换道参数:在“换道参数”(Lane Change Parameters)字段中,输入换道的行为参数,如换道间隙、换道时间等。
2.3 设置停靠站的进出行为
打开公交停靠站属性:在公交停靠站列表中选择需要配置的停靠站,双击打开属性对话框。
设置进出站行为:在“进出站行为”(Approach/Departure Behavior)选项卡中,可以选择不同的进出站行为模型,如基本模型、高级模型等。
配置进出站参数:在“进出站参数”(Approach/Departure Parameters)字段中,输入进出站的行为参数,如进站速度、出站速度等。
2.4 示例:配置公交车辆的动态行为
假设我们需要配置一条公交线路上的车辆,使其在道路上的行驶速度为50公里/小时,加速度为1.5米/秒²,换道行为为基本模型,换道间隙为2秒,停靠站的进站速度为20公里/小时,出站速度为50公里/小时。
具体步骤
打开公交车辆类型属性:在车辆类型列表中选择“普通公交车辆”,双击打开属性对话框。
设置行驶速度:
最大速度:输入50公里/小时。
加速度:输入1.5米/秒²。
设置速度分布:选择“常数速度”模型。
设置换道行为:
换道行为模型:选择“基本模型”。
换道间隙:输入2秒。
设置停靠站的进出行为:
进站速度:输入20公里/小时。
出站速度:输入50公里/小时。
3. 公交优先策略的实施
公交优先策略是提高公交系统运行效率的重要手段。在VISSIM中,可以通过配置公交信号优先、公交专用道等方法来实现公交优先策略。
3.1 公交信号优先
公交信号优先是指在交通信号控制中,给予公交车辆优先通行的权利。通过配置公交信号优先,可以减少公交车辆在交叉口的等待时间,提高运行效率。
打开信号控制属性:在主菜单中选择“网络”(Network) -> “信号控制”(Signal Control),选择需要配置公交信号优先的信号控制,双击打开属性对话框。
添加公交信号优先:在“公交信号优先”(PT Signal Priority)选项卡中,点击“添加”(Add)按钮,选择公交线路和优先类型。
设置优先类型:选择“绿灯延长”(Green Extension)、“红灯缩短”(Red Shortening)或“优先通行”(Priority Passage)。
配置优先参数:在“优先参数”(Priority Parameters)字段中,输入优先的时间和条件。
3.2 公交专用道
公交专用道是指专门为公交车辆设置的车道,可以减少公交车辆在道路上的拥堵,提高运行效率。
创建公交专用道:在主菜单中选择“网络”(Network) -> “车道”(Link),选择需要设置公交专用道的车道,右键选择“属性”(Properties)。
设置车道属性:在“车道属性”(Link Properties)对话框中,选择“车道类型”(Lane Type)选项卡,将车道类型设置为“公交专用道”(PT Lane)。
配置专用道参数:在“专用道参数”(PT Lane Parameters)字段中,输入专用道的使用时间和条件。
3.3 示例:实施公交信号优先
假设我们需要在一个交叉口实现公交信号优先策略,给予“线路1”上的公交车辆绿灯延长5秒的优先权利。
具体步骤
打开信号控制属性:在主菜单中选择“网络”(Network) -> “信号控制”(Signal Control),选择需要配置公交信号优先的信号控制,双击打开属性对话框。
添加公交信号优先:在“公交信号优先”(PT Signal Priority)选项卡中,点击“添加”(Add)按钮。
选择公交线路:在“选择公交线路”(Select PT Line)对话框中,选择“线路1”。
设置优先类型:选择“绿灯延长”(Green Extension)。
配置优先参数:
延长时间:输入5秒。
优先条件:设置为“公交车辆到达交叉口前10秒”。
3.4 示例:设置公交专用道
假设我们需要在一条主干道上设置公交专用道,专用道的使用时间为7:00到19:00。
具体步骤
创建公交专用道:在主菜单中选择“网络”(Network) -> “车道”(Link),选择需要设置公交专用道的车道,右键选择“属性”(Properties)。
设置车道属性:在“车道属性”(Link Properties)对话框中,选择“车道类型”(Lane Type)选项卡,将车道类型设置为“公交专用道”(PT Lane)。
配置专用道参数:
使用时间:设置为7:00到19:00。
使用条件:设置为“仅允许公交车辆通行”。
4. 公交系统仿真的评估
公交系统仿真的目的是评估公交系统的运行效率和可靠性。在VISSIM中,可以通过生成各种评估报告来分析公交系统的性能。以下是一些常见的评估方法和步骤:
4.1 生成运行时间报告
运行时间报告可以显示公交车辆在各段道路上的行驶时间和停靠站的停靠时间。
打开评估报告设置:在主菜单中选择“评估”(Evaluation) -> “报告设置”(Report Settings)。
选择运行时间报告:在“报告类型”(Report Type)下拉列表中选择“运行时间报告”(Run Time Report)。
设置报告参数:在“报告参数”(Report Parameters)字段中,选择需要评估的公交线路和时间段。
生成报告:点击“生成报告”(Generate Report)按钮,VISSIM会生成运行时间报告。
4.2 生成乘客流量报告
乘客流量报告可以显示公交车辆在各停靠站的乘客上下车情况。
打开评估报告设置:在主菜单中选择“评估”(Evaluation) -> “报告设置”(Report Settings)。
选择乘客流量报告:在“报告类型”(Report Type)下拉列表中选择“乘客流量报告”(Passenger Flow Report)。
设置报告参数:在“报告参数”(Report Parameters)字段中,选择需要评估的公交线路和时间段。
生成报告:点击“生成报告”(Generate Report)按钮,VISSIM会生成乘客流量报告。
4.3 生成交通流量报告
交通流量报告可以显示公交车辆在各路段的交通流量情况。
打开评估报告设置:在主菜单中选择“评估”(Evaluation) -> “报告设置”(Report Settings)。
选择交通流量报告:在“报告类型”(Report Type)下拉列表中选择“交通流量报告”(Traffic Flow Report)。
设置报告参数:在“报告参数”(Report Parameters)字段中,选择需要评估的公交线路和时间段。
生成报告:点击“生成报告”(Generate Report)按钮,VISSIM会生成交通流量报告。
4.4 示例:生成运行时间报告
假设我们需要生成“线路1”在7:00到19:00时间段内的运行时间报告。
具体步骤
打开评估报告设置:在主菜单中选择“评估”(Evaluation) -> “报告设置”(Report Settings)。
选择运行时间报告:在“报告类型”(Report Type)下拉列表中选择“运行时间报告”(Run Time Report)。
设置报告参数:
选择公交线路:选择“线路1”。
选择时间段:设置为7:00到19:00。
生成报告:点击“生成报告”(Generate Report)按钮,VISSIM会生成运行时间报告。
5. 公交系统仿真的二次开发
在VISSIM中,可以通过编写脚本来实现公交系统仿真的二次开发。二次开发可以增加自定义的功能,如动态调整公交车辆的发车间隔、实时监控公交车辆的位置等。以下是二次开发的基本步骤和示例:
5.1 编写VBA脚本
VBA脚本是VISSIM中常用的二次开发工具,可以通过VBA脚本来实现复杂的仿真逻辑。
打开VBA编辑器:在主菜单中选择“工具”(Tools) -> “VBA编辑器”(VBA Editor)。
编写脚本:在VBA编辑器中编写脚本,实现所需的功能。
5.2 示例:动态调整公交车辆的发车间隔
假设我们需要根据实时交通情况动态调整“线路1”的发车间隔。我们可以编写一个VBA脚本来实现这一功能。
VBA脚本示例
' 定义子过程 Sub AdjustHeadway() ' 获取当前时间 Dim currentTime As Double currentTime = VISSIM.Simulation.Time ' 获取当前交通流量 Dim trafficFlow As Double trafficFlow = VISSIM.Net.Links.ItemByKey(1).VehTravTimes.GetStatistics(1, 1, 1).Average(1) ' 定义基础发车间隔 Dim baseHeadway As Double baseHeadway = 600 ' 基础发车间隔为600秒 ' 定义交通流量阈值 Dim lowThreshold As Double Dim highThreshold As Double lowThreshold = 500 ' 低流量阈值 highThreshold = 1000 ' 高流量阈值 ' 根据交通流量动态调整发车间隔 If trafficFlow < lowThreshold Then ' 低流量时段,增加发车间隔 VISSIM.Net.PTLines.ItemByKey(1).PTLineInputPars.ItemByKey(1).SetAttValue "Headway", baseHeadway * 1.2 ElseIf trafficFlow > highThreshold Then ' 高流量时段,减少发车间隔 VISSIM.Net.PTLines.ItemByKey(1).PTLineInputPars.ItemByKey(1).SetAttValue "Headway", baseHeadway * 0.8 Else ' 正常流量时段,保持基础发车间隔 VISSIM.Net.PTLines.ItemByKey(1).PTLineInputPars.ItemByKey(1).SetAttValue "Headway", baseHeadway End If End Sub5.3 脚本的调用和执行
设置仿真触发器:在主菜单中选择“仿真”(Simulation) -> “触发器”(Triggers),点击“添加触发器”(Add Trigger)按钮。
配置触发器:在“触发器属性”(Trigger Properties)对话框中,设置触发器的触发条件,例如每10分钟触发一次。
调用VBA脚本:在“触发器属性”对话框中,选择“调用VBA脚本”(Call VBA Script)选项,并选择之前编写的
AdjustHeadway子过程。
5.4 示例:实时监控公交车辆的位置
假设我们需要实时监控“线路1”上的公交车辆位置,并将位置信息输出到日志文件中。我们可以编写一个VBA脚本来实现这一功能。
VBA脚本示例
' 定义子过程 Sub LogVehiclePositions() ' 获取当前时间 Dim currentTime As Double currentTime = VISSIM.Simulation.Time ' 打开日志文件 Dim logFile As Object Set logFile = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\Logs\vehicle_positions.txt", 8, True) ' 遍历所有公交车辆 Dim vehicle As Object For Each vehicle In VISSIM.Net.Vehs.GetAll If vehicle.VehType.Nr = 1 Then ' 假设公交车辆类型编号为1 ' 获取车辆位置 Dim position As Double position = vehicle.VehPos ' 写入日志文件 logFile.WriteLine "Time: " & currentTime & " - Vehicle ID: " & vehicle.ID & " - Position: " & position End If Next ' 关闭日志文件 logFile.Close End Sub5.5 脚本的调用和执行
设置仿真触发器:在主菜单中选择“仿真”(Simulation) -> “触发器”(Triggers),点击“添加触发器”(Add Trigger)按钮。
配置触发器:在“触发器属性”(Trigger Properties)对话框中,设置触发器的触发条件,例如每1分钟触发一次。
调用VBA脚本:在“触发器属性”对话框中,选择“调用VBA脚本”(Call VBA Script)选项,并选择之前编写的
LogVehiclePositions子过程。
6. 总结
通过上述步骤,我们可以在VISSIM中创建和配置公交线路,设置公交停靠站,配置公交车辆的动态行为,并实施公交优先策略。此外,我们还可以通过生成各种评估报告来分析公交系统的性能,并通过编写VBA脚本进行二次开发,增加自定义功能,以更好地模拟和优化公交系统的运行。希望这些内容能够帮助读者在VISSIM中高效地进行公交系统仿真,提高城市交通的整体运行效率。