人员变量检索

命令 0xae: 获取人员变量#

ubyte string
变量名 人员ID

请求获取指定人员某个变量的值。返回的值是上一个仿真步长内所请求变量/值的状态。如果人员已加载但位于路网之外(由于尚未插入路网或在当前时间步内进行瞬移),则返回默认的“错误”值。

以下变量值可以被获取和订阅。返回值的类型也在表中显示。无法订阅拆分出租车预约(split taxi reservation),这在技术上更像是一种变更函数,但因为需要返回值而被实现为检索函数。

**可检索的人员变量概览**
变量 值类型 描述 Python 方法
id list (0x00) stringList 返回当前场景中所有运行人员的ID列表(忽略给定的人员ID) getIDList
count (0x01) int 返回当前场景中运行人员的数量(忽略给定的人员ID) getIDCount
speed (0x40) double 返回指定人员在上一步中的速度 [m/s];错误值: -2^30 getSpeed
position (0x42) position 返回指定人员在上一步中的位置(两个double) [m,m];错误值: [-2^30, -2^30] getPosition
position 3D (0x39) position 返回指定车辆在上一步中的3D位置(三个double,前保险杠中心) [m,m,m];错误值: [-2^30, -2^30, -2^30] getPosition3D
angle (0x43) double 返回指定人员在上一步中的角度 [°];错误值: -2^30 getAngle
slope (0x36) double 检索当前人员位置处的坡度(以度为单位) getSlope
road id (0x50) string 返回指定人员在上一步所在的边(edge)ID;错误值: "" getRoadID
type id (0x4f) string 返回指定人员的类型ID getTypeID
color (0x45) ubyte,ubyte,ubyte,ubyte 返回人员的颜色 (RGBA)。 getColor
edge position (0x56) double 人员沿边(edge)的位置(单位 [m]);错误值: -2^30 getLanePosition
length (0x44) double 返回人员的长度 [m] getLength
minGap (0x4c) double 返回此人员的偏移量(停止时与前方人员的间距) [m] getMinGap
width (0x4d) double 返回此人员的宽度 [m] getWidth
waiting time (0x7a) double 返回等待时间 [s] getWaitingTime
next edge (0xc1) string 返回人员行走时路线上的下一条边。如果没有更多边或人员处于其他阶段,则返回空字符串。 getNextEdge
remaining stages (0xc2) int 返回给定人员剩余的阶段数,包括当前阶段。 getRemainingStages
vehicle (0xc3) string 如果人员处于驾驶阶段并已进入车辆,则返回车辆的ID。 getVehicle
taxi reservations (0xc6) list(Reservation) (见下文) 返回所有预约。如果 onlyNew 为 1,则每个预约只返回一次。 getTaxiReservations
split taxi reservations (0xc7) string 将人员从给定的预约中拆分,并为他们创建一个新的预约。返回新的预约ID。 splitTaxiReservation

响应 0xb4: 人员变量#

ubyte string ubyte <return_type>
变量名 人员ID 变量的返回类型 <VARIABLE_VALUE>

“命令获取人员变量” 的响应。

响应 0xc6: 出租车预约#

返回所有预约。如果 onlyNew 为 1,则每个预约只返回一次。

string string string string string double double double double
id persons group fromEdge toEdge departPos arrivalPos depart reservationTime

扩展检索消息#

某些进一步的消息需要额外的参数。

**扩展变量检索概览**
变量 请求值类型 响应值类型 描述 Python 方法
stage (0xc0) 下一阶段索引 (int) TraCIStage 返回描述第 n 个下一阶段的复合对象。索引 0 检索当前阶段的值。给定的索引必须小于 '剩余阶段' 的值。 getStage
edges (0x54) 下一阶段索引 (int) stringList 返回第 n 个下一阶段的边。索引 0 检索当前阶段的值。给定的索引必须小于 '剩余阶段' 的值。对于驾驶阶段,仅返回起点和终点边。 getEdges