此选项背后的理念是增强现有 netstate-dump 选项的功能。生成的 XML 结构包含关于边(edges)、车道(lanes)、车辆(vehicles)和交通信号灯(traffic lights)的信息。此选项的初衷是为了在无需记录所有仿真命令(例如 traci)的情况下检查仿真结果。
在仿真中实例化#
要强制 SUMO 构建一个包含完整转储的文件,请在命令行参数中添加 --full-output <FILE>。<FILE> 是输出将被写入的文件名。任何同名的其他文件将被覆盖,目标文件夹必须存在。
生成的输出#
完整转储是一个 XML 文件,包含每个时间步长关于每条边、每个车道、每辆车和每个交通信号灯的信息。完整转储文件如下所示:
<full-export>
<data timestep="<TIME_STEP>">
<vehicles>
<vehicle id="<VEHICLE_ID>" eclass="<VEHICLE_ECLASS>" co2="<VEHICLE_CO2>" co="<VEHICLE_CO>" hc="<VEHICLE_HC>"
nox="<VEHICLE_NOX>" pmx="<VEHICLE_PMX>" fuel="<VEHICLE_FUEL>" electricity="<VEHICLE_ELECTRICITY>" noise="<VEHICLE_NOISE>" route="<VEHICLE_ROUTE>" type="<VEHICLE_TYPE>"
waiting="<VEHICLE_WAITING>" lane="<VEHICLE_LANE>" pos_lane="<VEHICLE_POS_LANE>" speed="<VEHICLE_SPEED>"
angle="<VEHICLE_ANGLE>" x="<VEHICLE_POS_X>" y="<VEHICLE_POS_Y>"/>
... more vehicles ...
</vehicles>
<edges>
<edge id="<EDGE_ID>" traveltime="<EDGE_TRAVELTIME>">
<lane id="<LANE_ID>" co="<LANE_CO>" co2="<LANE_CO2>" nox="<LANE_NOX>" pmx="<LANE_CO>"
hc="<LANE_HC>" noise="<LANE_NOISE>" fuel="<LANE_FUEL>" electricity="<LANE_ELECTRICITY>" maxspeed="<LANE_MAXSPEED>" meanspeed="<LANE_MEANSPEED>"
occupancy="<LANE_OCCUPANCY>" vehicle_count="<LANE_VEHICLES_COUNT>"/>
... more lanes of the edge if exists
</edge>
... more edges of the network
</edges>
<tls>
<trafficlight id="0/0" state="GgGr"/>
... more traffic lights
</tls>
</data>
... the next timestep ...
</full-export>
所写入值的含义如下表所示。
| Name | Type | Description |
|---|---|---|
| time_step | (simulation) seconds | 此 time step 元素内描述的值所对应的时间步长 |
| id | id | 车辆/车道/边/交通信号灯的 ID |
| eclass | id | 车辆特定排放等级的 ID |
| co2@vehicle | mg/s | 车辆在当前仿真步长中排放的 CO2 量 |
| co2@lane | mg/s | 当前仿真步长中该车道上的车辆排放的 CO2 总量 |
| co@vehicle | mg/s | 车辆在当前仿真步长中排放的 CO 量 |
| co@lane | mg/s | 当前仿真步长中该车道上的车辆排放的 CO 总量 |
| hc@vehicle | mg/s | 车辆在当前仿真步长中排放的 HC 量 |
| hc@lane | mg/s | 当前仿真步长中该车道上的车辆排放的 HC 总量 |
| nox@vehicle | mg/s | 车辆在当前仿真步长中排放的 NOX 量 |
| nox@lane | mg/s | 当前仿真步长中该车道上的车辆排放的 NOX 总量 |
| pmx@vehicle | mg/s | 车辆在当前仿真步长中排放的 PMX 量 |
| pmx@lane | mg/s | 当前仿真步长中该车道上的车辆排放的 PMX 总量 |
| noise@vehicle | dB | 车辆在当前仿真步长中产生的噪音 |
| noise@lane | dB | 特定车道上的车辆产生的噪音 |
| fuel@vehicle | mg/s | 车辆在当前仿真步长中消耗的燃料 |
| fuel@lane | mg/s | 特定车道上的车辆消耗的燃料 |
| electricity@vehicle | Wh/s | 车辆在当前仿真步长中消耗的电量 |
| electricity@lane | Wh/s | 特定车道上的车辆消耗的电量 |
| route | id | 路线的名称 |
| type | id | 车辆类型的名称 |
| waiting | seconds | 车辆等待的总时间 |
| lane | id | 车道的名称 |
| pos | meters | 车辆在特定车道上的位置(前保险杠距离车道起点的距离) |
| speed | m/s | 车辆的当前速度 |
| angle | degree | 车辆的角度 |
| x | m | 车辆的绝对 X 坐标(前保险杠中心)。 |
| y | m | 车辆的绝对 Y 坐标(前保险杠中心)。 |
| z | m | 车辆的绝对 Z 坐标(前保险杠中心,仅当网络具有高程数据时)。 |
| slope | degrees | 车辆相对于水平面的倾斜角度(仅当网络具有高程数据时)。 |
| traveltime | seconds | 特定车道上的平均行程时间 |
| fuel@lane | l/km/h | 特定车道上的燃料消耗 |
| maxspeed | m/s | 特定车道上车辆的最大速度 |
| meanspeed | m/s | 特定车道上车辆的平均速度 |
| occupancy | % | 车道的占用率(%) |
| vehicles_count | #veh | 车道上的车辆数量 |
| state | string | 交通信号灯的当前状态 |
注意事项#
生成的文件将非常大,您可以将此输出直接通过管道传输到压缩工具(如 bzip2)。这个大文件的优点是,您可以编写一些漂亮的 XML 样式表来导出所有对您重要的信息,例如交通信号灯的状态和车道的行程时间。
