当前位置: 首页 > 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—

相关文章:

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

基于windows、GDAL2.2.3版本和Java集成安装和使用GDAL库的方法 一、下载gdal windows版本64位2.2.3版本 下载地址&#xff1a; https://www.gisinternals.com/archive.php 找到gdal-202-1911-x64-core.msi下载并安装 安装后默认目录为&#xff1a;C:\Program Files\GDAL 二、…...

AlphaControls控件TsRadioGroup的使用

通常使用AlphaControls控件中的TsRadioGroup时&#xff0c;往往使用默认值&#xff0c;会造成TsRadioGroup标题被TsRadioGroup的ITEMs占用&#xff0c;严重影响美观&#xff1a; 解决方案&#xff0c;通过对TsRadioGroup的ContentVOffset属性&#xff0c;设置为10。即可立即改善…...

安卓常见设计模式8------享元模式(Kotlin版)

1. W1 是什么&#xff0c;什么是享元模式&#xff1f;​ 享元模式&#xff08;Flyweight Pattern&#xff09;是一种结构型设计模式&#xff0c;用于有效地支持大量细粒度的对象共享。在 Android 中&#xff0c;享元模式可以用于减少内存使用和提高性能&#xff0c;特别是在需…...

day54 django中orm数据库增删改查

昨日内容回顾 三板斧问题 HttpResponse # 返回的是字符串 render # 渲染一个HTML静态文件&#xff0c;模板文件 redirect # 重定向的 ​ """在视图文件中得视图函数必须要接收一个形参request&#xff0c;并且&#xff0c;视图…...

【js逆向实战】某sakura动漫视频逆向

写在前面 再写一个逆向实战&#xff0c;后面写点爬虫程序来实现一下。 网站简介与逆向目标 经典的一个视频网站&#xff0c;大多数视频网站走的是M3U8协议&#xff0c;就是一个分段传输&#xff0c;其实这里就有两个分支。 通过传统的m3u8协议&#xff0c;我们可以直接进行分…...

L2-015 互评成绩

学生互评作业的简单规则是这样定的&#xff1a;每个人的作业会被k个同学评审&#xff0c;得到k个成绩。系统需要去掉一个最高分和一个最低分&#xff0c;将剩下的分数取平均&#xff0c;就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。 输入格式&#xf…...

【Docker安装RockeMQ:基于Windows宿主机,并重点解决docker rocketMQ安装情况下控制台无法访问的问题】

拉取镜像 docker pull rocketmqinc/rocketmq创建网络 docker network create rocketmq-net构建namesrv容器 docker run -d -p 9876:9876 -v D:/dockerFile/rocketmq/namesrv/logs:/root/logs -v D:/dockerFile/rocketmq/namesrv/store:/root/store --network rocketmq-net -…...

Android Studio——android项目运行main()函数

报错&#xff1a; 解决&#xff1a; 如图&#xff0c;在 .idea 的 gradle.xml 中标注的位置增加如下一行代码即可<option name"delegatedBuild" value"false" />...

移动医疗科技:开发互联网医院系统源码

在这个数字化时代&#xff0c;互联网医院系统成为了提供便捷、高效医疗服务的重要手段。本文将介绍利用移动医疗科技开发互联网医院系统的源码&#xff0c;为医疗行业的数字化转型提供有力支持。 智慧医疗、互联网医院这一类平台可以通过线上的形式进行部分医疗服务&#xff…...

代码审计, 介绍, 思路总结

代码审计 一, 代码审计介绍 渗透测试中的代码审计是一个关键步骤&#xff0c;它涉及到深入检查应用程序的源代码&#xff0c;以发现安全漏洞、弱点或不合规的编码实践。这种审计通常由专业的安全工程师或渗透测试人员执行&#xff0c;并侧重于识别可能被黑客利用的安全缺陷。…...

2023NOIP A层联测27 总结

T1 一棵树&#xff0c;操作是把一个点染黑&#xff0c;查询点 x x x 到黑点路径上的最小编号&#xff0c; n ≤ 1 0 6 n\le10^6 n≤106。当时的思路是把树分成几部分&#xff0c;中间和周围的散块&#xff0c;发现不会&#xff0c;就没思路了&#xff0c;就去打了25pts暴力。赛…...

