Windows下gdal 的 Java 环境配置

假设你已经安装好java jdk,并配置好环境变量。 参考: http://trac.osgeo.org/gdal/wiki/GdalOgrInJava http://trac.osgeo.org/gdal/wiki/GdalOgrInJavaBuildInstructions(编译java版gdal)

这里采用是编译好的gdal,下载地址:
http://www.gisinternals.com/release.php
选择win32/x64版的zip,解压到相关目录下。

下载:release-1928-x64-gdal-3-3-0-mapserver-7-6-3


配置java中的jdk library path,

将下载后的D:	ools
elease-1928-x64-gdal-3-3-0-mapserver-7-6-3in目录下的所有.dll文件 copy 到java/jdk/bin下。
同时将D:	ools
elease-1928-x64-gdal-3-3-0-mapserver-7-6-3ingdaljava目录下的所有.dll文件 copy到/java/jdk/bin下

在IDEA下新建一个maven工程,将解压后的gdal.jar加到library中如图或者添加pom.xml

<dependency>
       <groupId>org.gdal</groupId>
       <artifactId>gdal</artifactId>
       <version>3.2.0</version>
       </dependency>

简单测试环境代码

package tif;
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 ReadGeoInfo {
    /**
     * Created by ubuntu on 2015/7/10 0010.
     */
    public static void main(String[] args) {
        String fileName_tif = "C:\Users\h\Desktop\tif\1.tiff";
        gdal.AllRegister();
        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());
        int iXSize = hDataset.getRasterXSize();
        int iYSize = hDataset.getRasterYSize();
        System.out.println("Size is" + iXSize + "," + iYSize);
        Band band = hDataset.GetRasterBand(1);
        int buf[] = new int[iXSize];
        for (int i = 0; i < 10; i++) {
            band.ReadRaster(0, i, iXSize, 1, buf);
            for (int j = 0; j < 10; j++) {
                System.out.print(buf[j] + ",");
                System.out.println("
");
            }
        }
        hDataset.delete();

    }
}
经验分享 程序员 微信小程序 职场和发展