当前位置: 首页 > news >正文

基于windows、GDAL2.2.3版本和Java集成安装和使用GDAL库的方法

基于windows、GDAL2.2.3版本和Java集成安装和使用GDAL库的方法

一、下载gdal windows版本64位2.2.3版本
下载地址:
https://www.gisinternals.com/archive.php

找到gdal-202-1911-x64-core.msi下载并安装
安装后默认目录为:C:\Program Files\GDAL
二、配置环境变量
a.系统变量-path中新增:C:\Program Files\GDAL
b.系统变量-新增-变量名:GDAL_DATA,变量值:C:\Program Files\GDAL\gdal-data
c.系统变量-新增-变量名:GDAL_DRIVER_PATH,变量值:C:\Program Files\GDAL\gdalplugins
测试gdal安装是否成功,cmd输入:

gdalinfo --version

C:\Users\hsg>gdalinfo --version
GDAL 2.2.3, released 2017/11/20

然后必须重启电脑,path系统变量才生效。

三、java集成gdal
java集成gdal主要是引gdal.jar依赖以及配置jdk可以调用到.dll动态链接库。
步骤:
1.把C:\Program Files\GDAL\下所有的.dll文件全部复制到jdk/bin/下;
2.把C:\Program Files\GDAL\java\下的gdal.jar复制到java项目src/main/resources/gdal/下;
3.pom.xml中引入gdal.jar包(即java项目src/main/resources/gdal/gdal.jar)

特别注意:gt-ogr-jni 24.0版本中引用的是gdal2.2.0版本,但网上未下载到gdal2.2.0版本的安装包
这里只找到gdal2.2.3版本的安装

<dependency><groupId>org.geotools</groupId><artifactId>gt-ogr-jni</artifactId><version>24.0</version><exclusions><exclusion><groupId>org.gdal</groupId><artifactId>gdal</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.gdal</groupId><artifactId>gdal</artifactId><version>2.2.3</version><scope>system</scope><systemPath>${project.basedir}/src/main/resources/gdal/gdal.jar</systemPath></dependency>

四、测试代码

package org.example;import org.gdal.osr.*;
import org.gdal.ogr.*;
import org.gdal.gdal.*;/*** Hello world!**/
public class App 
{public static void main( String[] args ){System.out.println( "Hello World!" );//System.load("gdalalljni.dll");System.out.println(System.getProperty("java.library.path"));// 设置java.library.path=path/to/gdal/library//System.setProperty("java.library.path", "C:\\Program Files\\GDAL");//System.out.println(System.getProperty("java.library.path"));//ogr.RegisterAll();int c=ogr.GetDriverCount();System.out.println(c);for(int i=0;i<c;i++){System.out.println(ogr.GetDriver(i).getName());}gdal.GDALDestroyDriverManager();}
}

测试结果如下所示:
Hello World!
76
netCDF
PCIDSK
JP2OpenJPEG
PDF
DB2ODBC
ESRI Shapefile
MapInfo File
UK .NTF
OGR_SDTS
S57
DGN
OGR_VRT
REC
Memory
BNA
CSV
NAS
GML
GPX
LIBKML
KML
GeoJSON
Interlis 1
Interlis 2
OGR_GMT
GPKG
SQLite
ODBC
WAsP
PGeo
MSSQLSpatial
PostgreSQL
MySQL
OpenFileGDB
XPlane
DXF
CAD
Geoconcept
GeoRSS
GPSTrackMaker
VFK
PGDUMP
OSM
GPSBabel
SUA
OpenAir
OGR_PDS
WFS
HTF
AeronavFAA
Geomedia
EDIGEO
GFT
SVG
CouchDB
Cloudant
Idrisi
ARCGEN
SEGUKOOA
SEGY
ODS
XLSX
ElasticSearch
Walk
Carto
SXF
Selafin
JML
PLSCENES
CSW
VDV
GMLAS
TIGER
AVCBin
AVCE00
HTTP
#—the—end—

http://www.lryc.cn/news/224955.html

相关文章:

  • AlphaControls控件TsRadioGroup的使用
  • 安卓常见设计模式8------享元模式(Kotlin版)
  • day54 django中orm数据库增删改查
  • 【js逆向实战】某sakura动漫视频逆向
  • L2-015 互评成绩
  • 【Docker安装RockeMQ:基于Windows宿主机,并重点解决docker rocketMQ安装情况下控制台无法访问的问题】
  • Android Studio——android项目运行main()函数
  • 移动医疗科技:开发互联网医院系统源码
  • 代码审计, 介绍, 思路总结
  • 2023NOIP A层联测27 总结
  • 2022最新版-李宏毅机器学习深度学习课程-P34 自注意力机制类别总结
  • css sprite 的优缺点,使用方法和示例
  • 通过Cookie和Session来实现网站中登录账号的功能
  • QWidget 实现九宫格图案解锁
  • 设计模式-适配器模式(Adapter)
  • react:创建项目
  • RabbitMQ集群
  • Qt QtCreator调试Qt源码配置
  • JavaScript如何实现钟表效果,时分秒针指向当前时间,并显示当前年月日,及2024春节倒计时,源码奉上
  • 重生奇迹MU套装大全中的极品属性
  • 用Python解决猴子分桃问题
  • YOLOv8-Seg改进:分割注意力系列篇 | 新型的多尺度卷积注意力(MSCA)模块
  • 基于springboot实现致远汽车租赁平台管理系统项目【项目源码+论文说明】计算机毕业设计
  • 真的设计师做图只需要一个炫云客户端就够了
  • 简述 HTTP 请求的过程是什么?
  • 免root修改手机imei的技术原理是什么?如何实现的?hook吗
  • 【Redis】整合使用,进行注解式开发及应用场景和击穿、穿透、雪崩的讲解
  • 数据分析-numpy
  • 【Java】云HIS云端数字医院信息平台源码
  • Jupyter Notebook 内核似乎挂掉了,它很快将自动重启