燕山石化溯源三维电子沙盘-【后端】-服务
1
13693261870
2023-06-16 b546994ced2db809d4efe9a7a338892c4df27e75
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
package com.yssh.entity;
 
import com.yssh.utils.CalculateUtils;
import io.swagger.annotations.ApiModelProperty;
 
import java.text.SimpleDateFormat;
 
/**
 * 报告
 * @author WWW
 * @date 2023-06-18
 */
public class Report {
    @ApiModelProperty(value = "点位名称")
    private String name;
 
    @ApiModelProperty(value = "经度")
    private double lon;
 
    @ApiModelProperty(value = "纬度")
    private double lat;
 
    @ApiModelProperty(value = "数值")
    private double value;
 
    @ApiModelProperty(value = "时间")
    private String time;
 
    @ApiModelProperty(value = "500m范围最大值")
    private double max;
 
    @ApiModelProperty(value = "距离")
    private double dis;
 
    @ApiModelProperty(value = "方向")
    private String dir;
 
    public Report() {
    }
 
    public Report(String name, double lon, double lat, double value, String time, double max, double dis, String dir) {
        this.name = name;
        this.lon = lon;
        this.lat = lat;
        this.value = value;
        this.time = time;
        this.max = max;
        this.dis = dis;
        this.dir = dir;
    }
 
    /**
     * 计算生成报告
     */
    public static Report calcReport(WarningDetail wd, DistanceSuYuan suYuan) {
        String[] sirs = wd.getSuYuanId().split("_");
        int x = Integer.parseInt(sirs[0]);
        int y = Integer.parseInt(sirs[1]);
        double lon = CalculateUtils.getLon(x, y);
        double lat = CalculateUtils.getLat(x, y);
 
        String time = CalculateUtils.getYearMonthDayHour(wd.getCreateTime());
 
        double max = suYuan.getVocsValue();
 
        String[] sirs2=suYuan.getId().split("_");
        int x2 = Integer.parseInt(sirs2[0]);
        int y2 = Integer.parseInt(sirs2[1]);
        double lon2 = CalculateUtils.getLon(x2, y2);
        double lat2 = CalculateUtils.getLat(x2, y2);
 
        double dis = CalculateUtils.getDistance2(lon, lat, lon2, lat2);
        double dis1 = CalculateUtils.getDistance1(lon, lat, lon2, lat2);
        double angle = CalculateUtils.getAngle(lon, lat, lon2, lat2);
 
        String dir = "";
 
        return new Report(wd.getLocationName(), lon, lat, wd.getValue(), time, max, dis, dir);
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public double getLon() {
        return lon;
    }
 
    public void setLon(double lon) {
        this.lon = lon;
    }
 
    public double getLat() {
        return lat;
    }
 
    public void setLat(double lat) {
        this.lat = lat;
    }
 
    public double getValue() {
        return value;
    }
 
    public void setValue(double value) {
        this.value = value;
    }
 
    public String getTime() {
        return time;
    }
 
    public void setTime(String time) {
        this.time = time;
    }
 
    public double getMax() {
        return max;
    }
 
    public void setMax(double max) {
        this.max = max;
    }
 
    public double getDis() {
        return dis;
    }
 
    public void setDis(double dis) {
        this.dis = dis;
    }
 
    public String getDir() {
        return dir;
    }
 
    public void setDir(String dir) {
        this.dir = dir;
    }
}