python 中安装 xarrary_windows10 环境中安装GDAL及其python绑定

GDAL是GIS遥感专业经常需要用到的开源栅格空间数据转换库。每一个地理空间科学的学生,都会遇到如何安装GDAL极其python绑定问题。从来没有一个详尽的教程指导大家快速解决这个问题,为后续的地理空间数据分析节约宝贵时间。为此,我在这里详尽地记录一下,GDAL这个折磨人的组件在windows10环境中的安装和配置过程。(CSDN上面有很多,但绝对没有告诉你整个流程中碰到的全部问题解决办法)

按照官网(https://trac.osgeo.org/gdal/wiki/DownloadingGdalBinaries)所指出的,有五种可以安装GDAL到windows的方式,这几种我都用过,只是都有太多这样那样的问题,这里我强烈推荐ms4w安装方式,尽管会安装一些无关的东西,例如Apache web server,但总体来讲,配置成功的概率要高很多。

  • ​GISInternals maintained by Tamas Szekeres contains a complete set of Win32 and Win64 binary packages (compiled with VC2005/VC2008/VC2010/VC2012/VC2013).
These packages are based on the current development and stable branches built from the GDAL SVN daily. The corresponding SDK packages are also available to download from this location. The -devel packages are based on the developement version (2.1dev at time of writing), and the -stable packages are based on the latest stable branch (1.11 at time of writing)
  • ​MS4W (MapServer for Windows) is a popular installer that contains GDAL & its utilities, MapServer, PHP, Python, and the Apache web server. As of MS4W version4 it is a full SDI, with ability to publish WMS, WFS, WCS, SOS, CSW, WPS services. Maintained by ​Gateway Geomatics.
MS4W includes GDAL python bindings, GDAL Oracle plugin, ECW/MrSID support, as well as other useful commandline utilities for MapServer, Spatialite, MapCache, OpenSSL, Shapelib, PHP, Python, and UnixUtils.
  • OSGeo4W is a binary distribution of a broad set of open source geospatial software for Win32 and Win64 environments (Windows XP, Vista, Windows 7, Windows 10). OSGeo4W includes GDAL/OGR, ​GRASS, MapServer?, ​OpenEV, ​uDig, as well as many other packages (over 150 as of December 2015).
  • ​Microsoft vcpkg, ecosystem of Visual C++ packages, now offer ​GDAL 2.2.2.
  • ​GDAL binaries from NuGet - package manager for the Microsoft development platform

这里,假定我们的机器上没有旧的python环境,通过在https://ms4w.com/官网上下载ms4w-4.0.3-setup.exe安装程序,采用默认安装位置在C:ms4w中(记录这个位置是因为,后面如果用pycharm工具时,可以直接选择解释器为这个里面的python编译器),通过更加仔细查看官网说明,这个ms4w包里面包括了下面这些组件包:这所以包括这些,完全是因为它是我们要安装python-gdal绑定时需要参考的版本情况。

  • MapServer 7.6.0-dev
  • GDAL 2.4.4
  • Apache 2.4.41
  • PHP 7.2.27
  • Python 3.7.5
  • MapCache 1.9dev

接着,我们要安装 GDAL core以及GDAL python binding,主要的原因是在windows下面不能像linux那样直接使用pip install gdal==2.4.4来安装,不然会报下面的错误:

94b65e48053e017d654dbdd15b16d468.png

不要再浪费时间google这个错误了,要安装的这个GDAL core和binding可以在(http://www.gisinternals.com/release.php)找到,如下图所示:

92527f81aef6da8e8dbac63ca60816db.png

这里我选择的是x64版本,红色箭头所示的,因为之前安装的是2.4.4版本的,点击之后选择这两个,分别进行默认安装,对于core来讲,默认的安装位置在C:Program FilesGDAL,另外一个默认安装在这个目录之下。

e530e092abad811b9833b1e23e141f39.png

接着,需要配置windows10系统环境变量,首先配置Path环境变量,

加入C:Program FilesGDAL,然后继续增加GDA_DATA以及GDAL_DRIVER_PATH这两个环境变量,如图所示:

ff2793ba6ab9776057b3f96e0cf209ee.png

7bf534f6ef918ea884a27d62785bd61f.png

最后,需要在python集成环境中安装gdal绑定,这个问题有点意思,在浏览器中打开(https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal)可以看到如下图所示的选择界面,按照前面说的,我们的系统是64位的,然后2.4.1版本的和我们要求最接近,而且是python3.7,似乎安装这个不会有问题,当你尝试在ms4w shell下面用pip安装时,会发现

5b70378dde62966a4229c3bcead2445e.png

下面的这个错误:

48e980e82dbc515ba88b0b5c9a86d4a6.png

还能说撒呢,既然64位有问题,我们只能退而求其次,用32位的,上图中明显对比说明。我在想到底有多少GDAL的坑要趟过去。之前跟大家说了善睐致力于解决遥感数据获取难,处理难,使用难的问题,昨天在上线 之前做了测试,GDAL所调用的坐标转换报告错误。尼玛,昨天坑了我一晚上,今天继续排查。请大家继续关注我们,今天要向大家介绍的,就是windows 下面如何安装和使用gdal要注意的事情。如有问题,随时联系huangwei0316@hust.edu.cn这个邮箱。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值