vissim笔记

README

本文记录在学习使用vissim过程中的操作心得

基本操作

vissim多用右键绘图,右键点击空白处可查看该按键的属性
导入底图操作:查看——背景——编辑——读取图片,在比例中画出实际一条车道的宽度并设置实际距离,保存后即可
点击“缩放”按钮后按住鼠标左键不动框选可以缩放某个区域
单击“显示整个路网”按钮可以将整个路网显示在画面
shift+鼠标左键可以移动对象
滚动鼠标滚轮进行放大缩小
单击左侧对象按钮后在空白图案处右键可以弹出相应类型所有对象的属性对话框
在仿真——参数中具体设置仿真的属性
要想加快仿真速度,可以放大局部空白处,避免路段显示在仿真画面中

车道线/车道连接器/连接单车道

利用路段/连接器可以画出车道线
用路段/连接器先画出路段,用连接器连接交叉口各方向道路,连接器只能连接相同数量的车道
单击路段的两端箭头,可以拖拽设置路段长度和方向
路段的车行方向随绘制时鼠标拖拽方向决定
绘制车道后在对话框可以产生对向车道,沿鼠标拖拽方向的左侧是原车道方向,右侧是对向车道
路段连接器的首尾段都要落在两个路段上
含有多条车道的路段,车行方向的右手边为1车道,左手边为最大车道
对于交叉口的展宽段,可先分成不同车道数的路段画出来,然后分别用几个连接器连接
在路段上单击鼠标右键可以将路段打断,生成一个节点

车道标志

单击“车道方向标志”按钮,单击要设置的路段后点击鼠标右键弹出车道方向标志设置对话框,选择不同方向的车道标
对于车道之间的标志线,可以利用路段绘制按钮画出一条宽15cm左右的路段,利用“显示”设置里更改贴图图案绘制,同样可以利用link贴图布局人行道和高架桥线路
在绘制路段时设置起点和终点的高度,可以设置爬坡路段

3D模式

在查看——3D/2D模式中可以切换3D/2D模式
在3D模式下使用旋转和飞行模式按键可以调整观看角度
切换3D模式后在单击鼠标右键可以弹出插入3D模型的对话框,选择要插入的模型
插入的模型是V3D文件,需要用3Dmax软件将3ds文件转换

车流量输入

单击车辆输入按钮,单击选择路段后点鼠标右键,插入车流量输入的起点并设置车流时间和大小
选择交通——vehicle composition打开交通组成对话框,新建或编辑想要的车流输入模型

新建车流模型

traffic——traffic composition新建车流模型,在该模型中新建车辆种类,注意选择车辆种类、速度和百分比

同一车道设置多种车辆流

方法1:在车流量输入界面单击鼠标右键选择new vehicle input可以在link number 选择车道号为相同或不同车道设置车流输入情况
方法2:或者在车流模型中直接设置不同车辆类型的比例

车辆类型和类别概念解析

vehicle type ——某种特定的交通工具,如汽车/公交车等,具有相同驾驶行为和物理特征的工具
vehicle class ——定义由多个vehicle type组成的类别如机动车/非机动等
type用于创建交通流(traffic composition),class用于车道限制某类车流通过

新建车辆类型和应用

1、基础数据——分布——颜色可以创建不同颜色
2、基础数据——vehicle type——新建不同type的车辆
3、创建车流,交通——traffic composition,创建车流并选择之前不同的type

分时设定车流

选择车流输入按钮单击鼠标右键弹出设置对话框,在vehicle input对话框的右侧time栏右键新建时间段,可以设置不同的时间段
在vehicle input的左侧车道设置不同时间段的车流输入
仿真——参数设置仿真时间/仿真速度

为何使用路径决策

调整车速在traffic composition中选择输入的车流类型,编辑车速

创建路径决策

选择路径决策按钮后,在决策起始位置单击右键建立决策弹出对话框
一般输入车流量使用的路径决策类别(type)是static静态决策
局部路径决策是在静态决策基础上建立的,还有如停车决策(与停车有关)和动态决策(编程功能)
1、鼠标左键点击决策起点线路
2、在路段上鼠标右键创建决策起点,弹出对话框OK
3、鼠标左键点击决策终点线路
4、鼠标右键创建决策终点
5、重复3~4步创建多个终点
6、空白处双击鼠标左键结束创建
在弹出的属性框中可以选择查看不同的决策路径,红色代表起点,绿色代表终点,黄色线段代表决策路径

