Commit 0feac360 by 余根龙

Merge remote-tracking branch 'origin/master'

parents 8b6e8809 556e298e
package com.zhht.irn;
/**
* 事件类型
* 车辆在路口所能触发的事件类型
* 分为 捕获、到达、进入、通过、驶离、丢失
*/
public enum EventType {
// 1、捕获,2、到达,3、进入,4、通过、5、驶离,6、丢失
FIRST, ARRIVED, INCROSS, OUTCROSS, AWAY, LAST
}
package com.zhht.irn.entity.kafka;
import java.util.Date;
import java.util.List;
/**
* 周期数据(信控数据)
* 每个路口的信号控制等每完成一个周期,就发送该周期的信息到实时数据流中。
* 数据结构参考最新的实时数据文档 --> 周期数据(信控)
* 全息路口实时数据文档v1.1 (2022.11.1)》
* https://www.yuque.com/docs/share/9cd59d71-6165-46da-ae43-bc5388149672?#
*
*/
public class CycleInfo {
// ID
private Integer id;
// 路口编号
private String crossCode;
// 信控机编号
private String signalCode;
// 开始模式编码
private String beginControlModelCode;
// 结束模式编码
private String endControlModelCode;
// 开始方案ID
private Integer beginPlanId;
// 结束方案ID
private Integer endPlanId;
// 周期开始时间
private Date beginDateTime;
// 周期结束时间
private Date endDateTime;
// 周期时长,单位 秒
private Double duration;
// 周期顺序
private Integer cycleOrder;
// 相位列表集合
private List<Stage> stageList;
}
class Stage {
// ID
private Integer id;
// 相位值
private String phaseValue;
// 相位开始时间
private Date beginDateTime;
// 相位结束时间
private Date endDateTime;
// 开始模式编码
private String beginControlModelCode;
// 结束模式编码
private String endControlModelCode;
// 开始方案ID
private Integer beginPlanId;
// 结束方案ID
private Integer endPlanId;
// 周期时长,单位 秒
private Integer duration;
// 绿灯时长,单位 秒
private Integer green;
// 黄灯时长,单位 秒
private Integer yellow;
// 全红时长,单位 秒
private Integer allRed;
// 周期顺序
private Integer phaseOrder;
}
package com.zhht.irn.entity.kafka;
import com.zhht.irn.EventType;
import java.util.Date;
/**
* 旅行时间信息
* 车辆在路口旅行过程中,发生 捕获、到达、进入、通过、驶离、丢失这6中类型的事件时发送当前的事件信息
* 数据结构参考最新的实时数据文档 --> 旅行事件信息
* 全息路口实时数据文档v1.1 (2022.11.1)》
* https://www.yuque.com/docs/share/9cd59d71-6165-46da-ae43-bc5388149672?#
*
*/
public class TravelEventInfo {
// ID
private Integer id;
// 路口ID
private String crossId;
// 记录ID
private String recordId;
// 记录时间
private Date recordTime;
// 事件发生时车道ID
private Long eventLineId;
// 事件发生时速度
private Double eventSpeed;
// 事件时间
private Date eventTime;
// 事件类型
private EventType eventType;
// 备注
private String remark;
}
package com.zhht.irn.entity.kafka;
import java.util.Date;
import java.util.List;
/**
* 旅行信息:车辆在路口完成从出现到丢失时的完整过程的记录
* 数据结构参考最新的实时数据文档
* 《全息路口实时数据文档v1.1 (2022.11.1)》 --> 旅行信息
* https://www.yuque.com/docs/share/9cd59d71-6165-46da-ae43-bc5388149672?#
*
* @author 吴延飞
* @date 2022-11-02 09:34:12
*/
public class TravelInfo {
// ID
private Integer id;
// 路口ID
private String crossId;
// 记录ID
private String recordId;
// 记录时间
private Date recordTime;
// 车辆ID
private Long carId;
// 车辆颜色
private String carColor;
// 车牌号码
private String plate;
// 车牌颜色
private String plateColor;
// 车辆类型
private String carType;
// 捕获车道ID
private Long firstLineId;
// 捕获时速度
private Double firstSpeed;
// 捕获时间
private Date firstTime;
// 进入车道ID
private Long inCrossLineId;
// 进入时速度
private Double inSpeed;
// 进入时间
private String inCrossTime;
// 通过车道ID
private long outCrossLineId;
// 通过时速度
private double outSpeed;
// 通过时间
private Date outCrossTime;
// 驶离车道ID
private long awayLineId;
// 驶离时速度
private double awaySpeed;
// 驶离时间
private Date awayTime;
// 丢失车道ID
private long lastLineId;
// 丢失时速度
private double lastSpeed;
// 丢失时间
private Date lastTime;
// 旅行时长,驶离时刻 - 到达时刻, 单位秒
private Double crossingTime;
// 旅行时点位集合
private List<Location> locations;
// 备注
private String remark;
}
class Location {
// 位置的经度
private Double longitude;
// 位置的纬度
private Double latitude;
// 此时的速度
private Double speed;
// 此时的时间
private Date dtTranjectory;
// 此时车辆所处的车道ID
private String lineId;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment