GDAL的JAVA開發環境搭建(IDEA)


軟件版本:gdal-3.20、jdk-1.80

一、開發環境搭建流程

  1. 首先從官網下載編譯好的二進制包 GISInternals Support Site,名稱release-1911-x64-gdal-3-2-0-mapserver-7-6-1.zip

下載完成后的文件如下:

文件解壓后如下:

  1. 將gdal的bin目錄下所有dll拷貝到jdk\bin目錄下(或\jdk\jre\bin,根據自己情況選擇),如圖所示:

  1. 在IDEA中創建一個JAVA項目,在項目根目錄創建lib目錄,將3個必要的文件拷貝到lib中(\bin\gdal302.dllbin\gdal\java\gdalalljni.dllbin\gdal\java\gdal.jar)。

  1. 在項目中引用gdal的庫。文件-項目結構-項目設置-庫-添加-gdal.jar

  1. 開始編碼。在項目的java文件夾中創建一個類,編寫如下代碼:
import org.gdal.gdal.gdal;
import org.gdal.ogr.ogr;

public class HelloGdal {
    public static void printVectorDrivers(){
        ogr.RegisterAll();
        int count =ogr.GetDriverCount();
        System.out.println(count);
        for(int i=0; i<count; i++){
            System.out.println(ogr.GetDriver(i).GetName());
        }
        gdal.GDALDestroyDriverManager();
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        printVectorDrivers();
    }
}

運行結果如下:

二、問題總結

  1. 引用庫報錯
Native library load failed.
java.lang.UnsatisfiedLinkError: no gdalalljni in java.library.path
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.gdal.gdal.gdalJNI.AllRegister()V

這個問題是gdal的dll文件拷貝位置不正確,導致java程序不能找到相應的dll引用。將dll拷貝到jdk\bin或jdk\jre\bin,這里自己多嘗試幾次。

  1. 找不到proj.db

在系統環境變量中配置,PROJ_LIB:C:\Program Files\GDAL\projlib\proj.db

如果沒有該文件,下載gdal core進行安裝。

參考:https://blog.csdn.net/theonegis/article/details/52585613


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM