From 53217a560fecddcf8ff5b7583532f49381b14d80 Mon Sep 17 00:00:00 2001
From: 于紫祥_1901 <email@yuzixiang_1910>
Date: Mon, 24 Aug 2020 08:38:30 +0800
Subject: [PATCH] 风场图update
---
src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 126 ++++++++++++++++++++++++++---------------
1 files changed, 79 insertions(+), 47 deletions(-)
diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
index 52bda83..139edf0 100644
--- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -720,12 +720,10 @@
@Override
public List byMonitorIdGetDeviceAndWind(String id,String time,String tab) {
List<DeviceAndWind> deviceAndWinds=deviceMapper.byMonitorIdGetDeviceAndWind(Integer.parseInt(id),time,tab);
- System.out.println(time);
List loList=new ArrayList();
List laList=new ArrayList();
Double U=0.0;
Double V=0.0;
- log.info(deviceAndWinds.size());
List list=new ArrayList();
for (DeviceAndWind andWind : deviceAndWinds) {
Double lo=andWind.getLongitude();
@@ -869,7 +867,6 @@
List transList= LatLngTransformation.Convert_BD09_To_GCJ02(monitorLa,monitorLo);
Double transLo=(Double) transList.get(0);
Double transLa=(Double) transList.get(1);
-
list.add(jsonArray);
list.add(transLo);
list.add(transLa);
@@ -879,25 +876,63 @@
@Override
public List byMonitorIdGetDeviceAndWindSpecial(String id, String time, String tab) {
- List<DeviceAndWind> deviceAndWinds=deviceMapper.byMonitorIdGetDeviceAndWind(Integer.parseInt(id),time,tab);
+
+ MonitorPoint monitorPoint=monitorPointMapper.byIdGetMonitorPoint(Integer.parseInt(id));
+ Integer areaCode=monitorPoint.getAreaCode();
+ String townCode= monitorPoint.getTownCode()+"";
+ Map<String, Object> parm=new HashMap<>();
+ List<DeviceAndWind> deviceAndWinds=new ArrayList<>();
+ Double loma= 0.0;
+ Double lomi= 0.0;
+ Double lama= 0.0;
+ Double lami= 0.0;
+
+ int length=1;
+ int perdlen=1;
+ if (areaCode==320581){
+ parm.put("areaCode",areaCode);
+ List<Device> deviceList=deviceMapper.getDeviceByCode(parm);
+ for (Device d : deviceList) {
+ String mac=d.getMac();
+ DeviceAndWind deviceAndWind = deviceMapper.byMacGetDeviceAndWind(mac,time,tab);
+ if (deviceAndWind!=null){
+ deviceAndWinds.add(deviceAndWind);
+ }
+ }
+ length=8000;
+ perdlen=2200;
+ }else if ((areaCode == 320583) && (townCode.equals("320583108000"))){
+ parm.put("townCode",townCode);
+ List<Device> deviceList=deviceMapper.getDeviceByCode(parm);
+ for (Device d : deviceList) {
+ String mac=d.getMac();
+ DeviceAndWind deviceAndWind = deviceMapper.byMacGetDeviceAndWind(mac,time,tab);
+ if (deviceAndWind!=null){
+ deviceAndWinds.add(deviceAndWind);
+ }
+ }
+ length=2000;
+ perdlen=280;
+ }else {
+ deviceAndWinds=deviceMapper.byMonitorIdGetDeviceAndWind(Integer.parseInt(id),time,tab);
+ length=2000;
+ perdlen=80;
+ }
List loList=new ArrayList();
List laList=new ArrayList();
Double U=0.0;
Double V=0.0;
List list=new ArrayList();
for (DeviceAndWind andWind : deviceAndWinds) {
- Double lo=andWind.getLongitude();
- Double la=andWind.getLatitude();
- List tranlist= LatLngTransformation.Convert_BD09_To_GCJ02(la,lo);
- Double transLo=(Double) tranlist.get(0);
- Double transLa=(Double) tranlist.get(1);
- loList.add(transLo);
- laList.add(transLa);
+ Double lo=andWind.getLongitude();
+ Double la=andWind.getLatitude();
+ List tranlist= LatLngTransformation.Convert_BD09_To_GCJ02(la,lo);
+ Double transLo=(Double) tranlist.get(0);
+ Double transLa=(Double) tranlist.get(1);
+ loList.add(transLo);
+ laList.add(transLa);
}
- Double loma= 0.0;
- Double lomi= 0.0;
- Double lama= 0.0;
- Double lami= 0.0;
+
if (loList.size()>0){
loma= (Double) Collections.max(loList);
lomi= (Double) Collections.min(loList);
@@ -912,17 +947,15 @@
laLaMap.put("maxLa",lama);
laLaMap.put("minLa",lami);
- Double lo1=lomi-2000*0.00001141;
- Double lo2=loma+2000*0.00001141;
- Double la2=lami-2000*0.00000899;
- Double la1=lama+2000*0.00000899;
+ Double lo1=lomi-length*0.00001141;
+ Double lo2=loma+length*0.00001141;
+ Double la2=lami-length*0.00000899;
+ Double la1=lama+length*0.00000899;
- Double dx=0.00001141*70;
- Double dy=0.00000899*70;
-
+ Double dx=0.00001141*perdlen;
+ Double dy=0.00000899*perdlen;
int nx=(int) Math.floor((lo2-lo1)/dx);
int ny=(int) Math.floor((la1-la2)/dy);
- System.out.println(nx+"----"+ny);
String header1 = "\"" + "header" + "\"" + ": " + "{" + "\"" + "parameterUnit" + "\"" + ": " + "\"" + "m/s" + "\"" + ", " + "\"" + "parameterNumber" + "\"" + ": " + 2 +
", " + "\"" + "dx" + "\"" + ": " + dx + ", " + "\"" + "dy" + "\"" + ": " + dy +
", " + "\"" + "parameterNumberName" + "\"" + ": " + "\"" + "eastward_wind" + "\"" + ", " + "\"" + "la1" + "\"" + ": " + la1 + ", " + "\"" + "la2" + "\"" + ": " + la2 +
@@ -942,31 +975,30 @@
List<Map> mapList=new ArrayList<Map>();
for (int j = 0; j <deviceAndWinds.size() ; j++) {
- Map<String,Double> map=new HashMap<String,Double> ();
- Double windDir= deviceAndWinds.get(j).getWindDir();
+ Map<String,Double> map=new HashMap<String,Double> ();
+ Double windDir= deviceAndWinds.get(j).getWindDir();
+ Double windSpeed=deviceAndWinds.get(j).getWindSpeed();
+ if (windDir==null){
+ windDir=0.0;
+ windSpeed=0.0;
+ }
+ Double tvoc=deviceAndWinds.get(j).getTVoc();
- Double windSpeed=deviceAndWinds.get(j).getWindSpeed();
- if (windDir==null){
- windDir=0.0;
- windSpeed=0.0;
- }
- Double tvoc=deviceAndWinds.get(j).getTVoc();
+ List tranlist= LatLngTransformation.Convert_BD09_To_GCJ02(deviceAndWinds.get(j).getLatitude(),deviceAndWinds.get(j).getLongitude());
+ Double transLo=(Double) tranlist.get(0);
+ Double transLa=(Double) tranlist.get(1);
+ if (tvoc==null){
+ tvoc=0.0;
+ }
+ Double dir = (270.0 - windDir * Math.PI / 180.0);
- List tranlist= LatLngTransformation.Convert_BD09_To_GCJ02(deviceAndWinds.get(j).getLatitude(),deviceAndWinds.get(j).getLongitude());
- Double transLo=(Double) tranlist.get(0);
- Double transLa=(Double) tranlist.get(1);
- if (tvoc==null){
- tvoc=0.0;
- }
- Double dir = (270.0 - windDir * Math.PI / 180.0);
-
- U = windSpeed * Math.cos(dir);
- V = windSpeed * Math.sin(dir);
- map.put("lo",transLo);
- map.put("la",transLa);
- map.put("U",U);
- map.put("V",V);
- mapList.add(map);
+ U = windSpeed * Math.cos(dir);
+ V = windSpeed * Math.sin(dir);
+ map.put("lo",transLo);
+ map.put("la",transLa);
+ map.put("U",U);
+ map.put("V",V);
+ mapList.add(map);
}
for (int i = 0; i <mapList.size() ; i++) {
Double lo= (Double) mapList.get(i).get("lo");
@@ -1023,7 +1055,7 @@
String vData = "\"" + "data" + "\"" + ": " + vList;
String s1 = "[" + "{" + header1 + ", " + uData + "}" + ", " + "{" + header2 + ", " + vData + "}" + "]";
JSONArray jsonArray = JSONArray.parseArray(s1);
- MonitorPoint monitorPoint=monitorPointMapper.byIdGetMonitorPoint(Integer.parseInt(id));
+
Double monitorLo=monitorPoint.getLongitude();
Double monitorLa=monitorPoint.getLatitude();
List transList= LatLngTransformation.Convert_BD09_To_GCJ02(monitorLa,monitorLo);
--
Gitblit v1.8.0