实验室的项目需要用到GDAL库做一些地理空间数据的读取和处理,于是花了些时间学习了GDAL相关知识。
GDAL(Geospatial Data Abstraction Library)是一个开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据转换和处理。
GDAL使用C++开发,因此要在Java环境下使用GDAL库,要用jni的方法调用dll库,我们可以下载GDAL的源码,按照官网的指引,在自己的Visual Studio里编译出dll。但是最省事的做法就是调用别人已经编译生成好的符合jni标准的动态dll库和jar包了,推荐这个网址:http://www.gisinternals.com/sdk/,下载合适的文件。
例如我下载的是release-1600-gdal-1-10-mapserver-6-2.zip,里面包含了编译好的GDAL以及jar包。
下面以Eclipse的配置为例,示范如何在Java环境中调用GDAL库(此时假设所有GDAL的dll都已经编译好,或是从上面写的网址下载下来了):
1. 打开Eclipse,新建一个java工程
2. 将下载下来的压缩包bin/gdal/java目录下的gdal.jar、gdalconstjni.dll、gdaljni.dll、ogrjni.dll、osrjni.dll文件拷贝到刚才新建的java工程目录下
3. 右键工程,点击properties,打开属性配置,在Java Build Path的Libraries选项卡中选择Add Jars…,将gdal.jar引入
这时候写代码,Eclipse不会检测出错误,但是运行程序时会报错,于是还要进行下一步&