在windows系统中使用GDAL

  • 啥是GDAL
  • windows 安装GDAL
    • osgeo4w 安装
    • osgeo4w 使用.py指令
    • python GDAL库安装
  • 参考

啥是GDAL

GDAL 官网
GDAL is a translator library for raster and vector geospatial data formats that is released under an MIT style Open Source License by the Open Source Geospatial Foundation.
简单的说,是在X/MIT许可协议下的开源栅格和矢量空间数据转换库。

windows 安装GDAL

osgeo4w 安装

osgeo软件包含了gdal的相关库,所以我们可以下载osgeo软件来使用gdal相关功能。osgeo4w顾名思义,是osgeo的windows版本,下载地址为osgeo4w. 下载安装后就可以使用gdal的相关命令了。打开osgeo4w shell

C:\>gdalinfo --version
GDAL 3.1.4, released 2020/10/20

当然,如果你安装QGIS等软件,会自带osgeo4w

osgeo4w 使用.py指令

我在实际应用中,想合并多个geoTiff文件。参考gdal官网,我可以调用gdal_merge方法,但在执行的过程中报错

C:\>gdal_merge
'gdal_merge' is not recognized as an internal or external command,
operable program or batch file.

这个问题可能的原因是,系统中有多套python环境,默认python环境是错误的。解决方法也很简单,调用 py3_env 即可

C:\>py3_envC:\>SET PYTHONHOME=C:\PROGRA~1\QGIS3~1.16\apps\Python37C:\>SET PYTHONPATH=C:\PROGRA~1\QGIS3~1.16\apps\Python37;C:\PROGRA~1\QGIS3~1.16\apps\Python37\ScriptsC:\>PATH C:\PROGRA~1\QGIS3~1.16\apps\Python37;C:\PROGRA~1\QGIS3~1.16\apps\Python37\Scripts;C:\PROGRA~1\QGIS3~1.16\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBemC:\>gdal_merge
No input files selected.
Usage: gdal_merge.py [-o out_filename] [-of out_format] [-co NAME=VALUE]*[-ps pixelsize_x pixelsize_y] [-tap] [-separate] [-q] [-v] [-pct][-ul_lr ulx uly lrx lry] [-init "value [value...]"][-n nodata_value] [-a_nodata output_nodata_value][-ot datatype] [-createonly] input_files[--help-general]

现在可以使用gdal_merge工作了。
备注:gdal_merge实际调用了bin/gdal_merge.bat文件,这个脚本文件中调用了gdal_merge.py

python GDAL库安装

在windows环境中,只用命令pip install GDAL 安装gdal库大概率会失败。原因是gdal使用c++编写的,这就意味着gdal库依赖c++代码,需要对c++代码进行编译和构建才可以使用。
解决方案是,在gdal wheel download中,找到符合你要求的版本,下载预编译的wheel文件,然后进行安装即可。

pip install path-to-wheel-file.whl

测试安装结果,可正常引用gdal模块

from osgeo import gdal

参考

  1. gdal officical website
  2. osgeo4w website
  3. gdal_merge not recognized as internal or external command in OSGeo4W
  4. python gdal wheel website
  5. How to Install GDAL for Python with pip on Windows
  6. gdal 中文课程笔记

写在最后,在我的工作环境,可以访问上述的所有网站。如果遇到网页打不开,文件无法下载的问题,可以联系我帮忙下载。

