| | |
| | | package Mqttmessage.Entity; |
| | | |
| | | |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Data; |
| | | import lombok.NoArgsConstructor; |
| | | |
| | | @Data |
| | | @NoArgsConstructor |
| | | @AllArgsConstructor |
| | | public class GPSData{ |
| | | // JSON中的原始字段 |
| | | private String msg_id; // 消息唯一标识 |
| | |
| | | private GGAData ggaData; |
| | | |
| | | /** |
| | | * 默认构造函数 |
| | | */ |
| | | public GPSData() { |
| | | } |
| | | |
| | | /** |
| | | * 全参构造函数 |
| | | */ |
| | | public GPSData(String msg_id, Long timestamp, String device_id, String data_type, |
| | | String gps_raw, IMUData imu_data, StatusInfo status, GGAData ggaData) { |
| | | this.msg_id = msg_id; |
| | | this.timestamp = timestamp; |
| | | this.device_id = device_id; |
| | | this.data_type = data_type; |
| | | this.gps_raw = gps_raw; |
| | | this.imu_data = imu_data; |
| | | this.status = status; |
| | | this.ggaData = ggaData; |
| | | } |
| | | |
| | | /** |
| | | * 获取原始GPS数据 |
| | | * @return 原始GPS数据字符串 |
| | | */ |
| | |
| | | /** |
| | | * IMU数据内部类(简化版,只包含角度信息) |
| | | */ |
| | | @Data |
| | | @NoArgsConstructor |
| | | public static class IMUData { |
| | | private Double roll; // 横滚角 角度 |
| | | private Double pitch; // 俯仰角 角度 |
| | | private Double yaw; // 偏航角 角度 |
| | | |
| | | /** |
| | | * 带参数的构造函数 |
| | | * 默认构造函数 |
| | | */ |
| | | public IMUData() { |
| | | } |
| | | |
| | | /** |
| | | * 全参构造函数 |
| | | * @param roll 横滚角 角度 |
| | | * @param pitch 俯仰角 角度 |
| | | * @param yaw 偏航角 角度 |
| | |
| | | this.pitch = pitch; |
| | | this.yaw = yaw; |
| | | } |
| | | |
| | | public Double getRoll() { |
| | | return roll; |
| | | } |
| | | |
| | | public void setRoll(Double roll) { |
| | | this.roll = roll; |
| | | } |
| | | |
| | | public Double getPitch() { |
| | | return pitch; |
| | | } |
| | | |
| | | public void setPitch(Double pitch) { |
| | | this.pitch = pitch; |
| | | } |
| | | |
| | | public Double getYaw() { |
| | | return yaw; |
| | | } |
| | | |
| | | public void setYaw(Double yaw) { |
| | | this.yaw = yaw; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 状态信息内部类(与StatusData中的StatusInfo保持一致) |
| | | */ |
| | | @Data |
| | | @NoArgsConstructor |
| | | public static class StatusInfo { |
| | | private Integer battery_level; // 电池电量百分比 |
| | | private Double battery_voltage; // 电池电压 |
| | |
| | | private String path_id_saved; // 存储的路径ID |
| | | |
| | | /** |
| | | * 默认构造函数 |
| | | */ |
| | | public StatusInfo() { |
| | | } |
| | | |
| | | /** |
| | | * 带参数的构造函数 |
| | | * @param battery_level 电池电量百分比 |
| | | * @param battery_voltage 电池电压 |
| | |
| | | /** |
| | | * GGA数据解析类(可选,用于存储解析后的GGA数据) |
| | | */ |
| | | @Data |
| | | @NoArgsConstructor |
| | | @AllArgsConstructor |
| | | public static class GGAData { |
| | | private String utcTime; // UTC时间 |
| | | private String latitude; // 纬度(原始度分格式) |
| | |
| | | private String geoidSepUnit;// 大地水准面分离单位 |
| | | private String age; // 差分GPS数据期限 |
| | | private String stationId; // 差分参考基站标号 |
| | | |
| | | /** |
| | | * 默认构造函数 |
| | | */ |
| | | public GGAData() { |
| | | } |
| | | |
| | | /** |
| | | * 全参构造函数 |
| | | */ |
| | | public GGAData(String utcTime, String latitude, String latitudeDir, String longitude, |
| | | String longitudeDir, Integer gpsQuality, Integer satellites, Double hdop, |
| | | Double altitude, String altitudeUnit, Double geoidSep, String geoidSepUnit, |
| | | String age, String stationId) { |
| | | this.utcTime = utcTime; |
| | | this.latitude = latitude; |
| | | this.latitudeDir = latitudeDir; |
| | | this.longitude = longitude; |
| | | this.longitudeDir = longitudeDir; |
| | | this.gpsQuality = gpsQuality; |
| | | this.satellites = satellites; |
| | | this.hdop = hdop; |
| | | this.altitude = altitude; |
| | | this.altitudeUnit = altitudeUnit; |
| | | this.geoidSep = geoidSep; |
| | | this.geoidSepUnit = geoidSepUnit; |
| | | this.age = age; |
| | | this.stationId = stationId; |
| | | } |
| | | |
| | | public String getUtcTime() { |
| | | return utcTime; |
| | | } |
| | | |
| | | public void setUtcTime(String utcTime) { |
| | | this.utcTime = utcTime; |
| | | } |
| | | |
| | | public String getLatitude() { |
| | | return latitude; |
| | | } |
| | | |
| | | public void setLatitude(String latitude) { |
| | | this.latitude = latitude; |
| | | } |
| | | |
| | | public String getLatitudeDir() { |
| | | return latitudeDir; |
| | | } |
| | | |
| | | public void setLatitudeDir(String latitudeDir) { |
| | | this.latitudeDir = latitudeDir; |
| | | } |
| | | |
| | | public String getLongitude() { |
| | | return longitude; |
| | | } |
| | | |
| | | public void setLongitude(String longitude) { |
| | | this.longitude = longitude; |
| | | } |
| | | |
| | | public String getLongitudeDir() { |
| | | return longitudeDir; |
| | | } |
| | | |
| | | public void setLongitudeDir(String longitudeDir) { |
| | | this.longitudeDir = longitudeDir; |
| | | } |
| | | |
| | | public Integer getGpsQuality() { |
| | | return gpsQuality; |
| | | } |
| | | |
| | | public void setGpsQuality(Integer gpsQuality) { |
| | | this.gpsQuality = gpsQuality; |
| | | } |
| | | |
| | | public Integer getSatellites() { |
| | | return satellites; |
| | | } |
| | | |
| | | public void setSatellites(Integer satellites) { |
| | | this.satellites = satellites; |
| | | } |
| | | |
| | | public Double getHdop() { |
| | | return hdop; |
| | | } |
| | | |
| | | public void setHdop(Double hdop) { |
| | | this.hdop = hdop; |
| | | } |
| | | |
| | | public Double getAltitude() { |
| | | return altitude; |
| | | } |
| | | |
| | | public void setAltitude(Double altitude) { |
| | | this.altitude = altitude; |
| | | } |
| | | |
| | | public String getAltitudeUnit() { |
| | | return altitudeUnit; |
| | | } |
| | | |
| | | public void setAltitudeUnit(String altitudeUnit) { |
| | | this.altitudeUnit = altitudeUnit; |
| | | } |
| | | |
| | | public Double getGeoidSep() { |
| | | return geoidSep; |
| | | } |
| | | |
| | | public void setGeoidSep(Double geoidSep) { |
| | | this.geoidSep = geoidSep; |
| | | } |
| | | |
| | | public String getGeoidSepUnit() { |
| | | return geoidSepUnit; |
| | | } |
| | | |
| | | public void setGeoidSepUnit(String geoidSepUnit) { |
| | | this.geoidSepUnit = geoidSepUnit; |
| | | } |
| | | |
| | | public String getAge() { |
| | | return age; |
| | | } |
| | | |
| | | public void setAge(String age) { |
| | | this.age = age; |
| | | } |
| | | |
| | | public String getStationId() { |
| | | return stationId; |
| | | } |
| | | |
| | | public void setStationId(String stationId) { |
| | | this.stationId = stationId; |
| | | } |
| | | } |
| | | |
| | | public String getMsg_id() { |