wuww
2025-04-15 d45e75a608ce07a56cf82a829ce6bd740e672eeb
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));