在windows系统中使用GDAL相关推荐

  1. ip设置 kali 重置_在 Windows 系统中如何重置 TCP/IP 协议堆栈修复网络连接问题

    Internet 在 TCP/IP 协议上工作,如果 TCP/IP 协议堆栈在 Windows 或任何其他操作系统(例如 Linux 或 MacOS)中无法正常工作,则您的 Internet 连接会出 ...

  2. windows系统中,在当前目录下打开cmd命令行的两种方法

    windows系统中,在当前目录下打开cmd命令行的两种方法 1.在当前路径地址栏中直接输入'cmd',然后回车. 2.在当前路径下,按住'shift'键同时点击鼠标右键,点击"在此处打开P ...

  3. Cmder命令行工具在Windows系统中的配置

    一.Cmder简介 Cmder:一款用于Windows系统中,可增强传统cmd命令行工具的控制台模拟器(类似于Linux系统中的终端控制窗口) 特点: 无需安装,解压即用 可使用较多Linux命令,如 ...

  4. Windows系统中让硬盘更快的九大绝招

    Windows系统中让硬盘更快的九大绝招 一.合理使用硬盘  何为合理使用硬盘呢?首先我们要了解硬盘盘片的物理结构.分区并格式化后的硬盘却是以扇区为基本单位的,一个分区是由若干个扇区构成的.那什么是扇 ...

  5. Windows系统中安装Python模块pip numpy matplotlib

    Windows系统中安装Python模块pip numpy matplotlib  [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/deta ...

  6. 在Windows系统中配置Google AddressSanitizer

    Google AddressSanitizer简介 AddressSanitizer (ASan) 是 C 和 C++ 的内存错误检测软件,它可以检测: 释放指针后继续使用 堆缓冲区溢出 栈缓冲区溢出 ...

  7. windows系统中创建线程常用哪几个函数,有什么区别?

    windows系统中创建线程常用哪几个函数? 在windows系统中创建线程的函数有: CreadThread,AfxBeginThread,_beginthread,_beginthreadex. ...

  8. mysql 重装,Windows系统中完全卸载MySQL数据库实现重装mysql

    一.在控制面板,卸载MySQL的所有组件 控制面板-->所有控制面板项-->程序和功能,卸载所有和MySQL有关的程序 二.找到你的MysQL安装路径,看还有没有和MySQL有关的文件夹, ...

  9. 在Windows系统中下载并安装Docker-desktop

    在Windows系统中下载并安装Docker-desktop 推荐目录:https://t.cn/A6ApnczU Docker for Windows 在Windows上运行Docker.系统要求, ...

最新文章

  1. jquery实现上传图片及图片大小验证、图片预览效果代码
  2. 针对Chrome的css的hack写法
  3. 专访 TensorFlow 贡献者唐源:掌握 Google 深度学习框架的正确姿势
  4. 打造最美HTML5 3D机房(MONO哥强势归来,第四季惊艳发布)
  5. 笔试——查找重复数(杭州某准独角兽)
  6. .NET 中上下文的概念
  7. ******中最常用的网络命令
  8. Flink读数据 addSource
  9. 从 Android 6.0 源码的角度剖析 Binder 工作原理 | CSDN 博文精选
  10. 网络校时(非NTP)
  11. PHP设计模式——原型模式
  12. IBM SL400驱动
  13. 树莓派引脚介绍与GPIO的初步认识与应用
  14. 局域网中毒2003server、Workstation服务自动停止!
  15. npm install报错ERR code ETIMEDOUT的解决办法
  16. bert中最大处理序列长度超过512的处理策略
  17. 富文本编辑器CKEditor配置与使用
  18. composer 升级/降级安装包
  19. 网站服务器防御怎么查,如何查看服务器被攻击
  20. java文件转二进制

热门文章

  1. 代理模式(JDK、CGLIB)
  2. Mac SecureFX 打开时乱码
  3. Go语言bits包的位运算操作基础
  4. 5.26 软件测试之配置管理
  5. 基于matlab多绕组变压器模型的磁饱和式可控电抗器仿真建模方法,基于MATLAB多绕组变压器模型的磁饱和式可控电抗器仿真建模方法...
  6. Java日期时间调整的几种方式
  7. WEB结合WML图铃下载全功略
  8. 2022G1工业锅炉司炉复训题库模拟考试平台操作
  9. 二叉排序树平均检索长度(ASL)的算法
  10. bison生成c语言文件指令,第13章 用 bison 做语法分析