1
13693261870
2024-10-30 5826bfa3f502f47f46b37b2e18f0b2f90af691a0
src/main/java/com/se/simu/service/ResultService.java
@@ -348,6 +348,7 @@
                if (null == ds || 0 == ds.getRasterCount()) return;
                createWaterPng(dto, ds, layer, layer.getWaters().getData().get(i));
                copyWaterTif(dto, ds, layer.getWaters().getData().get(i));
            } finally {
                if (null != ds) ds.delete();
            }
@@ -368,6 +369,12 @@
            String png = waterPath + File.separator + sizes[0] + "_" + sizes[1] + ".png";
            water2Png(dto, layer, tif, png, sizes[0], sizes[1]);
        }
    }
    private static void copyWaterTif(ResultDto dto, Dataset ds, long ticks) {
        String source = ds.GetDescription();
        String target = dto.getOutPath() + File.separator + "waters" + File.separator + ticks + File.separator + "water.tif";
        FileUtil.copyFile(source, target);
    }
    private static String getNameWithExt(String file) {
@@ -532,30 +539,30 @@
    }
    /**
     * 处理降水曲线文件曲线图
     * 处理降水曲线文件曲线图
     */
    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<>();
        Map<String, 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 ((line = br.readLine()) != null) {
            while ((line = br.readLine()) != null) {
                // 处理每一行数据
                String[] rainFall = line.split(" ");
                    if (rainFall.length < 7) continue;
                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());
                }
                String sdt = rainFall[1] + "-" + rainFall[2] + "-" + rainFall[3] + " " + rainFall[4] + ":" + rainFall[5];
                BigDecimal num = new BigDecimal(rainFall[6]);
                rainFallJsons.put("" + sdf.parse(sdt).getTime(), num.setScale(2, RoundingMode.HALF_UP).doubleValue());
            }
        }
        FileWriter fw = new FileWriter(filePath);
        BufferedWriter bw = new BufferedWriter(fw);