如何设置路径决策占比

在路径决策属性对话框中,在对应的各时间段下,可以分别设置该时间段内不同路径的流量比例

如何设定局部路径决策partial route

先设置静态路径决策才能设置局部路径决策
一般局部路径用于模拟设置路段上某车道临时交通管制的情况
1、先在已经设置好的静态路径决策的路段上再画一小段路段
2、然后在这一小段路段的前后分别设置决策起点和终点,并在小段路上单击鼠标右键,出现一个节点拖动它设置路径宽度

如何设置停车路径决策parking route

在设置停车路径前首先要画停车场,点击左侧parking lot在路段上拖动绘制停车场
可以设置停车场长度和车位长度
直接左键可以拖动停车位位置
1、右键点击创建路径决策起点
2、选择停车决策
3、左键双击停车场,高亮蓝色后结束

如何设计减速区

1、点击左侧reduce speed area 按钮
2、起点点击鼠标右键不放拖拽到终点
3、弹出的设置对话框点击new新建
4、对不同类型的车流设置速度和加速度

如何使用stop signal

在没有信号灯的路口设置停车用
1、点击左侧stop signal
2、在路段要设置停车让行的地方单击鼠标右键对该车道设置停车信号
3、一次只能对一个车道进行设置

dynamic assignment 动态交通分配

在D:\Program Files (x86)\PTV_Uni\VISSIM510\Examples\Training\DynamicAssignment\3Paths
路径下有一个3path文件,文件里的路网运行三个不同的路径流量
先点击节点按钮,在编辑——edge selection中可以查看每一条路径的节点
交通——动态交通分配中配置各种输入和成本
1、画出有三个分叉最后汇合的路网
2、在主路两个端点设置停车场,注意将停车场选择为zone connecter
3、点击左侧节点按钮,然后多次单击鼠标右键画一个框将路网上的节点包围
4、在工程文件同一目录下创建动态交通文件格式后缀为fma,内容如下:

1
2
3
4
5
6
7
8
9
10
11
* Timeintervall
0.00 1.00
* Factor
1
* Number of zones %两个停车场
2
* Zone numbers %两个停车场编号
1 2
* Values %OD矩阵,P1点到P2点车辆数为500
0 500
0 0

5、在动态交通对话框中,勾选matrix,点击new选择刚创建的fma文件
6、选择成本文件(bew和weg后缀文件),没有的话新建
7、点击4次仿真按钮进行4次仿真
8、可以查看bew文件和weg文件的仿真结果

如何使用冲突区域conflict Area

1、点击左侧conflict Area按钮
2、在交叉口点击一下鼠标
3、多次点击鼠标右键,可以切换不同的让行模式(红色让绿色)
4、全红表示不设置优先

如何创建公交站

1、选择左侧公交站点按钮
2、在路段上拖动创建公交站
3、注意在弹出的创建公交站窗口选择type,street类型是路边停车,layby类型是港湾停车
4、点击左侧公交线路按钮,右键点击创建
5、在线路创建窗口点击设置发车时间(rate表示发车间隔,occupancy表示每车人数)

如何使用公交线路

1、在已经创建好的公交线路上,右键创建一个白色节点
2、拖拽该白色节点到公交站的车道上
3、公交站为绿色则不停车,红色则为停车
4、要想公车路过公交站不停车,双击公交站弹出对话框取消勾选stop active

如何将公交车站加入到公交线路

1、在已经创建好的公交线路上,右键创建一个白色节点
2、拖拽该白色节点到公交站的车道上

如何某一时段同一线路实现发多辆车

创建公交线路——弹出窗口——开始时间设置——设置公交发车的开始、结束时间和发车频率
occupancy——设置车载人数
course班次里面设置first第一个编号和step步长
自动生成班次后,还可以通过new再手动添加某一个特定时刻的发车(只要重复填写同一个发车时间即可)
在基础数据——分布——停车时间设置公交的停车时间分布

交通配时

信号控制——编辑信号控制机——左侧新建信号控制机,右侧在控制机基础上新建信号灯组
一个信号控制机包含几个方向上的信号灯方案,即信号灯组
信号灯组中各参数从左至右:

