一、简介
GDAL是栅格和矢量地理空间数据格式的转换器库,由开源地理空间基金会根据X / MIT样式的开源许可证发布。作为一个库,它为调用的应用程序提供了所有支持格式的单个栅格抽象数据模型和单个矢量抽象数据模型。它还带有用于数据转换和处理的各种有用的命令行实用程序。该新闻页面描述2020年十月GDAL / OGR 3.2.0版本。
二、配置
1、下载编译好的GDAL库https://www.gisinternals.com/release.php,也可以自己源码编译;
2、将路径 \release-1911-x64-gdal-3-2-0-mapserver-7-6-1\bin 下的所有dll拷贝到jre目录下,(鄙人的是C:\Program Files\Java\jdk1.8.0_151\jre\bin);
3、将路径 \release-1911-x64-gdal-3-2-0-mapserver-7-6-1\bin\gdal\java下的gdalalljni.dll拷贝到步骤2的目录下;
4、在项目中添加并引用\release-1911-x64-gdal-3-2-0-mapserver-7-6-1\bin\gdal\java下的jar和dll;
5、新建java程序写代码调试,引入gdal。
三、代码
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 gdaltest { public void dog() { gdal.AllRegister(); String rasterFilePath ="F:\\倾斜摄影\\正射影像\\01可见光\\map\\result.tif";//测试用文件路径 Dataset dataset = gdal.Open(rasterFilePath, gdalconstConstants.GA_ReadOnly); if (dataset == null) { System.out.println(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()); String proj = dataset.GetProjection(); Band band = dataset.GetRasterBand(1); System.out.println(proj); System.out.println(band); } public static void main(String[] args) { gdaltest test = new gdaltest(); test.dog(); } }
四、结果
原文:https://www.cnblogs.com/dog2016/p/14140230.html