java 使用GDAL读取
一、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读取相关推荐
- 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. 源码 ...
- gdal在java环境中读取mif/mid文件以及写入数据
目录 1.maven项目搭建的gdal环境 2.maven项目搭建后开始代码 3.怎么提取两个Layer中某个字段相同的所有数据(这个并非是取属性交集)? 1.maven项目搭建的gdal环境 引入g ...
- Java使用GDAL
在使用Java调用GDAL之前,先说明一下编译.在编译的时候,需要JRE.Ant和SWIG这三个东西,没有的先下载这两个东西,下载完之后,安装,ANT和SWIG直接解压就行,不用安装.接下来用记事本打 ...
- java实现gdal栅格矢量化_gdal栅格矢量化 - osc_lfs4vsih的个人空间 - OSCHINA - 中文开源技术交流社区...
#include "gdal_alg.h" 栅格矢量化功能用于将栅格数据生成矢量数据,通常用于分类图像.GDAL库中使用函数GDALPolygonize()或者函数GDALFPol ...
- JAVA调用GDAL实现影像格式转换,以tif to jpg为例
前言 本文简单实现java调用GDAL实现影像格式转换. package Marcus.com;import org.gdal.gdal.Dataset; import org.gdal.gdal.D ...
- Java CSV文件读取、写入及追加
Java CSV文件读取.写入及追加 https://blog.csdn.net/liq816/article/details/81286472 追加: FileOutputStream out = ...
- Java Properties 类读取配置文件信息
在我们平时写程序的时候,有些参数是经常改变的,而这种改变不是我们预知的.比如说我们开发了一个操作数据库的模块,在开发的时候我们连接本地的数据库那么 IP ,数据库名称,表名称,数据库主机等信息是我们本 ...
- Java使用POI读取和写入Excel指南
Java使用POI读取和写入Excel指南 做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求: 网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃 ...
- java excel读取操作,Java 操作 Excel (读取Excel2003 2007,Poi兑现)
Java 操作 Excel (读取Excel2003 2007,Poi实现) 一. Apache POI 简介( http://poi.apache.org/) 使用Java程序读写Microsoft ...
最新文章
- 【物联网】NB-IoT简介
- C++调用WebService
- android项目闪屏页细节
- ANSYS——分析实例,平面对称问题
- 只读域控制器在Server Core中的部署
- 女朋友想进高校当老师,其实中学老师更适合他
- Ruby On Rails 安装手记
- SQL:Mongoose在node中的应用
- openlayers2 开发如何判断一个marker所在的点是否在一个多边形内部
- android贪吃蛇设计报告,贪吃蛇游戏报告毕业设计android
- 牛逼!分享一款基于 SpringBoot 的微信点餐系统(附源码)
- 工业相机IO口控制STM32输出PWM波
- MySQL全文索引的坑 20211202
- 12306春运火车票抢票攻略——3分钟抢到热门票
- 全网最详细官网一键换肤教程
- 在前端如何玩转 Word 文档
- 【模块化那些事】 拆散的模块化
- wordpress网站打开速度优化压缩html代码
- 数据管理平台DMP细致研究——BlueKai
- 基于5G森林防火无线监控解决方案