VehRoutes

车辆路径输出包含关于车辆采取了哪条路线的信息,以及其路线是否在任何时候被新路线替换。此时,每条之前的路线及其被替换时所在的路段都会被报告。此外,车辆进入和离开网络的时间也存储在此文件中。

在正常情况下,当所有车辆都使用预定义的路线时,该输出不包含任何无法从路线和行程信息(tripinfo)输出中检索到的信息。但是,一旦在仿真中重新规划车辆路线(例如使用重路由器),它将包含新信息。

在仿真中实例化#

使用选项 --vehroute-output <FILE>--vehroutes <FILE> 可为仿真启用此输出。影响此输出的其他选项列于 SUMO#Output

生成的输出#

生成的文件如下所示:

<routes>
    <vehicle id="<VEHICLE_ID>" [type="<TYPE_ID>"] depart="<INSERTION_TIME>" arrival="<ARRIVAL_TIME>" [routeLength="<LENGTH>"]>
        <routeDistribution>
            <route replacedOnEdge="<EDGE_ID>" replacedAtTime="<TIME>" probability="0" edges="<PREVIOUS_ROUTE>"/>

            ... further replaced routes ...

            <route edges="<LAST_ROUTE>" [exitTimes="<EXIT_TIMES>"]/>
        <routeDistribution>
    </vehicle>

    <person id="<PERSON_ID>" depart="<INSERTION_TIME>" arrival="<ARRIVAL_TIME>">
        <ride from="..." to="..." lines="..." [started="<START_TIME>" ended="<END_TIME>"]/>
        <walk edges="..." speed="..." [exitTimes="<EXIT_TIMES>" started="<START_TIME>" ended="<END_TIME>"]/>
    </person>

    ... information about further vehicles and persons ...

</routes>
名称 类型/单位 描述
id (vehicle) id 此条目描述的车辆的 id
type vehicle type id 车辆类型的 id(如果与默认值不同)
depart s 车辆被发射到网络中的时间
arrival s 车辆从仿真中移除的时间(由于到达路线终点)
routeLength m 车辆路线的总长度(如果通过 vehroutes.route-length 选项激活)
replacedOnEdge (edge) id 描述的路线被替换时车辆所在的路段
replacedAtTime s 此次替换的时间步长
edges [(edge) id] 被替换的路线
route edges [(edge) id] 最终的车辆路线
exitTimes [time in s] 路线或步行中每个路段的离开时间,如果通过选项 --vehroute-output.exit-times 启用
ended s 步行或乘车的到达时间(或集装箱的转运/运输时间),如果通过选项 --vehroute-output.exit-times 启用
started s 步行的出发时间或乘车车辆进入并再次开始行驶的时间(对于集装箱的转运/运输也是如此),如果通过选项 --vehroute-output.exit-times 启用

Note

如果设置了车辆的其他属性,也会包含在内。

Note

默认情况下,只有完成的行程才会保存在 vehroute 文件中。使用选项 --vehroute-output.write-unfinished 也可以保存未完成的行程。它们可以在文件中被识别,如果:(1) 选项 --vehroute-output.exit-times 设置为 true:started 和 ended 的值为 -1;或者 (2) 选项 --vehroute-output.route-length 设置为 true:routeLength 的值为 -1;如果存在后续步行,其 routeLengths 仍会被报告。

之前的路线和最终路线都是完整的,这意味着只要路线尚未被替换,它们就包含车辆预定经过的所有路段。replacedOnEdge 和 replacedAtTime 信息仅对被替换的路线可用。概率字段仅用于使文件可以直接用作仿真输入,这将让车辆行驶其最终路线。为了正确的仿真输入,文件还应按出发时间排序。这可以通过同时设置选项 --vehroute-output.sorted 来完成。

仅为选定的车辆或车辆类型输出#

默认情况下,所有车辆都会生成 vehroute 输出。通过为选定的车辆或车辆类型分配 vehroute 设备,可以更改此设置。 例如,以下定义为车辆类型 t1 启用设备:

<vType id="t1">
  <param key="has.vehroute.device" value="true"/>
</vType>

或者,您可以使用 SUMO 选项 --device.vehroute.probability 来设置车辆生成 vehroute 输出的概率。 例如,设置选项 --device.vehroute.probability 0.25 将为大约四分之一的车辆配备 vehroute 设备(每辆车随机确定,概率为 25%)。

其他选项#

  • --personroute-output FILE: 将人员/容器的输出写入单独的 FILE
  • --vehroute-output.exit-times: 写入所有路段的离开时间,包含停靠点的 'started' 和 'ended' 属性,以及乘车的 'ended' 属性。
  • --vehroute-output.last-route: 仅写入最终路线(如果车辆在仿真期间被重新规划路线)
  • --vehroute-output.sorted: 按出发时间对写入的车辆进行排序
  • --vehroute-output.dua: 以 duarouter 替代格式写入输出
  • --vehroute-output.cost: 为所有路线写入 'cost' 属性
  • --vehroute-output.intended-depart: 使用预定的出发时间而不是实际出发时间(在出发延迟的情况下)
  • --vehroute-output.route-length: 将总路线长度写入 'length' 属性
  • --vehroute-output.write-unfinished: 为在仿真结束时未到达目的地的车辆和人员写入 vehroute 输出
  • --vehroute-output.skip-ptlines: 跳过公共交通车辆(具有 'line' 属性的车辆)的 vehroute 输出
  • --vehroute-output.incomplete: 在 vehroute 输出中包含无效路线和路线存根(from-to)
  • --vehroute-output.stop-edges: 包含停靠点之间路段的信息
  • --vehroute-output.speedfactor: 在输出中包含车辆特定的 speedFactor 信息(如果车辆设置了 departSpeed,则默认为 'true')
  • --vehroute-output.internal: 在输出中包含内部路段。请注意,此类路线不适合由 sumo 或 duarouter 加载!

可视化示例#

出发时间与到达时间#

使用 plotXMLAttributes.py 生成。