Commit cdfc3702 authored by p x's avatar p x
Browse files

删除16jinzhi 几西裤

parent 99964718
package com.sixteen.parse.assist_88.dto;
import java.util.List;
/**
* 云端辅助功能信息
* 信号灯
* @author huangml
*
*/
public class TrafficLightDto {
//红绿灯控制方 式 1:固定周期;2:手动控制;3:黄闪控制,4-254: 预留
private short controlMode;
//区域 ID 信号灯作用位置所在区域唯一编号,与路口 ID 一起确定 唯一路口
private int regionId;
//路口 ID 信号灯作用位置在该区域内唯一编号,与区域 ID 一起确 定唯一路口
private int nodeId;
//车辆所在车道 对应信号灯相 位数量
private int numOfLanePhase;
//车辆所在车道 对应信号灯相 位 ID 列表
// private List<Short> lanePhaseIds;
//车辆到前方停 止线距离
private float d2StopLine;
//相位数量
private short phaseNumber;
//信号灯相位状 态
private List<TrafficLightStatusDto> phaseState;
public float getD2StopLine() {
return d2StopLine;
}
public List<TrafficLightStatusDto> getPhaseState() {
return phaseState;
}
}
package com.sixteen.parse.assist_88.dto;
/**
* 信号灯相位状态
* @author huangml
*
*/
public class TrafficLightStatusDto {
//相位编号
private short phaseID;
//当前灯色
private short lightState;
//当前灯色剩余 时间
private short timeLeft;
//下一阶段灯色
private short nextLightState;
//下一阶段灯色 持续时间
private short nextLightTime;
//灯组类型
private short lightType;
public void setLightState(short lightState) {
this.lightState = lightState;
}
public short getLightState() {
return lightState;
}
public short getTimeLeft() {
return timeLeft;
}
public short getNextLightState() {
return nextLightState;
}
}
package com.sixteen.parse.assist_88.vo;
import com.sixteen.parse.annotates.Order;
import com.sixteen.parse.normal.MessageHeadInfo;
/**
* 云端辅助功能信息 8.8
* @author huangml
*
*/
public class AssistMessage {
//报文头
@Order(1)
private MessageHeadInfo messageHeadInfo;
@Order(2)
private AssistMessageBody assistMessageBody;
public AssistMessageBody getAssistMessageBody() {
return assistMessageBody;
}
}
package com.sixteen.parse.assist_88.vo;
import com.sixteen.parse.annotates.DependencyDef;
import com.sixteen.parse.annotates.DynamicsClassDef;
import com.sixteen.parse.annotates.FieldDef;
import com.sixteen.parse.annotates.Order;
/****8.8 云端辅助功能信息及返回**/
public class AssistMessageBody<T> {
//车辆编号
@Order(1)
@FieldDef(type="BYTE",isArray=true,length=8)
private String vehicleId;
//消息标识
@Order(2)
@FieldDef(type="BYTE",isArray=true,length=8)
private long seq;
//辅助功能类别
@Order(3)
private short astFuncType;
//命令长度
@Order(4)
private int dataLen;
//长度为 N 个字节,其中N 为命令长度,数据结构根据功能不同应分别 符合 8.8.6~8.8.11 的要求
@Order(5)
@DynamicsClassDef(classtype="assist")
@DependencyDef(value="astFuncType")
private T infoData;
}
package com.sixteen.parse.assist_88.vo;
public class Cov {
private long cov; // 状态量协方差
public long getCov() {
return cov;
}
public void setCov(long cov) {
this.cov = cov;
}
}
package com.sixteen.parse.assist_88.vo;
import com.sixteen.parse.annotates.Order;
import java.util.List;
/**
* 滤波信息
* @author huangml
*
*/
public class FilterInfo {
@Order(1)
private int dimension; // 状态量协方差矩阵的维度
@Order(2)
private List<Integer> varNIndex; // 状态量所在序号列表
@Order(3)
private List<Cov> covs; // 卡尔曼滤波的更新步骤得到的状态量协方差矩阵
@Order(4)
private List<Cov> covsPred; // 卡尔曼滤波预测步骤得到的状态量协方差矩阵
@Order(5)
private List<Cov> varsPred; // 卡尔曼滤波预测步骤得到的状态量
public int getDimension() {
return dimension;
}
public void setDimension(int dimension) {
this.dimension = dimension;
}
public List<Integer> getVarNIndex() {
return varNIndex;
}
public void setVarNIndex(List<Integer> varNIndex) {
this.varNIndex = varNIndex;
}
public List<Cov> getCovs() {
return covs;
}
public void setCovs(List<Cov> covs) {
this.covs = covs;
}
public List<Cov> getCovsPred() {
return covsPred;
}
public void setCovsPred(List<Cov> covsPred) {
this.covsPred = covsPred;
}
public List<Cov> getVarsPred() {
return varsPred;
}
public void setVarsPred(List<Cov> varsPred) {
this.varsPred = varsPred;
}
}
package com.sixteen.parse.assist_88.vo;
import com.sixteen.parse.annotates.OffsetDef;
import com.sixteen.parse.annotates.Order;
import java.util.List;
/****感知目标物**/
public class Perceptual {
//唯一编号
@Order(1)
private short[] uuid;
//目标编号
@Order(2)
private int objId;
//目标类型
@Order(3)
private short type;
//目标状态
@Order(4)
private short status;
//目标长度 单位:cm
@Order(5)
@OffsetDef(value = 0.01)
private int len;
//目标宽度 单位:cm
@Order(6)
@OffsetDef(value = 0.01)
private int width;
//目标高度 单位:cm
@Order(7)
@OffsetDef(value = 0.01)
private int height;
//经度
@Order(8)
@OffsetDef(value=0.0000001,minValidLength=10)
private long longitude;
//纬度
@Order(9)
@OffsetDef(value=0.00000001,minValidLength=10)
private long latitude;
//东西向距离 单位:cm
@Order(10)
@OffsetDef(value = 0.01)
private long locEast;
//南北向距离 单位:cm
@Order(11)
@OffsetDef(value = 0.01)
private long locNorth;
//位置精度等级
@Order(12)
private short posConfidence;
//高程 单位:dm
@Order(13)
@OffsetDef(value = 0.1)
private long elevation;
//高程精度
@Order(14)
private short elevConfidence;
//速度 ,单位:0.01 m/s
@Order(15)
@OffsetDef(value = 0.036)
private int speed;
//速度精度等级
@Order(16)
private short speedConfidence;
//东西向速度 cm/s
@Order(17)
@OffsetDef(value = 0.0036)
private int speedEast;
//东西向速度精 度等级
@Order(18)
private short speedEastConfidence;
//南北向速度 cm/s,
@Order(19)
@OffsetDef(value = 0.0036)
private int speedNorth;
//南北向速度精 度等级
@Order(20)
private short speedNorthConfidence;
//航向角
@Order(21)
@OffsetDef(value=0.0001,minValidLength=7)
private long heading;
//航向精度等级
@Order(22)
private short headConfidence;
//目标纵向加速 度 单位:0.01m/
@Order(23)
@OffsetDef(value = 0.036)
private int accelVert;
//目标纵向加速 度置精度等级
@Order(24)
private short accelVertConfidence;
//目标跟踪时长 单位:毫秒
@Order(25)
private long trackedTimes;
//目标历史轨迹 数量
@Order(26)
private int histLocNum;
//目标历史轨迹 列表
@Order(27)
private List<TrajectoryInfo> histLocs;
//目标预测轨迹 数量
@Order(28)
private int predLocNum;
//目标预测轨迹 列表
@Order(29)
private List<TrajectoryInfo> predLocs;
//目标所在车道编号
@Order(30)
private short laneId;
//滤波信息的类型
@Order(31)
private short filterInfoType;
//卡尔曼滤波信息
@Order(32)
private List<FilterInfo> filterInfo;
//车牌号字节数
@Order(33)
private short plateNoLen;
//车牌号
@Order(34)
private byte[] plateNo;
//车牌类型
@Order(35)
private short plateType;
//车牌颜色
@Order(36)
private short plateColor;
//车身颜色
@Order(37)
private short vehicleColor;
}
package com.sixteen.parse.assist_88.vo;
import com.sixteen.parse.annotates.Order;
import com.sixteen.parse.annotates.RefNumFlag;
import java.util.List;
/*** CLOUD2VEH_ASTFUNC_RSM 云端下发实时感知信息 11 **/
public class PerceptualInfo {
//数据源
@Order(1)
private short source;
// 感知目标个数
@Order(2)
private int objNum;
//感知目标数据
@Order(3)
@RefNumFlag(value = "objNum")
private List<Perceptual> detectionData;
public List<Perceptual> getDetectionData() {
return detectionData;
}
}
package com.sixteen.parse.assist_88.vo;
import com.sixteen.parse.annotates.OffsetDef;
import com.sixteen.parse.annotates.Order;
import com.sixteen.parse.annotates.RefNumFlag;
import java.util.List;
/**
* 云端下发CLOUD2VEH_ASTFUNC_TLM = 7信号灯数据
* @author huangml
*
*/
public class TrafficLight {
//红绿灯控制方式 1:固定周期;2:手动控制;3:黄闪控制,4-254: 预留
@Order(1)
private short controlMode;
//区域 ID 信号灯作用位置所在区域唯一编号,与路口 ID 一起确定 唯一路口
@Order(2)
private int regionId;
//路口 ID 信号灯作用位置在该区域内唯一编号,与区域 ID 一起确 定唯一路口
@Order(3)
private int nodeId;
//车辆所在车道 对应信号灯相 位数量
@Order(4)
private short numOfLanePhase;
// //车辆所在车道 对应信号灯相 位 ID 列表
// @Order(5)
// @RefNumFlag(value="numOfLanePhase")
// private List<Short> lanePhaseIds;
//车辆到前方停 止线距离
@Order(5)
@OffsetDef(value = 0.01)
private int d2StopLine;
//相位数量
@Order(6)
private short phaseNumber;
//信号灯相位状 态
@Order(7)
@RefNumFlag(value="phaseNumber")
private List<TrafficLightStatus> phaseState;
}
package com.sixteen.parse.assist_88.vo;
import com.sixteen.parse.annotates.Order;
/**
* 信号灯相位状态
* @author huangml
*
*/
public class TrafficLightStatus {
//相位编号
@Order(1)
private short phaseID;
//当前灯色
@Order(2)
private short lightState;
//当前灯色剩余 时间
@Order(3)
private short timeLeft;
//下一阶段灯色
@Order(4)
private short nextLightState;
//下一阶段灯色 持续时间
@Order(5)
private short nextLightTime;
//灯组类型
@Order(6)
private short lightType;
}
package com.sixteen.parse.assist_88.vo;
import com.sixteen.parse.annotates.Order;
import com.sixteen.parse.normal.Position2D;
/**
*
* @author huangml
*
*/
public class TrajectoryInfo {
//位置
@Order(1)
private Position2D position ;
//位置精度等级
@Order(2)
private short posConfidence;
//速度
@Order(3)
private int speed;
//速度精度等级
@Order(4)
private short speedConfidence;
//航向角
@Order(5)
private long heading;
//航向精度等级
@Order(6)
private short headConfidence;
}
package com.sixteen.parse.cloud2veh_advice_85.dto;
import com.sixteen.parse.normal.PositionDto;
import java.util.List;
public class AutoSpeedLimitDto {
//事件唯一标识
private String uuid;
//事件生成时间 戳
private long timestamp;
//告警类型 固定值为 6517
private int alertType;
//告警半径 单位:dm
private float alertRadius;
//路径点数量 告警路径中路径点数量,取值为 0 时,不发送告警路径
private short pointNum;
//告警路径
// @RefNumFlag(value="pointNum")
private List<PositionDto> alertPath;
//车道数量
private short laneNum;
//限速数据
// @RefNumFlag(value="laneNum")
private List<SpeedLimitDto> speedLmt;
public List<SpeedLimitDto> getSpeedLmt() {
return speedLmt;
}
}
package com.sixteen.parse.cloud2veh_advice_85.dto;
import com.sixteen.parse.annotates.Order;
import com.sixteen.parse.annotates.RefNumFlag;
import com.sixteen.parse.normal.Position2DDto;
import java.util.List;
/****
* 局部路径点
* **/
public class PathPathDto {
// // 分段编号长度
// @Order(1)
// private byte pathIdLen; // 服务器给2 我接的1
// //分段编号
// @Order(2)
// @RefNumFlag(value="pathIdLen")
// @FieldDef(type="BYTE",isAutoLength=true)
// private String pathId; // 这里出问题 “11”
//关联 GNSS 点 数量
@Order(1)
private int pointsNum; // 服务器给的4 我1
//关联 GNSS 点 位置
@Order(2)
@RefNumFlag(value="pointsNum")
private List<Position2DDto> pointsPos;
//分段长度
// @Order(5)
// private long pathLen; // 服务器给的
// //分段名称长度
// @Order(6)
// private short pathNameLen; // 服务器给的1
// //分段名称
// @Order(7)
// @RefNumFlag(value="pathNameLen") // 服务器给的1
// @FieldDef(type="BYTE",isAutoLength=true)
// private String pathName;
//0:常规路段(全局路径);1:路口内连接路段,0xFF 表示缺 省 2=路面状况颜色(路径里的红色、施工区域红色、人行道红色) 3=绿色(绿波) 4=感知车前的红色 5=拥堵红色
@Order(3) // 服务器给的
private short pathType;
public int getPointsNum() {
return pointsNum;
}
public List<Position2DDto> getPointsPos() {
return pointsPos;
}
public short getPathType() {
return pathType;
}
}
package com.sixteen.parse.cloud2veh_advice_85.dto
import com.sixteen.parse.normal.PositionDto
/**
* 通用 RSI 预警中交通事件和交通标志信息
*
* @author huangml
*/
class RSISDetailDto {
//事件唯一标识
var uuid: String? = null
//事件生成时间 戳
var timestamp: Long = 0
//交通事件位置 点
var eventPosition: PositionDto? = null
//道路交通事件 信息类型
var eventType: Int = 0
//事件来源
var eventSource: Short = 0
//事件(影响) 半径
var eventRadius = 0f
//关联路段数量
var referenceLinksNum = 0
//关联路段数量
// @Order(8)
// var referenceLinks: RelSetpDto? = null
//优先级
var priority: Short = 0
//交通事件/标 志作用中心线 坐标点
var alertPath: PositionDto? = null
//交通标志/事 件作用中心线 范围半径
var pathRadius = 0f
//事件状态
var status: Short = 0
//自定义内容长度
var userdefinedDataLength = 0
//这里用来拿到人的感知物id
var userdefinedData: String = ""
}
package com.sixteen.parse.cloud2veh_advice_85.dto
/**
* 通用 RSI 预警
* @author huangml
*/
class RSIWarnningDto {
//交通事件和交 通标志信息数 量
var rsisNum: Short = 0
var rsis: RSISDetailDto? = null
}
package com.sixteen.parse.cloud2veh_advice_85.dto;
import com.sixteen.parse.normal.Position2DDto;
import java.util.List;
/**
* 8.5 CLOUD2VEH_ADVICE_GUIDANCE = 19
* 路线规划指令
***/
public class RoutePlanDto {
// 事件唯一标识
private String uuid;
//事件生成时间戳
private long timestamp;
//告警类型 固定值为 6601,用于匹配 RSI
private int alertType;
//路线长度
private long totalLen;
//目的地位置
private Position2DDto destLocation;
//目的地停车航 向角
private double destHeading;
// 路线分段个数
private int pathNum;
//路线规划数据 长度
private int dataLen;
//长度为 N 个字节,其中 N 为路线规划数据长度,路线规划数据结构内
private List<PathPathDto> pathList;
public List<PathPathDto> getPathList() {
return pathList;
}
}
package com.sixteen.parse.cloud2veh_advice_85.dto;
/**
* 限速 信息
* @author huangml
*
*/
public class SpeedLimitDto {
//车道编 号
private short laneId;
//限速值km/h
private short speedLimit;
public short getSpeedLimit() {
return speedLimit;
}
}
package com.sixteen.parse.cloud2veh_advice_85.dto
//8.5云端决策建议信息数据结构
class VehAdviceDto<T> {
//车辆编号
var vehicleId: String? = null
//消息标识
var seq: Long = 0
//建议类型
var adviceType: Short = 0
// 事件分类
var eventType: Short = 0
// 车速建议(用于显示标牌值)
var spdExp: Float = 0f
// 加速度建议
var accExp = 0
// 控车变道建 议转向状态
var instructDirection: Short = 0
// 命令长度
var dataLen = 0
var adviceData: T? = null
}
package com.sixteen.parse.cloud2veh_advice_85.vo;
import com.sixteen.parse.annotates.FieldDef;
import com.sixteen.parse.annotates.OffsetDef;
import com.sixteen.parse.annotates.Order;
import com.sixteen.parse.annotates.RefNumFlag;
import com.sixteen.parse.normal.Position;
import java.util.List;
/**
* 动态车道级限速
* @author huangml
*
*/
public class AutoSpeedLimit {
//事件唯一标识
@Order(1)
@FieldDef(type="BYTE",isArray=true,length=36)
private String uuid;
//事件生成时间 戳
@Order(2)
@FieldDef(type="TIMESTAMP",isArray=false,length=8)
private long timestamp;
//告警类型 固定值为 6517
@Order(3)
private int alertType;
//告警半径 单位:dm
@Order(4)
@OffsetDef(value=0.1)
private int alertRadius;
//路径点数量 告警路径中路径点数量,取值为 0 时,不发送告警路径
@Order(5)
private short pointNum;
//告警路径
@Order(6)
@RefNumFlag(value="pointNum")
private List<Position> alertPath;
//车道数量
@Order(7)
private short laneNum;
//限速数据
@Order(8)
@RefNumFlag(value="laneNum")
private List<SpeedLimit> speedLmt;
}
package com.sixteen.parse.cloud2veh_advice_85.vo;
import com.sixteen.parse.annotates.Order;
import com.sixteen.parse.annotates.RefNumFlag;
import com.sixteen.parse.normal.Position2D;
import java.util.List;
/****
* 局部路径点
* **/
public class PathPath {
//关联 GNSS 点 数量
@Order(1)
private int pointsNum;
//关联 GNSS 点 位置 具体颜色的集合
@Order(2)
@RefNumFlag(value = "pointsNum")
private List<Position2D> pointsPos;
//0:常规路段(全局路径);1:路口内连接路段,0xFF 表示缺 省 2=路面状况颜色(路径里的红色、施工区域红色、人行道红色) 3=绿色(绿波) 4=感知车前的红色 5=拥堵红色
@Order(3)
private short pathType;
}
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