From 3cf717d9c9cb1426f25bd5cd886ec20873058e39 Mon Sep 17 00:00:00 2001 From: wangyifei <1522824457@qq.com> Date: 星期三, 30 十月 2024 15:57:06 +0800 Subject: [PATCH] 获取降水曲线文件曲线图功能第一次提交 --- src/main/java/com/se/simu/service/ResultService.java | 38 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 38 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/se/simu/service/ResultService.java b/src/main/java/com/se/simu/service/ResultService.java index 347cf72..e1da3df 100644 --- a/src/main/java/com/se/simu/service/ResultService.java +++ b/src/main/java/com/se/simu/service/ResultService.java @@ -23,6 +23,10 @@ import java.awt.*; import java.awt.image.BufferedImage; import java.io.*; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.*; import java.util.List; @@ -61,6 +65,7 @@ copeWater(dto, layer); copeFlow(dto, layer); copeLayerJson(dto, layer); + copeRainFallJson(dto, layer); } finally { File dir = new File(dto.getTemp()); if (dir.exists()) { @@ -525,4 +530,37 @@ bw.close(); fw.close(); } + + /** + * 澶勭悊闄嶆按鏇茬嚎鏂囦欢鏇茬嚎鍥� + */ + public void copeRainFallJson(ResultDto dto, LayerDto layer) throws IOException, ParseException { + String rainGageFilePath = config.getInPath() + File.separator + dto.getServiceName() + File.separator + "RainGage.dat"; + String filePath = dto.getOutPath() + File.separator + "rainfall.json"; + + String line; + Map<Long,Double> rainFallJsons = new LinkedHashMap<>(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + + BufferedReader br = new BufferedReader(new FileReader(rainGageFilePath)); + //澶勭悊绗竴琛屾暟鎹� + if ((line = br.readLine()) != null) { + while ((line = br.readLine()) != null) { + // 澶勭悊姣忎竴琛屾暟鎹� + String[] rainFall = line.split(" "); + + if (rainFall.length < 7) continue; + + String sdt = rainFall[1]+"-"+rainFall[2]+"-"+rainFall[3]+" "+rainFall[4]+":"+rainFall[5]; + BigDecimal num = new BigDecimal(rainFall[6]); + rainFallJsons.put(sdf.parse(sdt).getTime()/1000,num.setScale(2, RoundingMode.HALF_UP).doubleValue()); + } + } + + FileWriter fw = new FileWriter(filePath); + BufferedWriter bw = new BufferedWriter(fw); + bw.write(JSON.toJSONString(rainFallJsons)); + bw.close(); + fw.close(); + } } -- Gitblit v1.9.3