使用 Java GDAL API 变形

Warp using Java GDAL API

我正在尝试使用 Java GDAL API 扭曲数据集。 但是,GDAL Java API 没有记录,并且不清楚 WarpOptions 采用哪个选项。 我喂 -tr 15 15 就像喂 gdalwarp 一样。这导致 Option not found error:

String gdalSource = "LC81910242015182LGN00_B4.TIF";
Dataset originalData = gdal.Open(gdalSource, gdalconstConstants.GA_ReadOnly);
Vector<String> options = new Vector<>();
options.add("-tr 15 15");
WarpOptions warpOptions = new WarpOptions(options);
Dataset[] src_array = {originalData};
Dataset dataset = gdal.Warp("warp.tif", src_array, warpOptions);

reduce/increase分辨率的选项是什么? 我在哪里可以获得可能选项的列表?

可用选项应与 gdalwarp 实用程序相同。

但是应该添加选项,

Vector<String> options = new Vector<>();
    options.add("-tr");
    options.add("15");
    options.add("15");

不像你在添加它们。

例如,参见 this 话题。

光栅图切割:

/**
 * rasterCutByExtend
 *
 * @param rasterPath
 * @param rasterCutPath
 * @param extend
 */
public static void rasterCutByExtend(String rasterPath, String rasterCutPath, Double[] extend) {
    Dataset dataset = gdal.Open(rasterPath);
    Vector<String> vector = new Vector<>();
    vector.add("-projwin");
    vector.add(String.valueOf(extend[0]));
    vector.add(String.valueOf(extend[1]));
    vector.add(String.valueOf(extend[2]));
    vector.add(String.valueOf(extend[3]));

    TranslateOptions options = new TranslateOptions(vector);
    gdal.Translate(rasterCutPath, dataset, options);
}

/**
 * rasterCutByMask
 *
 * @param rasterPath
 * @param rasterCutPath
 * @param shpPath
 */
public static void rasterCutByMask(String rasterPath, String rasterCutPath, String shpPath) {
    Vector<String> vector = new Vector();
    vector.add("-cutline");
    vector.add(shpPath);
    WarpOptions warpOptions = new WarpOptions(vector);
    Dataset dataset = gdal.Open(rasterPath);
    gdal.Warp(rasterCutPath, new Dataset[]{dataset}, warpOptions);
}