From e70a8383a5db83c049db3a9764df140d8ea9516b Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 17 十一月 2024 10:13:40 +0800
Subject: [PATCH] 1

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

diff --git a/src/main/java/com/se/simu/helper/ComHelper.java b/src/main/java/com/se/simu/helper/ComHelper.java
index 057cb54..e56f848 100644
--- a/src/main/java/com/se/simu/helper/ComHelper.java
+++ b/src/main/java/com/se/simu/helper/ComHelper.java
@@ -4,6 +4,7 @@
 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.gdalconst.gdalconst;
 import org.gdal.ogr.Geometry;
@@ -18,6 +19,7 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Vector;
 
 @Slf4j
 @SuppressWarnings("ALL")
@@ -41,6 +43,32 @@
         }
     }
 
+    public static void Resample(Dataset ds, String dest, int width, int height, LayerDto layer) {
+        Vector<String> vector = new Vector<>();
+        //vector.add("-s_srs");
+        //vector.add("EPSG:" + 4548);
+        //vector.add("-t_srs");
+        //vector.add("EPSG:" + 4326);
+        vector.add("-ts");
+        vector.add("" + width);
+        vector.add("" + height);
+        //vector.add("-te");
+        //vector.add("" + layer.getExtension().getMinx());
+        //vector.add("" + layer.getExtension().getMiny());
+        //vector.add("" + layer.getExtension().getMaxx());
+        //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");
+        WarpOptions warpOptions = new WarpOptions(vector);
+
+        Dataset destDs = gdal.Warp(dest, new Dataset[]{ds}, warpOptions);
+        destDs.delete();
+    }
+
     public static BuildingDto intersects(ResultDto dto, double x, double y) {
         Geometry p = new Geometry(ogr.wkbPoint);
         p.AddPoint_2D(x, y);

--
Gitblit v1.9.3