LINUX下部署gdal环境

前因

最近想将气溶胶算法并行化,于是将算法从IDL语法改成了Python语法。因为Python的gdal库能够将栅格影像读取成二维数组。但是代码在本地跑得起来,在集群上却显示。于是想重装gdal

   486     # open srtm tif-file:
   487     dem_ds = gdal.Open(gdir.get_filepath('dem'))
--> 488     dem = dem_ds.ReadAsArray().astype(float)
   489 
   490     # Correct the DEM (ASTER...)

/home/docs/checkouts/readthedocs.org/user_builds/oggm/conda/docs/lib/python3.5/site-packages/osgeo/gdal.py in ReadAsArray(self, xoff, yoff, xsize, ysize, buf_obj, buf_xsize, buf_ysize, buf_type, resample_alg, callback, callback_data)
  1971         parameters should generally not be specified if buf_obj is specified. The array is returned"""
  1972 
-> 1973         from . import gdalnumeric
  1974         return gdalnumeric.DatasetReadAsArray( self, xoff, yoff, xsize, ysize, buf_obj,
  1975                                                buf_xsize, buf_ysize, buf_type,

/home/docs/checkouts/readthedocs.org/user_builds/oggm/conda/docs/lib/python3.5/site-packages/osgeo/gdalnumeric.py in <module>()
----> 1 from osgeo.gdal_array import *
     2 from numpy import *

/home/docs/checkouts/readthedocs.org/user_builds/oggm/conda/docs/lib/python3.5/site-packages/osgeo/gdal_array.py in <module>()
   166 
   167 import numpy
--> 168 import _gdal_array
   169 
   170 from . import gdalconst

ImportError: No module named '_gdal_array'
'

步骤

1.下载gdal库文件

http://download.osgeo.org/gdal/

2.安装

我下载的是tar.gz文件,可以通过“tar -zxvf 压缩文件名.tar.gz”解压文件。并运行以下命令
(1)解压后进入:cd gdal-1.11.2
(2)./configure --prefix=“此处设置你的安装路径”,当然,我们也可以直接运行“./configure”,安装到默认位置
(3)make
(4)make install(如果有权限不足不能写入的话就sudo make install)
按照默认位置安装成功后,会在安装路径的include文件夹中产生一系列.h文件(cpl_config.h、gdal.h……),在安装路径的lib文件夹中产生5个库文件,其中libgdal.a和libgdal.la为静态链接库,libgdal.so等为动态链接库。

3.配置环境变量

将依赖的动态库和静态库添加到LD_LIBRARY_PATH环境变量中区。编辑bash的用户配置文件:
运行以下命令:

  • vim~/.bashrc
    -输入“i”进入插入模式,将光标移动到文件末尾
   export PATH=$PATH:/home/dell/gdal-2.3.2/bin
   export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/dell/gdal-2.3.2/lib

-按esc退出插入模式,输入“:wq”保存退出,执行“source ~/.bashrc”更新变量

4.安装Python的gdal扩展包

进入到安装包的gdal-2.3.2/swig/python目录下
-修改setup.cfg的gdal_config参数,成 /usr/bin/gdal-config(默认安装), but it may be in another place depending on how your packager arranged things. (你的安装路径的对应位置)
-执行编译和安装

 $ python setup.py build
$ python setup.py install

后记

在重新安装了gdal后,之前遇到的‘No module named '_gdal_array'这个错误,还是没有解决。最后发现本地有两套Python,环境变量中也有这两套的地址,然后我更新的gdal扩展包只在其中一套,后来将那套没有gdal的Python删除,并重新修改环境变量,该错误消失。


参考
linux下部署gdal环境:https://blog.csdn.net/hnyzwtf/article/details/44674179
linux设置python环境变量:https://www.cnblogs.com/babykick/archive/2012/03/05/2379965.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 可能随着具体系统的不同稍有不同,但总体流程是一致的,该流程已在Suse 11、12以及CentOS 7中成功通过。...
    炼狱的吹笛人阅读 8,482评论 4 1
  • 北京时间10月2日,据《圣何塞水星新闻》报道,昨天勇士与掘金的季前赛开始之前,4届最佳防守球员本-华莱士把上赛季的...
    coco9981阅读 533评论 0 1
  • 一段越是亲密的关系,一旦变了质,越是容易让人恶心。处于亲密关系之中而做出的种种举动,彼时甜蜜浪漫,可也并不一定都是...
    怪物不二阅读 4,337评论 27 90
  • 我又在浑浑度日如年了,没有任何的改变,整天就把自己当成一个后备的打杂的,上班下班,生活没有了自己的想法,只是在悄然...
    葛三毛阅读 387评论 0 0
  • 突然的一个想法,洗澡照镜子发现,腰越发像水桶,自己都不忍直视,决定辟谷几天,减肥是最直接目的,刚好9号开班,开完班...
    小颖姑娘阅读 580评论 0 0