From 7b2459ba1c1f14c06f17914f3d53ebcd6e2641a3 Mon Sep 17 00:00:00 2001
From: wuww <252740454@qq.com>
Date: 星期五, 16 五月 2025 17:27:51 +0800
Subject: [PATCH] 解决土地利用裁剪后使用异常

---
 src/main/java/com/se/nsl/helper/ComHelper.java |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/se/nsl/helper/ComHelper.java b/src/main/java/com/se/nsl/helper/ComHelper.java
index 7988031..29cfbec 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,7 +67,7 @@
         destDs.delete();
     }
 
-    public static void Resample(Dataset ds, Integer targetEpsg, String dest, String wkt, Integer width, Integer height) {
+    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");
@@ -78,6 +75,10 @@
             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);
@@ -94,7 +95,7 @@
         vector.add("GTiff");
 
         Dataset destDs = gdal.Warp(dest, new Dataset[]{ds}, new WarpOptions(vector));
-        destDs.delete();
+        if (null != destDs) destDs.delete();
     }
 
     public static void Resample2(Dataset ds, String dest, int width, int height, LayerDto layer) {

--
Gitblit v1.9.3