假设你已经安装好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:\tools\release-1928-x64-gdal-3-3-0-mapserver-7-6-3\bin目录下的所有.dll文件 copy 到java/jdk/bin下。
同时将D:\tools\release-1928-x64-gdal-3-3-0-mapserver-7-6-3\bin\gdal\java目录下的所有.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("\n");
}
}
hDataset.delete();
}
}