1
2
3
4
1、红灯/黄灯:设置灯点亮的时间,一般默认为0秒
2、黄灯:设置黄灯持续时间
3、红灯结束时间:设置红灯结束转为绿灯的时刻
4、绿灯结束时间:设置绿灯结束转为黄灯的时刻

在信号灯组中设置信号配时方案,一般为周期配时,vas为动态配时
周期配时方案中,主要设置红灯结束时间、绿灯结束时间和黄灯时间,注意配时加起来不能超过周期长度
一般仿真方案是:先亮红灯到某一时刻——切换绿灯接着亮到某一时刻——切换黄灯——循环红灯

创建完信号灯组后,点击信号灯按钮在路段上创建红绿灯,在弹出的窗口里面选择刚刚的信号控制机和信号灯组方案

signal control and 3D and block

1、选中信号灯按钮,在空白地方单击右键,选中信号灯编辑,在弹出界面点击新建3D信号灯按钮
2、选择信号灯臂和信号灯柱的创建方式
3、在弹出的界面选择水平/垂直悬挂方式,选择相应的信号控制机和信号灯组
4、在二维模式下,编辑——3D信号灯勾选
5、蓝色箭头表示信号灯的朝向,拖拽信号灯臂进行调整
6、单击画面上的信号灯表示,弹出灯柱属性界面单击绘有灯柱的画面,拖动信号灯可以设置其在灯臂的位置
7、在view——option里面的3D的选项卡里,对交通信号灯的显示样式进行选择,一般选择仅信号灯而没有停车线比较美观(仿真时显示)

添加交通信号灯头 add signal header

1、在二维模式下,编辑——3D信号灯勾选
2、单击画面上的信号灯表示,弹出灯柱属性界面单击绘有灯柱的画面
3、双击信号灯灯臂
4、单击添加信号灯即可在同一灯臂添加多个信号灯头

交通信号配时设计

建立自己的traffic composition需要:
1、创建不同的分布,如颜色分布color distribution等
2、根据不同的颜色分布建立新的的type
3、根据不同的type建立新的的class(class必须含有type否则报错)
4、根据不同的class 建立新的vehicle composition
5、一般是一个type对应一个class,一个class对应一个vehicle composition
建立车模型:基础数据——分布-3Dmodel

数据采集

左侧数据监测点(data collection point)按钮用来采集该点流量数据
1、选中按钮后在采集点右键创建即可
2、评价——文件打开窗口勾选数据采集,并点击配置打开配置属性界面
3、在输出(output)里面可以勾选原始数据或汇总数据
4、点击new新建选取评估点
5、点击配置按钮打开,数据检测——配置窗口,将需要检测的参数移动到列布局
6、在工程文件同一个目录下查看仿真结果文件

行程时间统计

1、左侧行程时间按钮用来采集某段路径的行程时间
2、选中按钮后在行程起点右键点击
3、在行程终点右键点击
4、点击完弹出的对话框编辑检测的车辆类别、距离等,记得勾选写入文件
5、选择评价——文件打开对话框,勾选行程时间travel time,点击选项后面的配置
6、在配置界面设置监测点、输出汇总还是原始数据等
7、仿真完成后会产生一个后缀名为rsz的结果文件

车辆排队时间统计

1、左侧排队计数器(queue counter)按钮用来采集排队长度
2、选中按钮后在排队统计点右键创建
3、选择评价——文件打开对话框,勾选排队长度queue length,点击选项后面的配置
4、设置排队的定义,如形成队伍的长度、车速等
5、仿真完成后会产生一个后缀名为stz的结果文件

节点评估

1、左侧节点(nodes)按钮也是用来采集数据的,区别是它可以汇总数据监测/行程时间/车辆排队的功能
2、在要创建节点的范围用节点圈起来
3、选择评价——文件打开对话框,勾选节点选项,点击选项后面的配置
4、将选择参数栏中要评估的参数添加到已选参数里面,选择数据是要原始还是汇总,选择对象
5、仿真完成后会产生一个后缀名为knk的结果文件,knr为原始文件,kna为汇总文件
6、在配置选项的后面还有过滤选项,点击进行设置

道路优先权priority rules

