车辆路径输出包含关于车辆采取了哪条路线的信息,以及其路线是否在任何时候被新路线替换。此时,每条之前的路线及其被替换时所在的路段都会被报告。此外,车辆进入和离开网络的时间也存储在此文件中。
在正常情况下,当所有车辆都使用预定义的路线时,该输出不包含任何无法从路线和行程信息(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 生成。
