Java调用编译好的GDAL

转载来源

Java 调用 GDAL,使用编译好的库方法,获取 tif 文件信息及 tif 波段信息
https://www.pianshen.com/article/8695336579/

参考上文进行了试验。下面为操作步骤。

1.下载文件

到这里下载:https://www.gisinternals.com/release.php
在这里插入图片描述

在这里插入图片描述

解压得到:
在这里插入图片描述

2.复制到jdk

事先配置好jdk的环境变量(略)。

进入上面的bin文件夹:
在这里插入图片描述

  1. 把里面所有dll后缀的文件,全部复制到java的jdk里面的bin文件夹里面。
  2. 在上面的bin文件夹里面有个叫做gdal的文件夹,进入后可以看到一个叫做java的文件夹,继续进入,把里面的那个dll文件也复制到java的jdk里面的bin文件夹里:
    在这里插入图片描述
    可以看到上面还有一个gdal.jar,在下文的例子中,会把它复制到工程目录中使用。

3.例子

以VScode编辑器为例(eclipse、IDEA等其他编辑器同理),使用前面配置好的gdal读取一个tif图片。(我用的是jdk1.8)
在这里插入图片描述
例子的代码如下:


import org.gdal.gdal.Band;
import org.gdal.gdal.Dataset;
import org.gdal.gdal.Driver;
import org.gdal.gdal.gdal;
import org.gdal.gdalconst.gdalconstConstants;
 
public class Hello {
 
    public static void main(String[] args) {
        gdal.AllRegister();
 
        String fileName_tif = "G:\\TEMP2\\scene.tif";
        Dataset hDataset = gdal.Open(fileName_tif, gdalconstConstants.GA_ReadOnly);
        if (hDataset == null) {
            System.err.println("GDALOpen failed - " + gdal.GetLastErrorNo());
            System.err.println(gdal.GetLastErrorMsg());
            System.exit(1);
        }
 
        Driver hDriver = hDataset.GetDriver();
        System.out.println("Driver: " + hDriver.getShortName() + "/" + hDriver.getLongName());
        System.out.println("Size is " + hDataset.getRasterXSize() + ", " + hDataset.getRasterYSize());
 
        Band band = hDataset.GetRasterBand(1);
        System.out.println(band.getXSize());
 
        hDataset.delete();
 
        // 可选
        gdal.GDALDestroyDriverManager();
    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值