Windows环境安装配置GDAL(JAVA、Python等)及Maven环境下使用
参考了网上的很多的安装配置都不是很好,最终还是决定自己整理一份。
先附上一篇真正有价值的文章链接:Java 进行 GDAL 开发的注意事项
版本及环境
电脑环境: Windows 10 64 bit
JAVA版本:1.8
Maven版本:3.6.0
GDAL版本:3.0.0
GDAL(已经编译)下载地址:
GISInternals Support http://www.gisinternals.com/release.php
gdal-300-1911-x64-core.msi http://download.gisinternals.com/sdk/downloads/release-1911-x64-gdal-3-0-4-mapserver-7-4-3/gdal-300-1911-x64-core.msi
- 进入GISInternals Support官网,找到最新版本已经编译的GDAL,release-1911-x64-gdal-3-0-4-mapserver-7-4-3。

- 找到gdal-300-1911-x64-core.msi下载。(当然直接点击这个超链接就可以,不过需要其他版本的小伙伴,可以按照自己的需要下载。)

官网下载页面已经提示了需要配置环境变量。 - 运行
gdal-300-1911-x64-core.msi文件。

一路Next到Finish,安装器默认路径是:C:\Program Files\GDAL,且无法自定义修改,所以我们也不做他想了。 - 安装完成之后打开安装文件目录
C:\Program Files\GDAL,找到GDALShell.bat批处理文件。

实际上这个GDALShell.bat批处理文件就是环境变量的配置文件,右键以管理员身份运行。
笔者这边尝试了没有效果,所以就在
Windos PowerSell里手动运行了一下。成功的小伙伴可以跳过后面第四节的内容。
-
Windows键 + X,选择Windos PowerSell(管理员)运行Windos PowerSell。

-
cd 'C:\Program Files\GDAL'进入安装目录,GDALShell运行批处理文件,gdalinfo测试配置是否成功。

注意:Windows 10 环境下的Windos PowerSell和以前的Cmd命令还是有不同的,由于C:\Program Files\GDAL中存在空格,所以要加‘单引号,有的电脑版本在运行GDALShell文件时还需要加上.\,即.\GDALShell才能成功。
Maven环境下使用。
<dependency>
<groupId>org.gdal</groupId>
<artifactId>gdal</artifactId>
<version>3.0.0</version>
</dependency>
谷歌的Maven仓[org.gdal]上截至2020年6月份,最新的版本是3.1.0的,但是GISInternals Support最新的GDAL是 release-1911-x64-gdal-3-0-4-mapserver-7-4-3 也就是3.0.4的,所以我们只能用3.0.0的Maven包。
附上我个人的pom文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<artifactId>gdal-test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>gdal-test</name>
<description>测试</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.gdal</groupId>
<artifactId>gdal</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>cn.bluethink.task.GDALTestApplication</mainClass>
<layout>JAR</layout>
</configuration>
</plugin>
</plugins>
</build>
</project>
- 新建
GDALTestApplication类,读取一个影像文件,测试使用。
package cyan.simple.gdal;
import org.gdal.gdal.Dataset;
import org.gdal.gdal.gdal;
import org.gdal.gdalconst.gdalconstConstants;
public class GDALTestApplication {
public static void main(String[] args) {
gdal.AllRegister();
String fileName = "G:\\IDEAWorkPlaces\\Gdal\\data\\0.8m公司基地楼\\20170805_0.8m.tif";
Dataset dataset = gdal.Open(fileName, gdalconstConstants.GA_ReadOnly);
if (dataset == null) {
System.err.println("GDALOpen failed - " + gdal.GetLastErrorNo());
System.err.println(gdal.GetLastErrorMsg());
System.exit(1);
}
double[] ori_transform = dataset.GetGeoTransform();
System.out.println(String.format("Origin = (%s, %s)", ori_transform[0], ori_transform[3]));
System.out.println(String.format("Pixel Size = (%s, %s)", ori_transform[1], ori_transform[5]));
}
}
- 运行测试。

安装配置成功!Python环境的话就不测试了。
后续补充(2020-8-17):最近发现官网已经更新了release-1911-x64-gdal-3-1-2-mapserver-7-6-1的版本,但是发现怎么都下载不下来,无奈只能继续使用老版本了,但是中间验证安装完整性的时候却发现出了Can't load requested DLL: C:\Program Files\GDAL\gdalplugins\ogr_MSSQLSpatial.dll的错误,一番查询之后发现GDAL会用到Microsoft SQL Server 2012 Native Client x64的SDK,安装一下就可以解决这个问题,这里放出下载连接,就不放详细的安装过程图片了。
Microsoft SQL Server 2012 Native Client x64 下载地址:
Microsoft SQL Server 2012 Native Client x64 https://download.microsoft.com/download/B/E/D/BED73AAC-3C8A-43F5-AF4F-EB4FEA6C8F3A/ENU/x64/sqlncli.msi
注意:安装过程中需要手动勾选Microsoft SQL Server 2012 Native Client的SDK,默认情况下安装程序是不会安装的。
GISInternals Support
Microsoft SQL Server 2012 Native Client x64
Java 进行 GDAL 开发的注意事项
GDAL Maven
本文详述了在Windows 10环境下,如何安装配置GDAL(包括JAVA和Python),并指导在Maven项目中进行使用。重点介绍了安装GDAL的步骤、配置环境变量的方法以及在Maven中引用GDAL的依赖。还提到了遇到的问题及解决方案,如安装Microsoft SQL Server 2012 Native Client以解决特定错误。
5168

被折叠的 条评论
为什么被折叠?



