黄洋 2 år sedan
förälder
incheckning
35c00b9d1a

+ 35 - 28
tongfei_river_data_collection/src/main/java/com/ublinkage/datacollection/service/QxybDataCollectionTask.java

@@ -3,6 +3,7 @@ package com.ublinkage.datacollection.service;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.io.file.PathUtil;
 import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.ublinkage.datacollection.entity.PublishInfo;
@@ -12,6 +13,8 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 
+import java.io.File;
+import java.nio.file.Path;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.Date;
@@ -117,7 +120,7 @@ public class QxybDataCollectionTask implements InitializingBean {
             //1小时的数据
             try {
                 for (PublishInfo publishInfo : publishList) {
-                    String result = HttpUtil.get("http://111.198.2.202:6657/getForePrecipData?publishDT=" + publishInfo.getPublishDT() + "&divisionCode=" + divisionCode + "&hour=" + hour + "&ensemble=" + ensemble);
+                    String result = HttpUtil.get("http://111.198.2.202:6657/getForePrecipData?publishDT=" + publishInfo.getPublishDT() + "&divisionCode=" + divisionCode + "&hour=" + hour + "&ensemble=" + ensemble + "&foreTime=" + 240);
                     FileUtil.writeUtf8String(result, downloadFilePath + "FRD," + publishInfo.getPublishDT() + "," + divisionCode + "," + hour + "," + ensemble + "," + System.currentTimeMillis() + ".json");
                 }
             } catch (Exception e) {
@@ -128,7 +131,7 @@ public class QxybDataCollectionTask implements InitializingBean {
                 //24小时的数据
                 hour = 24;
                 for (PublishInfo publishInfo : publishList) {
-                    String result = HttpUtil.get("http://111.198.2.202:6657/getForePrecipData?publishDT=" + publishInfo.getPublishDT() + "&divisionCode=" + divisionCode + "&hour=" + hour + "&ensemble=" + ensemble);
+                    String result = HttpUtil.get("http://111.198.2.202:6657/getForePrecipData?publishDT=" + publishInfo.getPublishDT() + "&divisionCode=" + divisionCode + "&hour=" + hour + "&ensemble=" + ensemble + "&foreTime=" + 240);
                     FileUtil.writeUtf8String(result, downloadFilePath + "FRD," + publishInfo.getPublishDT() + "," + divisionCode + "," + hour + "," + ensemble + "," + System.currentTimeMillis() + ".json");
                 }
             } catch (Exception e) {
@@ -156,7 +159,7 @@ public class QxybDataCollectionTask implements InitializingBean {
             List<PublishInfo> publishList = json.getJSONArray("data").toJavaList(PublishInfo.class);
             try {
                 for (PublishInfo publishInfo : publishList) {
-                    String result = HttpUtil.get("http://111.198.2.202:6657/getForePrecipData?publishDT=" + publishInfo.getPublishDT() + "&divisionCode=" + divisionCode + "&hour=" + hour + "&ensemble=" + ensemble);
+                    String result = HttpUtil.get("http://111.198.2.202:6657/getForePrecipData?publishDT=" + publishInfo.getPublishDT() + "&divisionCode=" + divisionCode + "&hour=" + hour + "&ensemble=" + ensemble + "&foreTime=" + 240);
                     FileUtil.writeUtf8String(result, downloadFilePath + "FRD," + publishInfo.getPublishDT() + "," + divisionCode + "," + hour + "," + ensemble + "," + System.currentTimeMillis() + ".json");
                 }
             } catch (Exception e) {
@@ -165,7 +168,7 @@ public class QxybDataCollectionTask implements InitializingBean {
             try {
                 hour = 24;
                 for (PublishInfo publishInfo : publishList) {
-                    String result = HttpUtil.get("http://111.198.2.202:6657/getForePrecipData?publishDT=" + publishInfo.getPublishDT() + "&divisionCode=" + divisionCode + "&hour=" + hour + "&ensemble=" + ensemble);
+                    String result = HttpUtil.get("http://111.198.2.202:6657/getForePrecipData?publishDT=" + publishInfo.getPublishDT() + "&divisionCode=" + divisionCode + "&hour=" + hour + "&ensemble=" + ensemble + "&foreTime=" + 240);
                     FileUtil.writeUtf8String(result, downloadFilePath + "FRD," + publishInfo.getPublishDT() + "," + divisionCode + "," + hour + "," + ensemble + "," + System.currentTimeMillis() + ".json");
                 }
             } catch (Exception e) {
@@ -193,7 +196,7 @@ public class QxybDataCollectionTask implements InitializingBean {
             //降雨数据
             try {
                 for (PublishInfo publishInfo : publishList) {
-                    String result = HttpUtil.get("http://111.198.2.202:6657/getForePrecipData?publishDT=" + publishInfo.getPublishDT() + "&divisionCode=" + divisionCode + "&hour=" + hour + "&ensemble=" + ensemble);
+                    String result = HttpUtil.get("http://111.198.2.202:6657/getForePrecipData?publishDT=" + publishInfo.getPublishDT() + "&divisionCode=" + divisionCode + "&hour=" + hour + "&ensemble=" + ensemble + "&foreTime=" + 240);
                     FileUtil.writeUtf8String(result, downloadFilePath + "DomainRain," + publishInfo.getPublishDT() + "," + divisionCode + "," + hour + "," + ensemble + "," + System.currentTimeMillis() + ".json");
                 }
             } catch (Exception e) {
@@ -202,7 +205,7 @@ public class QxybDataCollectionTask implements InitializingBean {
             try {
                 //温度
                 for (PublishInfo publishInfo : publishList) {
-                    String result = HttpUtil.get("http://111.198.2.202:6657/getT_Forecast_24h_avg_division?divisionCode=" + divisionCode + "&ensemble=" + ensemble + "&publishDT=" + publishInfo.getPublishDT());
+                    String result = HttpUtil.get("http://111.198.2.202:6657/getT_Forecast_24h_avg_division?divisionCode=" + divisionCode + "&ensemble=" + ensemble + "&publishDT=" + publishInfo.getPublishDT() + "&foreTime=" + 240);
                     FileUtil.writeUtf8String(result, downloadFilePath + "DomainTemp," + publishInfo.getPublishDT() + "," + divisionCode + "," + hour + "," + ensemble + "," + System.currentTimeMillis() + ".json");
                 }
             } catch (Exception e) {
@@ -212,30 +215,34 @@ public class QxybDataCollectionTask implements InitializingBean {
             String yyyyMMdd = DateUtil.format(new Date(), "yyyyMMdd");
             try {
                 List<String> cdNewList = new LinkedList<>();
-                List<String> cdlist = FileUtil.readUtf8Lines(snowCdFile);
-                cdNewList.add(cdlist.get(cdlist.size() - 7));
-                cdNewList.add(cdlist.get(cdlist.size() - 6));
-                cdNewList.add(cdlist.get(cdlist.size() - 5));
-                cdNewList.add(cdlist.get(cdlist.size() - 4));
-                cdNewList.add(cdlist.get(cdlist.size() - 3));
-                cdNewList.add(cdlist.get(cdlist.size() - 2));
-                cdNewList.add(cdlist.get(cdlist.size() - 1));
-
-                FileUtil.writeUtf8Lines(cdNewList, downloadFilePath + "DomainSnow,cd," + yyyyMMdd + "_12_192," + ensemble + "," + System.currentTimeMillis() + ".txt");
+                if (new File(snowCdFile).exists()) {
+                    List<String> cdlist = FileUtil.readUtf8Lines(snowCdFile);
+                    cdNewList.add(cdlist.get(cdlist.size() - 7));
+                    cdNewList.add(cdlist.get(cdlist.size() - 6));
+                    cdNewList.add(cdlist.get(cdlist.size() - 5));
+                    cdNewList.add(cdlist.get(cdlist.size() - 4));
+                    cdNewList.add(cdlist.get(cdlist.size() - 3));
+                    cdNewList.add(cdlist.get(cdlist.size() - 2));
+                    cdNewList.add(cdlist.get(cdlist.size() - 1));
+
+                    FileUtil.writeUtf8Lines(cdNewList, downloadFilePath + "DomainSnow,cd," + yyyyMMdd + "_12_192," + ensemble + "," + System.currentTimeMillis() + ".txt");
+                }
             } catch (Exception e) {
                 log.error("e:{}", e.getMessage());
             }
             try {
-                List<String> qzkNewList = new LinkedList<>();
-                List<String> qzkList = FileUtil.readUtf8Lines(snowQzkFile);
-                qzkNewList.add(qzkList.get(qzkList.size() - 7));
-                qzkNewList.add(qzkList.get(qzkList.size() - 6));
-                qzkNewList.add(qzkList.get(qzkList.size() - 5));
-                qzkNewList.add(qzkList.get(qzkList.size() - 4));
-                qzkNewList.add(qzkList.get(qzkList.size() - 3));
-                qzkNewList.add(qzkList.get(qzkList.size() - 2));
-                qzkNewList.add(qzkList.get(qzkList.size() - 1));
-                FileUtil.writeUtf8Lines(qzkNewList, downloadFilePath + "DomainSnow,qzk," + yyyyMMdd + "_12_192," + ensemble + "," + System.currentTimeMillis() + ".txt");
+                if (new File(snowQzkFile).exists()) {
+                    List<String> qzkNewList = new LinkedList<>();
+                    List<String> qzkList = FileUtil.readUtf8Lines(snowQzkFile);
+                    qzkNewList.add(qzkList.get(qzkList.size() - 7));
+                    qzkNewList.add(qzkList.get(qzkList.size() - 6));
+                    qzkNewList.add(qzkList.get(qzkList.size() - 5));
+                    qzkNewList.add(qzkList.get(qzkList.size() - 4));
+                    qzkNewList.add(qzkList.get(qzkList.size() - 3));
+                    qzkNewList.add(qzkList.get(qzkList.size() - 2));
+                    qzkNewList.add(qzkList.get(qzkList.size() - 1));
+                    FileUtil.writeUtf8Lines(qzkNewList, downloadFilePath + "DomainSnow,qzk," + yyyyMMdd + "_12_192," + ensemble + "," + System.currentTimeMillis() + ".txt");
+                }
             } catch (Exception e) {
                 log.error("e:{}", e.getMessage());
             }
@@ -260,7 +267,7 @@ public class QxybDataCollectionTask implements InitializingBean {
             try {
                 for (PublishInfo publishInfo : publishList) {
                     int hour = 1;
-                    String getForeTempUrl = "http://111.198.2.202:6657/getForeTempData?publishDT=" + publishInfo.getPublishDT() + "&RDField=" + RDField + "&ensemble=" + ensemble;
+                    String getForeTempUrl = "http://111.198.2.202:6657/getForeTempData?publishDT=" + publishInfo.getPublishDT() + "&RDField=" + RDField + "&ensemble=" + ensemble + "&foreTime=" + 240;
                     log.info("下载温度站点数据请求地址:{}", getForeTempUrl);
                     String result = HttpUtil.get(getForeTempUrl);
                     FileUtil.writeUtf8String(result, downloadFilePath + "TempSiteData," + publishInfo.getPublishDT() + "," + hour + "," + ensemble + "," + System.currentTimeMillis() + ".json");
@@ -309,7 +316,7 @@ public class QxybDataCollectionTask implements InitializingBean {
                     log.error("e:{}", e.getMessage());
                 }
                 try {
-                    LocalDateTime st24=LocalDateTime.of(publishTime.getYear(), publishTime.getMonthValue(), publishTime.getDayOfMonth(), 0, 0, 0).plusDays(1);
+                    LocalDateTime st24 = LocalDateTime.of(publishTime.getYear(), publishTime.getMonthValue(), publishTime.getDayOfMonth(), 0, 0, 0).plusDays(1);
                     //24小时雨量
                     for (int i = 0; i <= duration / 24; i++) {
                         int hour = 24;

+ 29 - 33
tongfei_river_data_collection/src/main/java/com/ublinkage/datacollection/service/SatelliteRadarImageCollectionTask.java

@@ -30,7 +30,7 @@ public class SatelliteRadarImageCollectionTask {
     /**
      * 50分钟一次
      */
-    @Scheduled(cron = "0 0/1 * * * ? ")
+    @Scheduled(cron = "0 0/50 * * * ? ")
     public void download1() {
         if (ybFixedTime) {
             return;
@@ -55,21 +55,20 @@ public class SatelliteRadarImageCollectionTask {
             HYS.add(e.get(0));
             for (int i = 0; i < HYS.size(); i++) {
                 Elements a = HYS.get(i).getElementsByAttribute("data-img");
-                String b = a.attr("data-img");
-                System.out.println(b);
-                String[] timeStrList = b.split("_");
+                String imgUrl = a.attr("data-img");
+                System.out.println("imgUrl:" + imgUrl);
+                String[] timeStrList = imgUrl.split("_");
                 String timeStr = timeStrList[timeStrList.length - 1];
-                System.out.println(timeStr);
-                String dtr = timeStr.substring(0, 10);
-                System.out.println(dtr);
+                String dtr = timeStr.substring(0, 12);
                 String yearPlist = dtr.substring(0, 4);
                 String monthPlist = dtr.substring(4, 6);
                 String dayPlist = dtr.substring(6, 8);
                 String timePlist = dtr.substring(8, 10);
-                String fileName = "IMAGE,fyhw," + yearPlist + "_" + monthPlist + "_" + dayPlist + "_" + timePlist + "_00_00.JPG";
+                String minutePlist = dtr.substring(10, 12);
+                String fileName = "IMAGE,fyhw," + yearPlist + "_" + monthPlist + "_" + dayPlist + "_" + timePlist + "_" + minutePlist + "_00.JPG";
                 System.out.println(fileName);
                 String saveFile = downloadFilePath + fileName;
-                downloadPicture(b, saveFile);
+                downloadPicture(imgUrl, saveFile);
             }
         } catch (IOException e) {
             e.printStackTrace();
@@ -89,21 +88,20 @@ public class SatelliteRadarImageCollectionTask {
             HYS.add(e.get(0));
             for (int i = 0; i < HYS.size(); i++) {
                 Elements a = HYS.get(i).getElementsByAttribute("data-img");
-                String b = a.attr("data-img");
-                System.out.println(b);
-                String[] timeStrList = b.split("_");
+                String imgUrl = a.attr("data-img");
+                System.out.println("imgUrl:" + imgUrl);
+                String[] timeStrList = imgUrl.split("_");
                 String timeStr = timeStrList[timeStrList.length - 1];
-                System.out.println(timeStr);
-                String dtr = timeStr.substring(0, 10);
-                System.out.println(dtr);
+                String dtr = timeStr.substring(0, 12);
                 String yearPlist = dtr.substring(0, 4);
                 String monthPlist = dtr.substring(4, 6);
                 String dayPlist = dtr.substring(6, 8);
                 String timePlist = dtr.substring(8, 10);
-                String fileName = "IMAGE,fysq," + yearPlist + "_" + monthPlist + "_" + dayPlist + "_" + timePlist + "_00_00.JPG";
+                String minutePlist = dtr.substring(10, 12);
+                String fileName = "IMAGE,fysq," + yearPlist + "_" + monthPlist + "_" + dayPlist + "_" + timePlist + "_" + minutePlist + "_00.JPG";
                 System.out.println(fileName);
                 String saveFile = downloadFilePath + fileName;
-                downloadPicture(b, saveFile);
+                downloadPicture(imgUrl, saveFile);
             }
         } catch (IOException e) {
             e.printStackTrace();
@@ -123,21 +121,20 @@ public class SatelliteRadarImageCollectionTask {
             HYS.add(e.get(0));
             for (int i = 0; i < HYS.size(); i++) {
                 Elements a = HYS.get(i).getElementsByAttribute("data-img");
-                String b = a.attr("data-img");
-                System.out.println(b);
-                String[] timeStrList = b.split("_");
+                String imgUrl = a.attr("data-img");
+                System.out.println("imgUrl:" + imgUrl);
+                String[] timeStrList = imgUrl.split("_");
                 String timeStr = timeStrList[timeStrList.length - 1];
-                System.out.println(timeStr);
-                String dtr = timeStr.substring(0, 10);
-                System.out.println(dtr);
+                String dtr = timeStr.substring(0, 12);
                 String yearPlist = dtr.substring(0, 4);
                 String monthPlist = dtr.substring(4, 6);
                 String dayPlist = dtr.substring(6, 8);
                 String timePlist = dtr.substring(8, 10);
-                String fileName = "IMAGE,fy2g," + yearPlist + "_" + monthPlist + "_" + dayPlist + "_" + timePlist + "_00_00.JPG";
+                String minutePlist = dtr.substring(10, 12);
+                String fileName = "IMAGE,fy2g," + yearPlist + "_" + monthPlist + "_" + dayPlist + "_" + timePlist + "_" + minutePlist + "_00.JPG";
                 System.out.println(fileName);
                 String saveFile = downloadFilePath + fileName;
-                downloadPicture(b, saveFile);
+                downloadPicture(imgUrl, saveFile);
             }
         } catch (IOException e) {
             e.printStackTrace();
@@ -157,21 +154,20 @@ public class SatelliteRadarImageCollectionTask {
             HYS.add(e.get(0));
             for (int i = 0; i < HYS.size(); i++) {
                 Elements a = HYS.get(i).getElementsByAttribute("data-img");
-                String b = a.attr("data-img");
-                System.out.println(b);
-                String[] timeStrList = b.split("_");
+                String imgUrl = a.attr("data-img");
+                System.out.println("imgUrl:" + imgUrl);
+                String[] timeStrList = imgUrl.split("_");
                 String timeStr = timeStrList[timeStrList.length - 1];
-                System.out.println(timeStr);
-                String dtr = timeStr.substring(0, 10);
-                System.out.println(dtr);
+                String dtr = timeStr.substring(0, 12);
                 String yearPlist = dtr.substring(0, 4);
                 String monthPlist = dtr.substring(4, 6);
                 String dayPlist = dtr.substring(6, 8);
                 String timePlist = dtr.substring(8, 10);
-                String fileName = "IMAGE,ldpt," + yearPlist + "_" + monthPlist + "_" + dayPlist + "_" + timePlist + "_00_00.JPG";
+                String minutePlist = dtr.substring(10, 12);
+                String fileName = "IMAGE,ldpt," + yearPlist + "_" + monthPlist + "_" + dayPlist + "_" + timePlist + "_" + minutePlist + "_00.JPG";
                 System.out.println(fileName);
                 String saveFile = downloadFilePath + fileName;
-                downloadPicture(b, saveFile);
+                downloadPicture(imgUrl, saveFile);
             }
         } catch (IOException e) {
             e.printStackTrace();

+ 3 - 3
tongfei_river_data_collection/src/main/resources/application.properties

@@ -1,10 +1,10 @@
 server.port=9001
 
 #昌都和曲孜卡的融雪路径
-snow.cd.file=/Users/ocean/Downloads/demo/SnowCoverPrediction/cd/predict.csv
-snow.qzk.file=/Users/ocean/Downloads/demo/SnowCoverPrediction/qzk/predict.csv
+snow.cd.file=/usr/local/LCJ/SnowCoverPrediction/cd/predict.csv
+snow.qzk.file=/usr/local/LCJ/SnowCoverPrediction/qzk/predict.csv
 
-download.file.path=/Users/ocean/Downloads/qxyb/
+download.file.path=/usr/local/LCJ/data/receivedata/