From d45e75a608ce07a56cf82a829ce6bd740e672eeb Mon Sep 17 00:00:00 2001 From: wuww <252740454@qq.com> Date: 星期二, 15 四月 2025 12:22:11 +0800 Subject: [PATCH] 添加png收集方法 --- src/main/java/com/se/nsl/service/TestService.java | 21 +++++++++++++++++++-- 1 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/se/nsl/service/TestService.java b/src/main/java/com/se/nsl/service/TestService.java index dc05269..c381cf7 100644 --- a/src/main/java/com/se/nsl/service/TestService.java +++ b/src/main/java/com/se/nsl/service/TestService.java @@ -224,7 +224,7 @@ } public void setWaterHeight(LayerDto layer, List<String> files) { - files.parallelStream().forEach(file -> { + /*files.parallelStream().forEach(file -> { Dataset ds = null; try { ds = gdal.Open(file, gdalconstConstants.GA_ReadOnly); @@ -236,7 +236,24 @@ } finally { if (null != ds) ds.delete(); } - }); + });*/ + + int c = files.size(); + int step = c <= 1 ? 1 : c / 10; + for (int i = 0; i < c; i += step) { + Dataset ds = null; + try { + ds = gdal.Open(files.get(i), gdalconstConstants.GA_ReadOnly); + if (null == ds || 0 == ds.getRasterCount()) return; + + double[] mm = new double[2]; + ds.GetRasterBand(1).ComputeRasterMinMax(mm, 0); + layer.getWaters().setHeight(mm[0], mm[1]); + } finally { + if (null != ds) ds.delete(); + } + } + layer.getExtension().setMaxHeight(layer.getExtension().getMaxHeight() + layer.getWaters().getMaxHeight()); layer.getExtension().setMaxHeight(ComHelper.getMaxVal(layer.getExtension().getMaxHeight(), 1000000)); layer.getExtension().setMinHeight(ComHelper.getMaxVal(layer.getExtension().getMinHeight(), 1000000)); -- Gitblit v1.9.3