• gdal java环境配置


    gdal在java环境下使用,需要将gdal编译为java可用的版本,具体编译步骤,以后再补,今天先使用别人编译好的java版本gdal,下载地址:http://www.gisinternals.com/,根据自己的需要下载。

    配置步骤:

    (1)下载已编译好的gdal,如我下载的 x64 位的 release-1911-x64-gdal-2-2-3-mapserver-7-0-7, 解压之后,会得到如下图所示文件:

    bin目录下文件列表:

    (2)配置gdal dll路径

    有2种方式测试成功:

    第1种:将bin目录下dll扩展名文件(不包含bin目录下文件夹内的dll),拷贝到 java 工程所用 jdk 目录下 bin 文件内,如jdk路径是:C:Program FilesJavajdk1.7.0_79,则需要将gdal bin目录下的dll 拷贝到C:Program FilesJavajdk1.7.0_79in目录;

    第2种:将将bin目录下dll扩展名文件(不包含bin目录下文件夹内的dll)拷贝到java工程根目录下。

    (3)新建java工程

    新建的java工程,需要引入解压gdal得到的bin目录下,gdaljava目录下的 gdal.jar ,并将该目录下的 dll 文件入到工程根目录下。

    之后,可以新建如下类,进行验证:

    import java.io.File;
    
    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 GDALTestEnvironment {
        
        public void readFlt() {
            gdal.AllRegister();
            
            String projectRootPath = new File("").getAbsolutePath();
            String rasterFilePath = projectRootPath
                    + "/src/cn/decom/resource/rain_2015_04_09__14_00_hourly.flt";//测试用文件路径
    
            Dataset dataset = gdal.Open(rasterFilePath,
                    gdalconstConstants.GA_ReadOnly);
            if (dataset == null) {
                System.out.println("GDAL read error: " + gdal.GetLastErrorMsg());
            }
    
            Driver driver = dataset.GetDriver();
            System.out.println("driver short name: " + driver.getShortName());
            System.out.println("driver long name: " + driver.getLongName());
            System.out.println("metadata list: " + driver.GetMetadata_List());
    
            int xsize = dataset.getRasterXSize();
            int ysize = dataset.getRasterYSize();
            int count = dataset.getRasterCount();
            String proj = dataset.GetProjection();
            Band band = dataset.GetRasterBand(1);
    
            // 左上角点坐标 lon lat: transform[0]、transform[3]
            // 像素分辨率 x、y方向 : transform[1]、transform[5]
            // 旋转角度: transform[2]、transform[4])
            double[] transform = dataset.GetGeoTransform();
    
            System.out.println("transform: " + transform[0]);
        }
        
        public static void main(String[] args) {
            GDALTestEnvironment environment = new GDALTestEnvironment();
            environment.readFlt();
        }
        
    }
    
    
    
    
    

    (5)有关引用 gdal 库的工程打包之后的运行,需要后续补充。

  • 相关阅读:
    进程空间与系统空间(一)
    内核之最
    Linux 内核3.10.5 专场
    device_create与device_register
    重写与重载的含义
    抽象类和接口的区别
    Spring知识点
    mybatis学习
    知识点
    Mybatis面试题
  • 原文地址:https://www.cnblogs.com/gregcn/p/8513604.html
Copyright © 2020-2023  润新知