• 基于windows、GDAL2.2.3版本和Java集成安装和使用GDAL库的方法


    基于windows、GDAL2.2.3版本和Java集成安装和使用GDAL库的方法

    一、下载gdal windows版本64位2.2.3版本
    下载地址:
    https://www.gisinternals.com/archive.php

    找到gdal-202-1911-x64-core.msi下载并安装
    安装后默认目录为:C:\Program Files\GDAL
    二、配置环境变量
    a.系统变量-path中新增:C:\Program Files\GDAL
    b.系统变量-新增-变量名:GDAL_DATA,变量值:C:\Program Files\GDAL\gdal-data
    c.系统变量-新增-变量名:GDAL_DRIVER_PATH,变量值:C:\Program Files\GDAL\gdalplugins
    测试gdal安装是否成功,cmd输入:

    gdalinfo --version

    C:\Users\hsg>gdalinfo --version
    GDAL 2.2.3, released 2017/11/20
    
    • 1
    • 2

    然后必须重启电脑,path系统变量才生效。

    三、java集成gdal
    java集成gdal主要是引gdal.jar依赖以及配置jdk可以调用到.dll动态链接库。
    步骤:
    1.把C:\Program Files\GDAL\下所有的.dll文件全部复制到jdk/bin/下;
    2.把C:\Program Files\GDAL\java\下的gdal.jar复制到java项目src/main/resources/gdal/下;
    3.pom.xml中引入gdal.jar包(即java项目src/main/resources/gdal/gdal.jar)

    特别注意:gt-ogr-jni 24.0版本中引用的是gdal2.2.0版本,但网上未下载到gdal2.2.0版本的安装包
    这里只找到gdal2.2.3版本的安装

    <dependency>
          <groupId>org.geotools</groupId>
          <artifactId>gt-ogr-jni</artifactId>
          <version>24.0</version>
          <exclusions>
            <exclusion>
              <groupId>org.gdal</groupId>
              <artifactId>gdal</artifactId>
            </exclusion></exclusions>
        </dependency>
        <dependency>
          <groupId>org.gdal</groupId>
          <artifactId>gdal</artifactId>
          <version>2.2.3</version>
          <scope>system</scope>
          <systemPath>${project.basedir}/src/main/resources/gdal/gdal.jar</systemPath>
        </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    四、测试代码

    package org.example;
    
    import org.gdal.osr.*;
    import org.gdal.ogr.*;
    import org.gdal.gdal.*;
    
    /**
     * Hello world!
     *
     */
    public class App 
    {
        public static void main( String[] args )
        {
            System.out.println( "Hello World!" );
            //System.load("gdalalljni.dll");
            System.out.println(System.getProperty("java.library.path"));
    
            // 设置java.library.path=path/to/gdal/library
            //System.setProperty("java.library.path", "C:\\Program Files\\GDAL");
            //
            System.out.println(System.getProperty("java.library.path"));
            //
            ogr.RegisterAll();
            int c=ogr.GetDriverCount();
            System.out.println(c);
            for(int i=0;i<c;i++)
            {
                System.out.println(ogr.GetDriver(i).getName());
            }
            gdal.GDALDestroyDriverManager();
    
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    测试结果如下所示:
    Hello World!
    76
    netCDF
    PCIDSK
    JP2OpenJPEG
    PDF
    DB2ODBC
    ESRI Shapefile
    MapInfo File
    UK .NTF
    OGR_SDTS
    S57
    DGN
    OGR_VRT
    REC
    Memory
    BNA
    CSV
    NAS
    GML
    GPX
    LIBKML
    KML
    GeoJSON
    Interlis 1
    Interlis 2
    OGR_GMT
    GPKG
    SQLite
    ODBC
    WAsP
    PGeo
    MSSQLSpatial
    PostgreSQL
    MySQL
    OpenFileGDB
    XPlane
    DXF
    CAD
    Geoconcept
    GeoRSS
    GPSTrackMaker
    VFK
    PGDUMP
    OSM
    GPSBabel
    SUA
    OpenAir
    OGR_PDS
    WFS
    HTF
    AeronavFAA
    Geomedia
    EDIGEO
    GFT
    SVG
    CouchDB
    Cloudant
    Idrisi
    ARCGEN
    SEGUKOOA
    SEGY
    ODS
    XLSX
    ElasticSearch
    Walk
    Carto
    SXF
    Selafin
    JML
    PLSCENES
    CSW
    VDV
    GMLAS
    TIGER
    AVCBin
    AVCE00
    HTTP
    #—the—end—

  • 相关阅读:
    Java低代码开发:jvs-list(列表引擎)功能(一)配置说明
    archlinux 安装ibus-rime
    开发工程师必备————【Day23】Django基础知识
    【数据库系统概论】第七章数据库设计
    Python requests爬虫豆瓣图片返回数据为空。
    Linux 文件系统(VFS、EXT、proc)
    三、微积分
    工程 (六) ——PointNet点云分类
    deforum + kandinsky = 视频工作流
    模型评估与改进:交叉验证
  • 原文地址:https://blog.csdn.net/hsg77/article/details/134340631