lizijie
2021-12-10 0359860dbc5de19f3d099ff549af0b4c48a08221
screen-api/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java
@@ -3,14 +3,12 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.config.mybatis.MybatisPlusConfig;
import com.moral.api.entity.Device;
import com.moral.api.entity.HistoryFiveMinutely;
import com.moral.api.entity.HistoryHourly;
import com.moral.api.entity.Organization;
import com.moral.api.entity.*;
import com.moral.api.mapper.DeviceMapper;
import com.moral.api.mapper.HistoryHourlyMapper;
import com.moral.api.service.HistoryHourlyService;
import com.moral.api.service.OrganizationService;
import com.moral.api.utils.GetCenterPointFromListOfCoordinates;
import com.moral.constant.Constants;
import com.moral.constant.SeparateTableType;
import com.moral.pojo.AQI;
@@ -135,8 +133,8 @@
            JSONObject value = JSONObject.parseObject(historyHourlyData.get("value").toString());
            double num = Double.parseDouble(value.get(parameters.get("sensor_code")).toString());
            int level = PollutantUtils.pollutantLevel(num, (parameters.get("sensor_code")).toString());
            list1.add(latitude);
            list1.add(longitude);
            list1.add(latitude);
            list1.add(level);
            list.add(list1);
        }
@@ -145,24 +143,41 @@
        double latitudeMax = Collections.max(latitudeList)+0.0018;
        double longitudeMin = Collections.min(longitudeList)-0.2/(111*Math.cos(latitudeMin));
        double longitudeMax = Collections.max(longitudeList)+0.2/(111*Math.cos(latitudeMin));
        List<Object> bound = new ArrayList<>();
        List<Object> left_up = new ArrayList<>();
        List<Double> bound = new ArrayList<>();
        bound.add(latitudeMax);
        bound.add(longitudeMax);
        bound.add(latitudeMin);
        bound.add(longitudeMin);
        resultMap.put("bound",bound);
        List<List> bound1 = new ArrayList<>();
        List<Double> left_up = new ArrayList<>();
        left_up.add(latitudeMax);
        left_up.add(longitudeMin);
        List<Object> right_up = new ArrayList<>();
        List<Double> right_up = new ArrayList<>();
        right_up.add(latitudeMax);
        right_up.add(longitudeMax);
        List<Object> left_down = new ArrayList<>();
        List<Double> left_down = new ArrayList<>();
        left_down.add(latitudeMin);
        left_down.add(longitudeMin);
        List<Object> right_down = new ArrayList<>();
        List<Double> right_down = new ArrayList<>();
        right_down.add(latitudeMin);
        right_down.add(longitudeMax);
        bound.add(left_up);
        bound.add(right_up);
        bound.add(right_down);
        bound.add(left_down);
        resultMap.put("bound",bound);
        bound1.add(left_up);
        bound1.add(right_up);
        bound1.add(right_down);
        bound1.add(left_down);
        List<GeoCoordinate> geoCoordinates = new ArrayList<>();
        for (List bo:bound1) {
            GeoCoordinate g = new GeoCoordinate();
            g.setLatitude(Double.parseDouble(bo.get(0).toString()));
            g.setLongitude(Double.parseDouble(bo.get(1).toString()));
            geoCoordinates.add(g);
        }
        GeoCoordinate centerPoint400 = GetCenterPointFromListOfCoordinates.getCenterPoint400(geoCoordinates);
        List centerPoint = new ArrayList();
        centerPoint.add(centerPoint400.getLongitude());
        centerPoint.add(centerPoint400.getLatitude());
        resultMap.put("centerPoint",centerPoint);
        return resultMap;
    }