在仿真中实例化#
在 additional-file 中,感应线圈可以这样定义:
<additional>
<inductionLoop id="<ID>" lane="<LANE_ID>" pos="<POSITION_ON_LANE>" period="<AGGREGATION_TIME>"
file="<OUTPUT_FILE>" friendlyPos="true"/>
</additional>
"id" 是您可以用来命名检测器的任意字符串。属性 "lane" 和 "pos" 描述了检测器放置在哪条车道以及该车道上的具体位置。属性 "period" 描述了收集的数值应该被聚合的时间段。属性 "file" 告诉仿真器检测器应将结果写入哪个文件。
多个定义可以放在同一个 additional-file 中,并且也可以引用同一个输出文件。请确保 additional-file 始终以顶层标签开始和结束,如下所示:
<additional>
<inductionLoop id="myLoop1" lane="foo_0" pos="42" period="900" file="out.xml"/>
<inductionLoop id="myLoop2" lane="foo_2" pos="42" period="900" file="out.xml"/>
....
</additional>
属性:
| 属性名称 | 值类型 | 描述 |
|---|---|---|
| id | id (字符串) | 检测器的 id |
| lane | 引用的车道 id | 检测器应铺设的车道的 id。该车道必须是所用网络的一部分。 |
| pos | 浮点数 | 检测器在车道上的位置,单位为米。该值必须在 -1*车道长度 和 车道长度 之间。如果为负值,则位置将从车道末端(车辆驶向的位置)向后计算。 |
| period (别名 freq) | 整数 (时间) | 检测器收集的数值求和的聚合周期(默认:整个仿真时间)。 |
| file | 文件名 | 输出文件的路径。更多信息请参见 写入文件。 |
| friendlyPos | 布尔值 | 如果设置,当检测器放置在车道后方时不会报告错误。相反,检测器将被放置在距离车道末端 0.1 米处,或者如果位置为负值且其绝对值大于车道长度,则放置在位置 0.1 处;默认:false。 |
| vTypes | 字符串 | 以空格分隔的考虑车辆类型 id 列表,"" 表示所有;默认 ""。 |
| nextEdges | 字符串列表 | 必须全部是车辆未来路径中的一部分的边 id 列表,以满足检测条件(默认 空)。 |
| detectPersons | 字符串 | 检测行人而非车辆(行人或乘客) |
| length | 浮点数 | pos 下游检测区域的长度(默认 0) |
生成的输出#
模拟感应线圈输出中的单行数据如下所示:
<interval begin="''<BEGIN_TIME>''" end="''<END_TIME>''" id="''<DETECTOR_ID>''" \
nVehContrib="''<MEASURED_VEHICLES>''" flow="''<FLOW>''" occupancy="''<OCCUPANCY>''" \
speed="''<MEAN_SPEED>''" harmonicMeanSpeed="''<HARM_MEAN_SPEED>''" length="''<MEAN_LENGTH>''" nVehEntered="''<ENTERED_VEHICLES>''"/>
... further intervals ...
数值描述如下表所示。
| 名称 | 类型 | 描述 |
|---|---|---|
| begin | (仿真) 秒 | 开始收集数值的第一个时间步 |
| end | (仿真) 秒 | 结束收集数值的最后一个时间步 + DELTA_T |
| id | id | 检测器的 id |
| nVehContrib | #车辆 | 在时间间隔内完全通过检测器的车辆数量 |
| flow | #车辆/小时 | 贡献车辆数量外推至一小时的数值 |
| occupancy | % | 车辆在检测器上的时间百分比 (0-100%)。如果多辆车同时在检测器上(由于检测器长度或在子车道仿真中),数值可能超过 100) |
| speed | m/s | 所有完全收集到的车辆的速度算术平均值 (-1 表示未收集到车辆)。这给出的是时间平均速度。 |
| harmonicMeanSpeed | m/s | 所有完全收集到的车辆的速度调和平均值 (-1 表示未收集到车辆)。这给出的是空间平均速度。 |
| length | m | 所有完全收集到的车辆的平均长度 (-1 表示未收集到车辆)。 |
| nVehEntered | #车辆 | 所有接触过检测器的车辆。包括未完全通过检测器的车辆(这些车辆不计入收集的数值)。 |
检测器通过首先确定车辆进入和离开检测器的时间来计算数值。这意味着:a) 只要车辆在检测器上,某些数值就不可用;b) 如果车辆通过换道进入检测器,则无法计算某些数值——因为车辆没有完全通过检测器。
"nVehEntered" 包括所有在检测器上的车辆(即使它们通过换道或到达离开,或者在时间间隔结束时仍在检测器上)。为车辆收集的数值对应于 "nVehContrib"。
可视化#
|
|
|
补充说明#
- 可以使用 TraCI 访问模拟的感应线圈。如果不需要 XML 输出,可以使用属性
file="NUL"。 - 当定义 感应式交通信号灯 时,会自动创建感应线圈。
- 您可以自动生成检测器定义。更多信息请参见 输出工具。
