使用 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);
}
我正在尝试使用 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);
}