public void imageCutByShp() throws Exception {
gdal.AllRegister()//注册驱动,否则下边执行报错
Dataset source = gdal.Open("E:\\a.tif"); //tif文件路径
Vector vector = new Vector();
vector.add("-cutline");
vector.add("E:\\cut.shp");//shp文件路径
//或者是geojson字符串都可以
//String jsonObject = JSONObject.toJSONString(geoJSON);
// vector.add(jsonObject); //geojson的字符串
vector.add("-crop_to_cutline");
WarpOptions warpAppOptions = new WarpOptions(vector);
Dataset[] datasets = new Dataset[]{source};
Dataset output = gdal.Warp("E:\\output.tif", datasets, warpAppOptions); //第一个参数是生成结果路径和文件名
}
通过gdal.warp函数实现影像裁剪。
如果出现ERROR 1: PROJ: proj_create_from_name,需要配置环境变量。。。请参考我上一篇文章配置环境变量,win11 Springboot 集成GDAL开发环境配置_qingkong6178的博客-优快云博客