houzhongjian
2024-10-30 a28ca3f36d0ace05966a8c0fac1e4b5fe921f882
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
package com.netsdk.lib.structure;
 
import com.netsdk.lib.NetSDKLib;
import com.netsdk.lib.enumeration.EM_DETECT_SENSOR_TYPE;
import com.netsdk.lib.enumeration.EM_VEHICLEINOUT_CAR_TYPE;
 
import java.util.Arrays;
 
/**
 * 车辆信息
 *
 * @author : 47040
 * @since : Created in 2020/12/17 11:54
 */
public class NET_VEHICLE_OBJECT extends NetSDKLib.SdkStructure {
    /**
     * 物体ID
     */
    public int nObjectID;
    /**
     * 车速,单位km/h
     */
    public int nSpeed;
    /**
     * 物体类型 Vehicle NonMotor Plate
     */
    public byte[] szObjectType = new byte[16];
    /**
     * 物体类型中的子类别 {@link NetSDKLib.EM_CATEGORY_TYPE}
     */
    public int emSubObject;
    /**
     * 物理车道号
     */
    public int nLane;
    /**
     * 自定义车道号
     */
    public int nRoadwayNumber;
    /**
     * 探测物体的传感器类型 {@link EM_DETECT_SENSOR_TYPE}
     */
    public int emSensorType;
    /**
     * 物体雷达和视频融合ID
     */
    public int nObjectRVID;
    /**
     * 物体的雷达ID
     */
    public int nObjectRID;
    /**
     * 行驶方向"Approach"-上行,即车辆离设备部署点越来越近; "Leave"-下行,即车辆离设备部署点越来越远,第二和第三个参数分别代表上行和下行的两个地点
     */
    public NET_VEHICLE_DRIVING_DIRECTION_INFO[] szDrivingDirection = new NET_VEHICLE_DRIVING_DIRECTION_INFO[3];
    /**
     * 车牌号码
     */
    public byte[] szPlateNumber = new byte[32];
    /**
     * 车牌颜色
     */
    public byte[] szPlateColor = new byte[16];
    /**
     * 车辆经度
     */
    public double dbLongitude;
    /**
     * 车辆纬度
     */
    public double dbLatitude;
    /**
     * 车身颜色
     */
    public byte[] szCarColor = new byte[16];
    /**
     * 车辆类型 {@link EM_VEHICLEINOUT_CAR_TYPE}
     */
    public int emCarType;
    /**
     * 车辆驶入驶出虚拟线圈的状态 {@link NetSDKLib.NET_FLOWSTAT_DIRECTION}
     */
    public int emVirtualCoilDirection;
    /**
     * 距离停车线距离
     */
    public double dbDistanceToStop;
    /**
     * 车辆与所有车道的中心点(中心点在设备所处位置,且垂直于车道方向的直线上),X轴方向(垂直于车道方向)的距离
     */
    public double dbCarX;
    /**
     * 车辆与所有车道的中心点(中心点在设备所处位置,且垂直于车道方向的直线上),Y轴方向(平行于车道方向)的距离
     */
    public double dbCarY;
    /**
     * 车辆与所有车道的中心点(中心点在设备所处位置且垂直于车道方向的直线上)的角度;
     */
    public double dbCarAngle;
    /**
     * 物体是否在视频车道内, 0:未知, 1:物体不在视频车道内, 2:物体在视频车道内
     */
    public  int        nObjectInVideoLane;
    /**
     * 目标物体实际行驶方向 0-未知,1-直行,2-左转,3-右转,4-掉头
     */
    public int                        nDirection;
    /**
     * 目标横向运动速度
     */
    public  float                    fSpeedX;
    /**
     * 目标纵向运动速度
     */
    public float                    fSpeedY;
    /**
     * 航向角
     */
    public double                    dbHeadingAngle;
    /**
     *车身坐标,包围盒0~8191相对坐标
     */
    public  NET_RECT                stuCarBoundingBox=new NET_RECT();
    /**
     * 保留字节
     */
    public byte[] byReserverd = new byte[216];
 
    public NET_VEHICLE_OBJECT() {
        for (int i = 0; i < szDrivingDirection.length; i++) {
            szDrivingDirection[i] = new NET_VEHICLE_DRIVING_DIRECTION_INFO();
        }
    }
 
    @Override
    public String toString() {
        return "NET_VEHICLE_OBJECT{" +
                "nObjectID=" + nObjectID +
                ", nSpeed=" + nSpeed +
                ", szObjectType=" + new String(szObjectType).trim() +
                ", emSubObject=" + emSubObject +
                ", nLane=" + nLane +
                ", nRoadwayNumber=" + nRoadwayNumber +
                ", emSensorType=" + emSensorType +
                ", nObjectRVID=" + nObjectRVID +
                ", nObjectRID=" + nObjectRID +
                ", szDrivingDirection=" + Arrays.toString(szDrivingDirection).trim() +
                ", szPlateNumber=" + new String(szPlateNumber).trim() +
                ", szPlateColor=" + new String(szPlateColor).trim() +
                ", dbLongitude=" + dbLongitude +
                ", dbLatitude=" + dbLatitude +
                ", szCarColor=" + new String(szCarColor).trim() +
                ", emCarType=" + emCarType +
                ", emVirtualCoilDirection=" + emVirtualCoilDirection +
                ", dbDistanceToStop=" + dbDistanceToStop +
                ", dbCarX=" + dbCarX +
                ", dbCarY=" + dbCarY +
                ", dbCarAngle=" + dbCarAngle +
                ", nObjectInVideoLane=" + nObjectInVideoLane +
                ", nDirection=" + nDirection +
                ", fSpeedX=" + fSpeedX +
                ", fSpeedY=" + fSpeedY +
                ", dbHeadingAngle=" + dbHeadingAngle +
                ", stuCarBoundingBox=" + stuCarBoundingBox.toString() +
                '}';
    }
 
}