#1 컴파일된 GDAL 다운로드
다음 사이트를 통해 미리 컴파일된 GDAL을 내려 받는다. MSVC2022로 컴파일된 x64를 선택한 뒤 release-1930-x64-gdal-3-5-3-mapserver-8-0-0.zip를 다운로드 받았음 : https://www.gisinternals.com/release.php
#2 GDAL dll의 PATH 지정
내려받은 파일의 압축을 풀면 bin 폴더에 gdal에 대해 컴파일된 dll 파일이 존재하는데, 이 bin 폴더를 path에 지정한다. (gdalalljni.dll에서 이 폴더의 dll을 참조함)
#3 이클립스에서 라이브러리 참조 및 glue dll 참조 설정
bin/gdal/java 폴더에는 gdal.jar와 gdal에 대한 glue dll인 gdalalljni.dll이 존재하는 것을 확인할 수 있다. 이클립스에서 프로젝트를 생성하고 라이브러리로 gdal.jar를 참조한다. 그리고 gdal.jar가 참조하는 gdalalljni.dll 파일을 JRE가 파악할 수 있도록 이 파일의 경로(d:/path1/path2 라고 하자)를 VM arguments에 -Djava.library.path=d:/path1/path2 를 입력한다. (만약 path에 이 경로가 지정되어 있다면 생략해도 됨)
#4 코드 테스트
테스트 코드는 다음과 같다.
package tstGDAL;
import org.gdal.gdal.Dataset;
import org.gdal.gdal.gdal;
import org.gdal.gdalconst.gdalconstConstants;
public class MainEntry {
Dataset hDataset;
int numBands;
public MainEntry(String filename) {
gdal.AllRegister();
hDataset = gdal.Open(filename, gdalconstConstants.GA_ReadOnly);
this.numBands = hDataset.getRasterCount();
}
public static void main(String[] args) {
String path = "d:/sample.tif";
MainEntry instance = new MainEntry(path);
System.out.println(instance.numBands);
}
}