From 68372fd1905515c5c8dbb9e3b158241994439e06 Mon Sep 17 00:00:00 2001
From: dcb <xgybdcb@163.com>
Date: 星期四, 19 六月 2025 14:18:53 +0800
Subject: [PATCH] 增加生成结果的水深过滤参数

---
 src/main/java/com/se/nsl/helper/ComHelper.java |   28 +++++++++++++++++-----------
 1 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/se/nsl/helper/ComHelper.java b/src/main/java/com/se/nsl/helper/ComHelper.java
index fe10817..0b52369 100644
--- a/src/main/java/com/se/nsl/helper/ComHelper.java
+++ b/src/main/java/com/se/nsl/helper/ComHelper.java
@@ -41,7 +41,8 @@
         }
     }
 
-    public static void Resample(Dataset ds, String dest, int width, int height, LayerDto layer) {
+    public static void cutAndResample(Dataset ds, String dest, int width, int height,
+                                      LayerDto layer, boolean resample) {
         Vector<String> vector = new Vector<>();
         //vector.add("-s_srs");
         //vector.add("EPSG:" + 4548);
@@ -57,17 +58,19 @@
         //vector.add("" + layer.getExtension().getMaxy());
         //vector.add("-te_srs");
         //vector.add("EPSG:" + 4326);
-        vector.add("-r");
-        vector.add("bilinear"); // 鍙岀嚎鎬ф彃鍊�
-        vector.add("-of");
-        vector.add("GTiff");
+        if (resample) {
+            vector.add("-r");
+            vector.add("bilinear"); // 鍙岀嚎鎬ф彃鍊�
+            vector.add("-of");
+            vector.add("GTiff");
+        }
         WarpOptions warpOptions = new WarpOptions(vector);
 
         Dataset destDs = gdal.Warp(dest, new Dataset[]{ds}, warpOptions);
         destDs.delete();
     }
 
-    public static void Resample(Dataset ds, Integer targetEpsg, String dest, Double destNoData, String wkt, Integer width, Integer height) {
+    public static void cutAndResample(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");
@@ -98,7 +101,8 @@
         if (null != destDs) destDs.delete();
     }
 
-    public static void Resample2(Dataset ds, String dest, int width, int height, LayerDto layer) {
+    public static void coordinateTransformAndResample(Dataset ds, String dest, int width, int height,
+                                                      LayerDto layer, boolean resample) {
         Vector<String> vector = new Vector<>();
         vector.add("-s_srs");
         vector.add("EPSG:" + 4548);
@@ -114,11 +118,13 @@
         //vector.add("" + layer.getExtension().getMaxy());
         //vector.add("-te_srs");
         //vector.add("EPSG:" + 4326);
-        vector.add("-r");
+        if (resample) {
+            vector.add("-r");
 //        vector.add("average");
-        vector.add("cubic");
-        vector.add("-of");
-        vector.add("GTiff");
+            vector.add("cubic");
+            vector.add("-of");
+            vector.add("GTiff");
+        }
         WarpOptions warpOptions = new WarpOptions(vector);
 
         Dataset destDs = gdal.Warp(dest, new Dataset[]{ds}, warpOptions);

--
Gitblit v1.9.3