本文尚未编辑完成
visum最重要的功能之一就是进行四阶段的仿真。在2020年,我使用VISUM进行了三次宏观的仿真(《客运交通系统》、《交通仿真技术》、《交通规划课程设计》。三次仿真分别针对嘉定区、大厂县和南京市江心洲。虽然三次仿真使用的软件和总体思路近似,但是因为内容存在差异,每次使用软件的过程中,都遇到了非常多的问题。然而,中文互联网社区太过于贫瘠,几乎找不到关于VISUM比较全面的介绍讲解,于是打算写下这篇文章,记录比较全面的VISUM四阶段流程,以方便大家查阅。
本文推荐有VISUM使用经验者查看,部分基本操作问题烦请查看用户手册。 :::info 文章作者:刘宇良(同济大学交通运输工程学院)。本文允许非商业转载,但转载时请注明作者姓名和本文链接地址。欢迎您在语雀订阅我的专栏,专栏将持续发布交通学科相关的技能,您可以点击此处注册语雀。部分文章也会整理后在微信公众号@从今若许 发布。 :::

四阶段法简介

交通需求预测的四阶段法是传统交通规划领域最常用的需求预测方法,分为出行产生(trip generation)、出行分布(trip distribution)、交通方式划分(model split)、交通分配(traffic assignment) 四个步骤。

  • 出行产生:基于交通调查数据,根据用地类型,计算各类用地一段时间内(一般是每天)产生和吸引的出行量。输入是各个用地的调查数据/用地数据/人员构成/出行强度等,输出是各地块的出行产生量和吸引量。(产生和吸引分类还与基家/非基家有关,限于篇幅不展开)

    林航飞老师曾说过:“交通是土地利用的函数。”那么,出行产生是土地利用向交通的一次映射。

  • 出行分布:在出行产生中,获取了各个地块的产生和吸引量后,我们只知道某个地块一共产生和吸引了多少交通量,并不知道这个地块产生的交通量被哪个地块吸引了。于是,我们需要将产生量分布到各个PA(产生吸引)对之间。这一步便叫做交通分布。这一步常用的方法有增长系数法和重力模型法,限于篇幅不赘述。分配到各个PA之间后,由于产生和吸引起点和终点,我们还需要把PA矩阵(产生吸引量矩阵)转换为OD矩阵(起终点矩阵)

  • 出行方式划分:“出行”要转变为“交通”,是一种人的移动需求朝着交通工具的需求的转变过程。这一步依赖的是出行方式划分。出行方式划分使用微观经济学领域常用的离散选择模型LOGIT模型,这一步会将“出行的需求”转变为“各个交通方式的出行需求”。
  • 交通分配:交通分配是最后一步,目的是将“起终点”这一只存在于首尾两端的概念 投射到路网上,反映的是交通的过程性。即将从A地到B地、使用小汽车的一次出行,变成xx大道-xx路-xx西路-xx街的一次出行。出行分配的方式有全有全无分配(最短路径分配)和随机用户最优(SUE)分配等。

目前进行四阶段需求预测的工具有TransCAD和VISUM等,本文介绍使用VISUM进行宏观交通仿真。

基本设置

交通系统、出行方式与需求组成部分

首先,我们需要设置最最基本的交通系统/出行方式/需求组成部分信息。
总体来说:交通系统是物理存在的实体系统;每种出行方式需要依托一种或多种交通系统;每种类型的需求需要指定其使用的出行方式。

  • 什么是交通系统:
    • 交通系统是物理的、实体的一个系统
    • 分为公共交通、私人交通、公交步行、公交辅助四种类型。其中,对于私人交通,你可以在这里设置pcu值(相比VISSIM,VISUM并没有非常复杂的车辆类型设置,特别是公共交通,只能在交通系统处设置类型)
    • 对于公共交通系统,可以创建他们的PCU值(当量小汽车交通量)
    • 创建公共交通系统后,会询问你“公共交通X”是否允许使用本交通系统;创建私人交通系统后,会询问是否创建同名的出行方式和需求组成部分。
    • 交通系统的创建不依赖出行方式和需求组成部分
  • 什么是出行方式:
    • 出行方式是人的一种出行选择,是连接实体的交通系统与非实体的交通需求的一个纽带
    • 出行方式分为私人交通和公共交通
    • 一种公共出行方式可以选择多个交通系统;一种私人出行方式只能选择一种交通系统
    • 在“出行方式划分”时,会根据该表设置的出行方式进行划分。
    • 出行方式必须依托于交通系统,但是可以没有暂时不设置需求。
  • 什么是需求组成部分:
    • 需求组成部分是交通出行与需求矩阵相连接的部分。
    • 需求组成部分可以设置该需求的载客系数(关于载客系数的问题,我目前看到的材料解释为:进行交通分配时,输入的矩阵应当是“车矩阵”,在显示结果时会提供车结果和 使用载客系数(单车载客人数)计算的人结果,但是这一说法还有待考证,后续验证之后再给予修改,作者注。)
    • 在进行交通分配时,需要指定分配的需求组成部分。
    • 每个需求组成部分只能也必须对应一种出行方式。

image.pngimage.pngimage.png
上图是非常非常复杂设计的一种设置方法,对于绝大多数人来说,都用不到这么复杂的设置。解释如下:

  1. CAR的交通系统被一种出行方式使用,但该出行方式被两种需求组成部分选择,分别是普通的CAR出行和商旅的CAR Business出行。
  2. E非机动车私人交通系统向两种出行方式开放,分别是普通非机动车(自行车)和电动车(这里误写为摩托车)。
  3. HGV为大运量货车。
  4. BMRW都是公共交通出行方式,对应常规公交、底图、公交辅助自行车和公交辅助步行。

当然,大多数情况下,你绝对用不到这么多交通系统,绝大多数情况下,默认的几类够用,少数情况需要添加地铁系统。其他的应用更是少。

路段类型设置

路段是交通系统中最重要的线数据。初始会提供100种路段类型,他们分别属于0-9这10种集合类型(01属于0,23属于2)。
路段的顺序是重要的,越靠前的路段等级越高,也可以更方便设置为更高的通行优先级。
一般的,我们只使用5种左右的路段:快速路、主干路、次干路、支路、轨道线(地铁等)。
image.pngimage.png
需要注意的如下:

  • 可以勾选每种类型的strict复选框,如果勾选,则可以使得当改变这种路段类型属性时,该类型的所有路段都随之改变(如果不勾选,也可以通过excel的方式来批量修改路段属性)。
  • 通行能力和车道都是单向的。
  • 在设置完成后,请务必进入列表-路段类型进行检查,并更精细化的修改各种交通系统下使用路段的速度。

    BPR函数等其他设置

    BPR函数是美国公路安全局设置的通行时间与饱和度之间的关系函数。
    设置BPR函数能够使得路网在交通分配过程中,路段的行驶时间会随着交通流的叠加而增大,是使用随机用户均衡等分配方法时必须设置的一个调节工具。
    这里的“0”和“0”,如果你看不懂,可以回路段类型设置里重新看一遍。(提示:集合类型)
    image.png
    这个页面在 计算-一般的程序设置

    路网绘制

    路网绘制过程中,有一个最基本的原则:针对具体问题做不同程度的简化。总体来说,VISUM属于中宏观仿真软件,并不像微观仿真软件一样关注交叉口、交织区、匝道等交通流特征,因此,有关是否设置一些信控方案、节点阻抗,是否绘制快速路匝道 等等内容,需要看你的仿真项目是否有这一需求。VISUM提供比较全面的设置方式,但是并不是所有设置都需要被你的项目使用。

    背景图的导入

    关于背景图的导入,这里做一些简单的提示:
  1. 导入的格式不仅包含png这类图片格式,还包含dwg格式
  2. 如果导入dwg格式文件,在选择是否按照dwg内部坐标信息时,选择否,否则你很难把它定位到OSM的位置。
  3. 上一点提到的OSM是一个开源地图,VISUM内置,这个地图数据在大城市表现不错,非常推荐直接使用,但是在小城市会存在很多问题。但是,我仍然推荐你不管是否使用,都将地图绘制在OSM上对应的位置,这可以为后续避免很多麻烦。OSM采用WGS84坐标系。
  4. 严重不建议你导入shape file(GIS文件),除非你有非常优秀的GIS文件,否则,整理GIS文件的时间会远远超过重新绘制。
  5. 比例尺的设置要尤其小心,建议选择较长的路段,以免产生大的偏差,并建议在路网绘制过程中多次核对。

    节点与路段

    对于节点来说,你可以设置节点的阻抗、通行能力甚至是通行信号灯,但是这些对于部分研究宏观的项目来说并不重要,因此,在本例中不设置这些参数。

对于路段来说,一般的,你只需要设置该路段的类型即可。
需要注意的是,并不是每一个需要拐弯的地方都需要节点,只有有与其他道路相交且联通的地方有必要设置节点。

下图和本文,我没有使用任何一个课程作业项目的地图和路网,而是使用了我在曾经在某一模拟城建游戏中建立的路网。该路网尺寸约为4km边长的正方形。

image.png
不同类按照不同颜色显示,这使用了编辑图形功能的分类显示
image.png
只显示地铁,这使用了筛选功能

公交线路

和公交有关的元素有很多:

站点相关:

  • 车站、站点区域、站点:一个车站可以包含多个站点区域,一个站点区域下又可以包含多个站点。通过同一个车站下,设置不同的站点区域,每个站点区域又负责一定数量的站点,通过设置不同站点区域之间的步行时间(在车站的属性页面),可以设置
  • 站点必须设置在路段上或者节点上,车站和站点区域则不需要。
  • 强烈建议将站点设置在节点上,当然,你也可以设置在路段上,但是务必区分好上下行方向!
  • 同样,你也可以设置站点的附加值、停留时间和费用,当然本例中不使用。
  • 一般的,直接设置站点,并选择在节点上设置、勾选自动创建车站和站点区域即可

公交线路

  • 公交线路 包含 上下行两条 路线 (当然还可以更多)
  • 可以在公交路线的编辑页面,设置其是否停靠某一个经过的站点。
  • 公交车型的设置(路网-PUT车辆):有车辆和车辆组合两部分,一般的,你可以设置一个包含所有座位的车辆,再设置只包含一个该车辆的车辆组合(当然,你也可以设置车辆为一节地铁编组,然后车辆组合再添加指定的编组数量)。切记,要创建公交线路,你必须创建车辆组合。
  • 你还可以创建票价系统和运营商,以及规定各车辆行驶和停泊的费用,但在本文中不设置这些参数。
  • 在绘制公交线路时,当某个节点为粉色显示时,则表明规定线路一定通过该节点(若不需要,重复点击该节点使之变成正红色即可)
  • 创建时刻表一般选择使用创建常规行车。当然,VISUM还提供日历/节假日这些高级功能,本文不做展开。
  • 正确的一般创建步骤是:创建线路-创建一条路线-创建该路线时刻表-右键点击该路线选择创建反方向并复制全部车辆历程

image.pngimage.pngimage.png

交通小区与小区连接线

交通小区是土地利用与交通发生联系的媒介。
小区连接线是交通需求加载到路网上的媒介。

  • 创建交通小区时候一般什么都不设置,偶尔设置小区名称。但需要特别注意小区的编号顺序,这和后续交通需求的输入相关性非常高。
  • 建立完成内部小区后,如果有内外交流的需求,应当建立外部小区。我在北、西、南三面建设了三个外部小区。
  • 一般来说,我们只考虑外部小区 与 内部各个小区之间的需求,但是,在某些情况下,外部小区之间的需求要通过利用内部的交通系统来实现,这部分交通量构成了背景交通量的一部分(当然,一切在考虑的需求之外产生的交通量都应该视作背景交通量,**针对背景交通量,我们有很多种解决方法,但目前我并没有找到很好的解决方案。**)
  • 小区连接线是可以批量生成的,右键选择create即可,注意要为PRT(私人)和PUT(公共)都创建连接线。注意,对于外部小区,你可以适当调整小区连接线的时间,以使得仿真更加真实(一般的,我们不考虑外部交通时间,只考虑研究在区域的交通时间的情况下,所有方式的时间都可以设为0)

image.pngimage.png


完成上述所有步骤后,理论上来说,你需要进行一次路网检查(计算-检查路网),以保证各个小区之间有合适的线路。

四阶段第一步:出行生成

这一步其实是对VISUM要求最小的一步,我是三个仿真都没有用到VISUM完成这一步任务。

四阶段第二步:出行分布

四阶段第三步:出行方式划分

四阶段第四步:交通分配