道路优先权按钮有些地方可以用冲突区域按钮设置优先规则解决,其主要用来主道岔道上的道路优先规则
可以设置岔道让行主道时的最小车头时间和距离
1、选择道路优先权按钮
2、右键点击岔道上的临近冲突点的某个位置
3、再右键点击主道上临近冲突点的位置
4、弹出设置对话框,设置时间间隔(gap time),车头距离(head way),最大速度
5、车头距离(head way)表示到达车头越过该条线后其他车道必须停下来让行
6、设置完后,岔道上会有一条红色的停车让行线,主道有一条绿色线
主道的两条绿色线前面一条是有车越过该线岔道的车必须停车让行
主道的后面一条绿线是车辆越过该线后岔道的车才能进入主道

加载背景图

通过加载CAD或者地图作为背景可以对照绘制visssim
1、选择查看——背景——编辑,单击读取选择图片或CAD文件导入
2、选择比例,调出比例尺然后在导入文件上画出一段距离,并定义这段线的实际距离
3、点击保存按钮后退出,就按照设定比例导入背景图

dectector和VAP编程

需要在路上设置感应器,然后在信号灯编辑里面选VAP编程
VAP编程需要相应的配置文件和代码库

VAP编程之配置PUA文档文件

VAP编程信号控制需要编写PUA文件设置信号规则
PUA文件中需要声明所有信号灯组和所有相位、起始相位

VAP编程例子
背景介绍:在一个十字交叉口,一个方向是铁路火车行驶,一个是汽车行驶
平时汽车行驶方向为绿灯,火车行驶方向为红灯
在火车行驶的路径上设置两个检测器,检测器1在交叉口前,检测器2在交叉口后
利用VAP编程,设置当火车经过检测器1时火车方向绿灯放行,经过检测器2时火车方向红灯,汽车切换回绿灯放行

1、打开信号控制——信号控制机
2、新建信号控制机和信号灯组,type模式里面选VAP,周期模式选变量,新建各信号灯组并将最小红绿灯时间设置为1s
【在这里,signal group中火车和汽车分别建立一个信号灯组,汽车为1火车为2,最小红绿灯时间1s
controller VAP中 program file选择D:\Program Files (x86)\PTV_Uni\VISSIM520\Exe中的vap216.dll
interstage file选择工程文件目录下自己创建的.PUA文件
Logic file选择工程文件目录下自己创建的.VAP文件】

3、D:\Program Files (x86)\PTV_Uni\VISSIM520\Examples\Training\Railroad\RailCrossing.VAP为模板文件
4、复制该目录下后缀名为PUA的文本文件,文件内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$SIGNAL_GROUPS
$ %以"$"为关键字,后面开始进行定义,介于两个$之间的为注释
Car 1 %汽车和铁路分别为一个信号灯组,
Train 2

$STAGES %定义了两个相位
$
Stage_1 Car %控制汽车为绿灯,铁路为红灯
red Train
Stage_2 Train
red Car

$STARTING_STAGE %初始相位
$
Stage_1

$INTERSTAGE1 %第一次切换相位
Length [s] : 5
From Stage : 1
To Stage : 2
$
Car -127 0
Train 5 127

$INTERSTAGE2 %第二次切换相位
Length [s] : 2
From Stage : 2
To Stage : 1
$
Car 2 127
Train -127 0

$END

5、在交叉口设置两个检测器,当火车经过某点时绿灯放行,当火车经过交叉口继续行驶到某点切换回红灯
6、对上述信号灯切换规则进行写程序进行配置,内容写在后缀名为VAP的文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
PROGRAM myprj;
if not init then %init初始值为0
set_sig(1,red); %火车行驶方向为红灯
set_sig(2,green); %汽车行驶为绿灯
init:=1 %将inti值赋值为1
end;
if Stage_active(1) then %如果为相位1(火车红灯汽车绿灯)
if Call(1) then %如果检测器1检测到信号(火车驶过交叉口前的检测器)
Interstage(1,2) %相位1切换为相位2
end
end;
if Stage_active(2) then %如果为相位2(火车绿灯汽车红灯)
if Call(2) then %如果检测器2检测到信号(火车驶过交叉口后的检测器)
Interstage(2,1) %相位2切换为相位1
end
end.