2022最新版-李宏毅机器学习深度学习课程-P34 自注意力机制类别总结

在课程的transformer视频中&#xff0c;李老师详细介绍了部分self-attention内容&#xff0c;但是self-attention其实还有各种各样的变化形式&#xff1a; 一、Self-attention运算存在的问题 在self-attention中&#xff0c;假设输入序列&#xff08;query&#xff09;长度是N…...

css sprite 的优缺点,使用方法和示例

CSS Sprite是一种网页图片应用处理方式。 CSS Sprite的原理是将一个网页或者一个模块所用到的零碎的icon整合拼接到一张大图里&#xff0c;再把这张大图作为背景图放入到网页中&#xff0c;当访问该页面时&#xff0c;加载的图片就不会像以前那样一幅一幅地慢慢显示出来了。 …...

通过Cookie和Session来实现网站中登录账号的功能

文章目录 一、Cookie和Session二、基于Cookie和Session实现登录账号的功能2.1步骤一2.2步骤二2.3步骤三2.4总结通过Cookie和Session来实现登录功能2.5运行截图 一、Cookie和Session cookie是http请求header中的一个属性&#xff0c;是浏览器持久化存储数据的一种机制&#xff…...

QWidget 实现九宫格图案解锁

前言 最近需要实现一个九宫格图案解锁功能,查看网上的方案,基于QWidget的方案全网搜来搜去就一篇 Qt编写自定义控件:图案密码锁, 都是炒来炒去的同一篇,代码还比较复杂,运行后在PC端还是可以的,但是运行在arm机器上,就卡顿,或者容易断开手势连接线,各种不友好,于是自…...

设计模式-适配器模式(Adapter)

设计模式-适配器模式&#xff08;Adapter&#xff09; 一、适配器模式概述1.1 什么是适配器模式1.2 简单实现适配器模式1.3 使用适配器模式注意事项 二、适配器模式的用途三、实现适配器模式的方式3.1 继承适配器模式&#xff08;Inheritance Adapter&#xff09;3.2 组合适配器…...

react:创建项目

一&#xff1a; 使用create-react-app // 默认创建reactjs的webpack打包项目 npm i create-react-app -g create-react-app 项目名// 创建ts项目打包项目 sudo npx create-react-app my-app --template typescript 二&#xff1a; 使用vite npm create vitelatest // 创建react…...

RabbitMQ集群

RabbitMQ概述 1.RabbiMQ简介 RabbiMQ是⽤Erang开发的&#xff0c;集群⾮常⽅便&#xff0c;因为Erlang天⽣就是⼀⻔分布式语⾔&#xff0c;但其本身并不⽀持负载均衡。支持高并发&#xff0c;支持可扩展。支持AJAX&#xff0c;持久化&#xff0c;用于在分布式系统中存储转发消…...

Qt QtCreator调试Qt源码配置

目录 前言1、编译debug版Qt2、QtCreator配置3、调试测试4、总结 前言 本篇主要介绍了在麒麟V10系统下&#xff0c;如何编译debug版qt&#xff0c;并通过配置QtCreator实现调试Qt源码的目的。通过调试源码&#xff0c;我们可以对Qt框架的运行机制进一步深入了解&#xff0c;同时…...

JavaScript如何实现钟表效果,时分秒针指向当前时间,并显示当前年月日,及2024春节倒计时,源码奉上

本篇有运用jQuery&#xff0c;记得引入jQuery库&#xff0c;否则不会执行的喔~ <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title></title> <meta name"chenc" content"Runoob"> <met…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中&#xff0c;如工厂高危作业区、医院手术室、公共场景等&#xff0c;人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式&#xff0c;存在效率低、覆盖面不足、判断主观性强等问题&#xff0c;难以满足对人员打手机行为精…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 &#xff0c;这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器&#xff0c;右键点击 .uproject 文件&#xff0c;选择 "Generate Visual Studio project files"&#xff0c;重…...