IntermodalRouting

基本概念#

每个人可能有多种交通方式可供选择。 目前这些方式包括步行(假设步行总是可行的)、乘坐公共交通以及驾车出行。Intermodal routing(多式联运路径规划)使用 person trips 来定义包含交通方式转换的个人行程。

定义多式联运需求#

要定义多式联运需求,请使用 <personTrip>-元素:

<routes>
  <person id="p0" depart="0">
    <personTrip from="beg" to="end"/>
  </person>
</routes>

工具 randomTrips.py 可以配合选项 --persontrips 使用,以生成随机的多式联运需求。

定义可用的汽车#

为了允许使用汽车,必须为 personTrip 指定属性 modes="car" 或可用汽车的 vType:

<routes>
  <vType id="typ0" vClass="passenger"/>
  <person id="p0" depart="0">
      <personTrip from="beg" to="end" vTypes="typ0"/>
  </person>
</routes>

定义公共交通#

为了被纳入公共交通路径规划,交通流(以及车辆或行程)必须使用公共交通时刻表进行定义。

下面给出了一个公交线路和一个可能使用该线路的人的示例:

<routes xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://sumo.dlr.de/xsd/routes_file.xsd">
    <flow id="bus" from = "beg" to ="end" line="bus" begin="0" end="1000" period="300">
                <stop busStop="busStopA" until="10"/>
                <stop busStop="busStopB" until="110"/>
                <stop busStop="busStopC" until="210"/>
    </flow>
    <person id="p0" depart="0">
        <personTrip from="beg" to="end" modes="public"/>
    </person>
</routes>

Note

车辆/流/行程必须定义 line 属性才能被视为公共交通。每个带有 line 属性的车辆都被视为公共交通,无论其容量如何,都可用于路径规划。

模式切换#

交通网络中的并非所有位置都适合在步行和乘车模式之间换乘(即,可能需要停车设施才能从私家车换乘步行或公共交通)。为此提供了以下选项:

  • --persontrip.transfer.car-walk: 设置以下任意值的列表:parkingAreas, ptStops, allJunctions (默认 parkingAreas)
  • --persontrip.transfer.taxi-walk: 设置以下任意值的列表:ptStops, allJunctions (默认 allJunctions)
  • --persontrip.transfer.walk-taxi: 设置以下任意值的列表:ptStops, allJunctions (默认 allJunctions)

参数值的含义如下:

  • parkingAreas: 仅在带有 <parkingArea> 元素的边缘进行换乘
  • ptStops: 仅在公共交通站点(即 <busStop>)进行换乘
  • allJunctions: 在允许车辆和行人的任何边缘进行换乘,如果连接允许车辆的边缘与允许行人的另一边缘,也可以在任何交叉口进行换乘。

多式联运成本函数#

通常,多式联运路径规划可以考虑多种标准,例如 行程时间、成本、可靠性和便利性。目前, duarouter 仅考虑以下行程时间:

  • 个体车辆运输使用标准的车辆路径规划成本。这可以通过选项 --weight-files 加载自定义权重来影响
  • 步行使用人的最大步行速度,并将其乘以一个因子,该因子可通过选项 --persontrip.walkfactor <FLOAT> 配置(默认 0.75)。该因子用于解释由于交叉口和行人互动造成的延误
  • 在与车辆共享的边缘上,逆车流方向步行可能会受到阻碍。这可以通过选项 --persontrip.walk-opposite-factor 配置(默认 1.0)。
  • 公共交通使用到下一班列车发车的时间(等待时间)以及连续站点之间 until 时间的差值
  • 从网络的另一部分访问站点 所需的时间与直线距离成正比,比例系数可配置(netconvert 选项 --railway.access-factor <FLOAT>)。距离可以在访问定义中自定义。
  • 叫出租车时的(预期)时间惩罚由选项 --persontrip.taxi.waiting-time 设置