dcb
2025-06-19 68372fd1905515c5c8dbb9e3b158241994439e06
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);
        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);
        if (resample) {
        vector.add("-r");
//        vector.add("average");
        vector.add("cubic");
        vector.add("-of");
        vector.add("GTiff");
        }
        WarpOptions warpOptions = new WarpOptions(vector);
        Dataset destDs = gdal.Warp(dest, new Dataset[]{ds}, warpOptions);