张世豪
15 小时以前 2eea735fd4ddf0ae047687780271ef3962d256cc
src/Mqttmessage/Util/DeviceMessageParser.java
@@ -50,68 +50,7 @@
        return objectMapper.readValue(jsonStr, ResponseData.class);
    }
    /**
     * 解析GGA格式的GPS数据(可选功能)
     * @param ggaString GGA格式字符串
     * @return GGAData对象
     */
    /*public static GPSData.GGAData parseGGA(String ggaString) {
        // 移除可能的校验和部分
        String cleanString = ggaString.split("\\*")[0];
        String[] fields = cleanString.split(",");
        if (fields.length < 15) {
            return null;
        }
        GPSData.GGAData ggaData = new GPSData.GGAData();
        try {
            ggaData.setUtcTime(fields[1]);
            ggaData.setLatitude(fields[2]);
            ggaData.setLatitudeDir(fields[3]);
            ggaData.setLongitude(fields[4]);
            ggaData.setLongitudeDir(fields[5]);
            if (!fields[6].isEmpty()) {
                ggaData.setGpsQuality(Integer.parseInt(fields[6]));
            }
            if (!fields[7].isEmpty()) {
                ggaData.setSatellites(Integer.parseInt(fields[7]));
            }
            if (!fields[8].isEmpty()) {
                ggaData.setHdop(Double.parseDouble(fields[8]));
            }
            if (!fields[9].isEmpty()) {
                ggaData.setAltitude(Double.parseDouble(fields[9]));
            }
            ggaData.setAltitudeUnit(fields[10]);
            if (!fields[11].isEmpty()) {
                ggaData.setGeoidSep(Double.parseDouble(fields[11]));
            }
            ggaData.setGeoidSepUnit(fields[12]);
            if (fields.length > 13) {
                ggaData.setAge(fields[13]);
            }
            if (fields.length > 14) {
                ggaData.setStationId(fields[14]);
            }
        } catch (Exception e) {
            // 解析异常,返回部分解析的数据或null
            System.err.println("解析GGA数据时出错: " + e.getMessage());
        }
        return ggaData;
    }*/
    /**
     * 将消息对象转换为JSON字符串