jinpengyong
2022-09-08 20d35519d143a21878201c1ec8b1cb5ee00a10f7
screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java
@@ -184,6 +184,10 @@
        for (HistorySecondUav data : datas) {
            String value = data.getValue();
            Map<String, Object> valueMap = JSON.parseObject(value, Map.class);
            //判断value里面有没有高度
            if (!valueMap.containsKey("flyhig")|| !valueMap.containsKey("flylat")|| !valueMap.containsKey("flylon")){
                continue;
            }
            //获取高度
            Double height = Double.valueOf((String) valueMap.get("flyhig"));
            if (height < lowestHeight)
@@ -194,6 +198,10 @@
        for (HistorySecondUav data : datas) {
            String value = data.getValue();
            Map<String, Object> valueMap = JSON.parseObject(value, Map.class);
            //判断value里面有没有高度
            if (!valueMap.containsKey("flyhig")|| !valueMap.containsKey("flylat")|| !valueMap.containsKey("flylon")){
                continue;
            }
            //获取高度
            Double height = Double.valueOf((String) valueMap.get("flyhig"));
            //加上最低点绝对值
@@ -205,6 +213,9 @@
        }
        //筛选无人机数据,保持每个点之间的距离在2米以上
        datas = filterDatas(datas);
        if (datas.size()<2){
            return null;
        }
        //转换单位
        unitConvert(datas);
        return datas;
@@ -226,6 +237,9 @@
        datas.remove(0);
        for (HistorySecondUav data : datas) {
            Double distance = getDistance(tempData, data);
            if (distance==null){
                continue;
            }
            if (distance > filterDistance) {
                result.add(data);
                tempData = data;
@@ -246,6 +260,11 @@
        String value2 = uav2.getValue();
        Map<String, Object> value1Map = JSON.parseObject(value1, Map.class);
        Map<String, Object> value2Map = JSON.parseObject(value2, Map.class);
        //判断这两个数据里面有没有经纬度
        if (!value1Map.containsKey("flylon")||!value1Map.containsKey("flylat")||!value1Map.containsKey("flyhig")||
                !value2Map.containsKey("flylon")||!value2Map.containsKey("flylat")||!value2Map.containsKey("flyhig")){
            return null;
        }
        //获取数据1的经纬度和高度
        Double longtitude1 = Double.valueOf((String) value1Map.get("flylon"));
        Double latitude1 = Double.valueOf((String) value1Map.get("flylat"));