Windows环境安装配置GDAL(JAVA、Python等)及Maven环境下使用

本文详述了在Windows 10环境下,如何安装配置GDAL(包括JAVA和Python),并指导在Maven项目中进行使用。重点介绍了安装GDAL的步骤、配置环境变量的方法以及在Maven中引用GDAL的依赖。还提到了遇到的问题及解决方案,如安装Microsoft SQL Server 2012 Native Client以解决特定错误。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

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

  1. 进入GISInternals Support官网,找到最新版本已经编译的GDAL,release-1911-x64-gdal-3-0-4-mapserver-7-4-3。
    在这里插入图片描述
  2. 找到gdal-300-1911-x64-core.msi下载。(当然直接点击这个超链接就可以,不过需要其他版本的小伙伴,可以按照自己的需要下载。)
    在这里插入图片描述
      官网下载页面已经提示了需要配置环境变量。
  3. 运行gdal-300-1911-x64-core.msi文件。
    在这里插入图片描述
       一路Next到Finish,安装器默认路径是:C:\Program Files\GDAL,且无法自定义修改,所以我们也不做他想了。
  4. 安装完成之后打开安装文件目录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才能成功。

  1. 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>

  1. 新建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]));
    }
}

  1. 运行测试。
    在这里插入图片描述

  安装配置成功!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 ClientSDK,默认情况下安装程序是不会安装的。

GISInternals Support
Microsoft SQL Server 2012 Native Client x64
Java 进行 GDAL 开发的注意事项
GDAL Maven

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值