一、windows环境下:

1、下载编译好的文件:http://download.gisinternals.com/sdk.php

2、dll文件的两种使用方式:

1、把release-xxxx/bin目录下的dll文件全部复制到你要使用gdal的java工程根目录下。

2、把release-xxxx/bin目录下的dll文件全部复制到java根路径/jre/bin目录下。

3、把release-xxxx/bin/gdal/java/下的五个文件(gdal.jar、gdalconstjni.dll、gdaljni.dll、ogrjni.dll、osrjni.dll)复制到java工程根目录下,然后在项目中引入该gdal.jar文件。

二、liunx环境下:

我自己编译好的文件:linux下java环境gdal编译好的文件-Java文档类资源-CSDN文库

1、把gdal编译完的文件(.a,.so)放到java根路径/lib目录下。

并配置环境变量:

export LD_LIBRARY_PATH=$JAVA_HOME/lib

2、把生成的gdal.jar引入到java项目中。

3、把proj.db文件的路径配置到环境变量中:

export PROJ_LIB=/usr/share/proj/proj.db

三、代码:

public class Gdal {public static void main(String[] args) {double selectAltitude = SelectAltitude(107.50000230773105, 34.0000008171423);System.out.println("海拔是:" + selectAltitude + "米");}public static double SelectAltitude(double lon, double lat) {//海拔double altitude = 0;//支持所有驱动gdal.AllRegister();//要读取的文件String fileName_tif = "E:\\companyProject\\scwd\\DEM样例数据\\DEM样例数据\\12m.tif";//只读方式读取数据Dataset hDataset = gdal.Open(fileName_tif, gdalconstConstants.GA_ReadOnly);//支持中文路径gdal.SetConfigOption("gdal_FILENAME_IS_UTF8", "YES");//判断是否非空if (hDataset == null) {System.err.println("GDALOpen failed - " + gdal.GetLastErrorNo());System.err.println(gdal.GetLastErrorMsg());System.exit(1);}//图像的列和行Driver hDriver = hDataset.GetDriver();int iXSize = hDataset.getRasterXSize();int iYSize = hDataset.getRasterYSize();Band band = hDataset.GetRasterBand(1);//图像六要素double[] dGeoTrans = hDataset.GetGeoTransform();
//      //经纬度转行列号double dTemp = dGeoTrans[1] * dGeoTrans[5] - dGeoTrans[2] * dGeoTrans[4];int Xline = (int) ((dGeoTrans[5] * (lon - dGeoTrans[0]) - dGeoTrans[2] * (lat - dGeoTrans[3])) / dTemp);int Yline = (int) ((dGeoTrans[1] * (lat - dGeoTrans[3]) - dGeoTrans[4] * (lon - dGeoTrans[0])) / dTemp);//这里是DEM数据,所以声明一个int数组来存储,如果是其他数据类型,声明相应的类型即可double buf[] = new double[1];//取出像元值band.ReadRaster(Xline, Yline, 1, 1, buf);// 下面是输出像元值altitude = buf[0];hDataset.delete();// 可选gdal.GDALDestroyDriverManager();return altitude;}
}

java 使用GDAL读取相关推荐

  1. JAVA IDEA集成geotools gt-mif gdal读取.MIF

    JAVA IDEA集成geotools gt-mif gdal读取.MIF 1. 结论 2. 问题1:gdal maven下载不下来 3. geotools,gt-mif maven配置 4. 源码 ...

  2. gdal在java环境中读取mif/mid文件以及写入数据

    目录 1.maven项目搭建的gdal环境 2.maven项目搭建后开始代码 3.怎么提取两个Layer中某个字段相同的所有数据(这个并非是取属性交集)? 1.maven项目搭建的gdal环境 引入g ...

  3. Java使用GDAL

    在使用Java调用GDAL之前,先说明一下编译.在编译的时候,需要JRE.Ant和SWIG这三个东西,没有的先下载这两个东西,下载完之后,安装,ANT和SWIG直接解压就行,不用安装.接下来用记事本打 ...

  4. java实现gdal栅格矢量化_gdal栅格矢量化 - osc_lfs4vsih的个人空间 - OSCHINA - 中文开源技术交流社区...

    #include "gdal_alg.h" 栅格矢量化功能用于将栅格数据生成矢量数据,通常用于分类图像.GDAL库中使用函数GDALPolygonize()或者函数GDALFPol ...

  5. JAVA调用GDAL实现影像格式转换,以tif to jpg为例

    前言 本文简单实现java调用GDAL实现影像格式转换. package Marcus.com;import org.gdal.gdal.Dataset; import org.gdal.gdal.D ...

  6. Java CSV文件读取、写入及追加

    Java CSV文件读取.写入及追加 https://blog.csdn.net/liq816/article/details/81286472 追加: FileOutputStream out = ...

  7. Java Properties 类读取配置文件信息

    在我们平时写程序的时候,有些参数是经常改变的,而这种改变不是我们预知的.比如说我们开发了一个操作数据库的模块,在开发的时候我们连接本地的数据库那么 IP ,数据库名称,表名称,数据库主机等信息是我们本 ...

  8. Java使用POI读取和写入Excel指南

    Java使用POI读取和写入Excel指南 做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求: 网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃 ...

  9. java excel读取操作,Java 操作 Excel (读取Excel2003 2007,Poi兑现)

    Java 操作 Excel (读取Excel2003 2007,Poi实现) 一. Apache POI 简介( http://poi.apache.org/) 使用Java程序读写Microsoft ...

最新文章

  1. 【物联网】NB-IoT简介
  2. C++调用WebService
  3. android项目闪屏页细节
  4. ANSYS——分析实例,平面对称问题
  5. 只读域控制器在Server Core中的部署
  6. 女朋友想进高校当老师,其实中学老师更适合他
  7. Ruby On Rails 安装手记
  8. SQL:Mongoose在node中的应用
  9. openlayers2 开发如何判断一个marker所在的点是否在一个多边形内部
  10. android贪吃蛇设计报告,贪吃蛇游戏报告毕业设计android
  11. 牛逼!分享一款基于 SpringBoot 的微信点餐系统(附源码)
  12. 工业相机IO口控制STM32输出PWM波
  13. MySQL全文索引的坑 20211202
  14. 12306春运火车票抢票攻略——3分钟抢到热门票
  15. 全网最详细官网一键换肤教程
  16. 在前端如何玩转 Word 文档
  17. 【模块化那些事】 拆散的模块化
  18. wordpress网站打开速度优化压缩html代码
  19. 数据管理平台DMP细致研究——BlueKai
  20. 基于5G森林防火无线监控解决方案

热门文章

  1. ue4.26 vlcMedia 播放监控rtsp流程 解决没有画面问题
  2. 隐藏百度地图导航菜单栏
  3. 人工智能—产生式推理
  4. Tesla T4显卡安装及显卡自带显示屏蔽设置
  5. 百度贴吧下载图片 【可搜索】
  6. C#实现微信聊天对话框
  7. 时间管理专题_软件篇01
  8. Tickeys插件——增加打字音效
  9. Fiddle原理和基本使用
  10. Java代码实现Excel表格导出