From 084d07a8dfbde06f3b96557e446bfdd098f65aba Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期二, 08 十月 2024 16:15:17 +0800 Subject: [PATCH] 1 --- src/main/java/com/se/simu/service/ResultService.java | 20 ++++++++++++-------- 1 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/se/simu/service/ResultService.java b/src/main/java/com/se/simu/service/ResultService.java index 00aa1cd..b25c680 100644 --- a/src/main/java/com/se/simu/service/ResultService.java +++ b/src/main/java/com/se/simu/service/ResultService.java @@ -249,7 +249,6 @@ } private static List<String> getFiles(String path, String suffix) { - List<String> files = new ArrayList<>(); getFiles(files, new File(path), suffix); @@ -280,11 +279,13 @@ private static void setWaterData(LayerDto layer, List<String> files) { Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); + calendar.set(Calendar.MILLISECOND, 0); + for (String file : files) { - String fileName = new File(file).getName(); + String fileName = getNameWithExt(file); int hour = Integer.parseInt(fileName.substring(0, 2)); - int minute = Integer.parseInt(fileName.substring(2, 2)); - int second = Integer.parseInt(fileName.substring(4, 2)); + int minute = Integer.parseInt(fileName.substring(2, 4)); + int second = Integer.parseInt(fileName.substring(4, 6)); calendar.set(Calendar.HOUR_OF_DAY, hour); calendar.set(Calendar.MINUTE, minute); @@ -297,10 +298,10 @@ } private static void setWaterHeight(LayerDto layer, List<String> files) { - for (int i = 0, c = files.size(); i < c; i++) { + files.parallelStream().forEach(file->{ Dataset ds = null; try { - ds = gdal.Open(files.get(i), gdalconst.GA_ReadOnly); + ds = gdal.Open(file, gdalconst.GA_ReadOnly); if (null == ds || 0 == ds.getRasterCount() || null == ds.GetSpatialRef()) return; double[] mm = new double[2]; @@ -309,7 +310,7 @@ } finally { if (null != ds) ds.delete(); } - } + }); layer.getExtension().setMinHeight(getMinVal(layer.getExtension().getMinHeight() - 1, 1000)); layer.getExtension().setMaxHeight(getMaxVal(layer.getExtension().getMaxHeight() + 1, 1000)); } @@ -345,7 +346,7 @@ } private static String getNameWithExt(String file) { - return file.substring(file.lastIndexOf(File.separator), file.lastIndexOf(".")); + return file.substring(file.lastIndexOf(File.separator) + 1, file.lastIndexOf(".")); } private static void water2Png(ResultDto dto, LayerDto layer, String tif, String png, int width, int height) { @@ -502,6 +503,9 @@ return val; } + /** + * 鍏冩暟鎹� + */ private void copeLayerJson(ResultDto dto, LayerDto layer) throws IOException { String json = JSONUtil.toJsonPrettyStr(layer); String filePath = dto.getOutPath() + File.separator + "layer.json"; -- Gitblit v1.9.3