基于路段(edge)的 Amitran 输出使用 https://sumo.dlr.de/xsd/amitran/linkdata.xsd 中定义的格式,写入聚合的速度和流量值。
在仿真中实例化#
基于路段的 Amitran 输出在附加文件中定义,方式如下:
<edgeData id="<DETECTOR_ID>" type="amitran" period="<PERIOD>"
file="<OUTPUT_FILE>" \[vTypes="<LIST>"\] \[excludeEmpty="true"\]/\>
| 属性名称 | 值类型 | 描述 |
|---|---|---|
| id | id (字符串) | 检测器的 ID |
| file | 文件名 | 输出文件的路径。路径可以是相对路径。 |
| period (别名 freq) | int (时间) | 检测器收集的数值进行累加的聚合周期。如果未给出,则对 begin 和 end 之间的整个时间范围进行聚合。 |
| begin | int (时间) | 开始写入的时间(在此时间之前开始的间隔将被丢弃)。如果未给出,则使用仿真的 begin。 |
| end | int (时间) | 结束写入的时间(在此时间或之后开始的间隔将被丢弃)。如果未给出,则使用仿真的 end。 |
| vTypes | 字符串 | 以空格分隔的车辆类型列表,用于收集这些类型的数据。如果未给出,则收集所有类型的数据。 |
| excludeEmpty | 字符串 (true, false, defaults) | 如果设置为 true,则在此期间未被任何车辆使用的路段/车道将不会被写入;默认值:false。如果设置为 "defaults",则会根据路段长度和最大速度打印出行程时间和排放的默认值。 |
生成的输出#
<linkData xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://sumo.dlr.de/xsd/amitran/linkdata.xsd">
<timeSlice startTime="0" duration="60000"/>
<timeSlice startTime="60000" duration="60000">
<link id="32" amount="2" averageSpeed="888"/>
<link id="35" amount="2" averageSpeed="879"/>
<link id="38" amount="4" averageSpeed="859"/>
</timeSlice>
...
</linkData>
数值描述#
| 名称 | 类型 | 描述 |
|---|---|---|
| startTime | (仿真) 毫秒 | 开始收集数值的第一个时间步 |
| duration | (仿真) 毫秒 | 数据收集间隔的长度 |
| link@id | (路段) id | 所报告路段的整数 ID |
| amount | int | 在该间隔内进入该路段的车辆数量 |
| speed | 0.01 m/s | 在该间隔内该路段上的平均速度 |
注意事项#
注意:
- 默认情况下,所有路段都会被写入,即使没有车辆在上面行驶。可以通过将
excludeEmpty属性设置为 true 来禁用此功能。 - 间隔的结束时间是间隔的开始时间 + 聚合时间,这意味着数值是在这些时间步内收集的,不包括结束时间本身。如果仿真在最后一个间隔结束前终止,该间隔将被截断。
- 输出文件将被生成,不必预先存在,如果已存在将被无警告覆盖。输出文件所在的文件夹必须预先存在。
- 如果您只需要特定时间段内的网络状态信息,可以通过提供属性 "
begin="[,]+"" 和 "end="[,]+"" 来限制转储的生成。当至少给出一个组合时,仅当当前时间存在相应的 begin/end 对时,才会写入转储。这意味着,仅当 begin[x]<=INTERVAL_END 且 end[x]>=INTERVAL_BEGIN 时,才会保存相应的间隔。如果未给出 begin/end 的值,所有转储将覆盖整个仿真过程。
另请参阅#
- 基于车道/路段的网络性能指标输出,其内容与此类似


