Java 调用 GDAL,使用编译好的库方法,获取 tif 文件信息及 tif 波段信息

2 篇文章 0 订阅

嫌麻烦者可直接下载已处理好的基于Java8的bin目录:https://download.csdn.net/download/antma/11110753

(含Java调用GDAL的所有DLL和gdal.jar包)

1、下载 releases of MapServer and GDAL

下载地址:GISInternals Support Site

下载相应版本:

下载解压:

2、将解压后 bin文件夹下所有 dll文件拷贝到jdk的bin目录下:

将bin/gdal/java目录下的gdalaljni.dll 文件也拷至jdk的bin目录下:

idea 建项目,引用上面的 gdal.jar,添加一个类 GDALTestApp.java ,执行即可拿到 tif 信息:

GDALTestApp.java 代码如下:

package gdaltest;

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 GDALTestApp {

    public static void main(String[] args) {
        gdal.AllRegister();

        String fileName_tif = "E:\\postGISToos\\tif\\1.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();
    }
}

这里是直接引的gdal.jar:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员老油条

您的鼓励将是我创作的大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值