|  |  | 
 |  |  |                     dateMap.put("startTime", slotStartDate); | 
 |  |  |                     dateMap.put("endTime", slotEndDate); | 
 |  |  |                     dateMap.put("batch", mKey); | 
 |  |  |                     dateMap.put("total",mValue.size()); | 
 |  |  |                     timeSlots.add(dateMap); | 
 |  |  |                 }); | 
 |  |  |             }); | 
 |  |  | 
 |  |  |         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) | 
 |  |  | 
 |  |  |         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")); | 
 |  |  |             //加上最低点绝对值 | 
 |  |  | 
 |  |  |         } | 
 |  |  |         //筛选无人机数据,保持每个点之间的距离在2米以上 | 
 |  |  |         datas = filterDatas(datas); | 
 |  |  |         if (datas.size()<2){ | 
 |  |  |             return null; | 
 |  |  |         } | 
 |  |  |         //转换单位 | 
 |  |  |         unitConvert(datas); | 
 |  |  |         return datas; | 
 |  |  | 
 |  |  |         datas.remove(0); | 
 |  |  |         for (HistorySecondUav data : datas) { | 
 |  |  |             Double distance = getDistance(tempData, data); | 
 |  |  |             if (distance==null){ | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |             if (distance > filterDistance) { | 
 |  |  |                 result.add(data); | 
 |  |  |                 tempData = data; | 
 |  |  | 
 |  |  |         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")); |