使用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);

降低/提高分辨率的选项是什么?在哪里可以获得可能的选项列表?

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

但应该添加选项,如

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

并不像你在添加它们。

例如,请参见此线程。

光栅图像切割:

/**
* 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);
}

最新更新