From 50155d2d6da56ac59a672755a704ed1503ffe3f6 Mon Sep 17 00:00:00 2001 From: dcb <xgybdcb@163.com> Date: 星期四, 19 六月 2025 10:07:18 +0800 Subject: [PATCH] 修复返回的模拟结果中最大最小水深问题 --- src/main/java/com/se/nsl/helper/ComHelper.java | 39 ++++++++++++++++++++++++++++++++++----- 1 files changed, 34 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/se/nsl/helper/ComHelper.java b/src/main/java/com/se/nsl/helper/ComHelper.java index 9946591..fe10817 100644 --- a/src/main/java/com/se/nsl/helper/ComHelper.java +++ b/src/main/java/com/se/nsl/helper/ComHelper.java @@ -2,10 +2,7 @@ import com.se.nsl.domain.dto.*; import lombok.extern.slf4j.Slf4j; -import org.gdal.gdal.Band; -import org.gdal.gdal.Dataset; -import org.gdal.gdal.WarpOptions; -import org.gdal.gdal.gdal; +import org.gdal.gdal.*; import org.gdal.gdalconst.gdalconst; import org.gdal.ogr.Geometry; import org.gdal.ogr.ogr; @@ -70,6 +67,37 @@ destDs.delete(); } + public static void Resample(Dataset ds, Integer targetEpsg, String dest, Double destNoData, String wkt, Integer width, Integer height) { + Vector<String> vector = new Vector<>(); + if (targetEpsg != null) { + //vector.add("-s_srs"); + //vector.add("EPSG:" + 4548); + vector.add("-t_srs"); + vector.add("EPSG:" + targetEpsg); + } + //if (destNoData != null) { + // vector.add("-dstnodata"); + // vector.add("" + destNoData); + //} + if (wkt != null) { + vector.add("-cutline"); + vector.add(wkt); + vector.add("-crop_to_cutline"); + } + if (width != null && height != null) { + vector.add("-ts"); + vector.add("" + width); + vector.add("" + height); + } + vector.add("-r"); + vector.add("bilinear"); // 鍙岀嚎鎬ф彃鍊� + vector.add("-of"); + vector.add("GTiff"); + + Dataset destDs = gdal.Warp(dest, new Dataset[]{ds}, new WarpOptions(vector)); + if (null != destDs) destDs.delete(); + } + public static void Resample2(Dataset ds, String dest, int width, int height, LayerDto layer) { Vector<String> vector = new Vector<>(); vector.add("-s_srs"); @@ -87,7 +115,8 @@ //vector.add("-te_srs"); //vector.add("EPSG:" + 4326); vector.add("-r"); - vector.add("average"); +// vector.add("average"); + vector.add("cubic"); vector.add("-of"); vector.add("GTiff"); WarpOptions warpOptions = new WarpOptions(vector); -- Gitblit v1.9.3