python with anaconda .gdal version = 2.2.2 libtiff version = 4.09,Win 7,RAM = 8G:
更新软件包后,我发现我的程序不起作用。在Anaconda提示符中,它显示'不确定GDAL_DATA',所以我用'%~dp0 ...... \ Library \ share \ gdal'添加env变量.Ok,它没有告诉我'不确定GDAL_DATA'。但程序不起作用~~ :(
from osgeo import gdal
import numpy as np
ds = gdal.Open('G:\Soil_GridV2\Sand\SNDPPT_M_sl1_250m_ll.tif')
channel = np.array(ds.GetRasterBand(1).ReadAsArray())
然后:
from osgeo import gdal
import numpy as np
ds = gdal.Open('G:\Soil_GridV2\Sand\SNDPPT_M_sl1_250m_ll.tif')
channel = np.array(ds.GetRasterBand(1).ReadAsArray())
Traceback (most recent call last):
File "<ipython-input-18-343e96de9e31>", line 4, in <module>
channel = np.array(ds.GetRasterBand(1).ReadAsArray())
AttributeError: 'NoneType' object has no attribute 'GetRasterBand'**
所以我检查spyder中的变量,并发现ds是无值。我猜想现在破坏的GDAL无法打开tiff?所以我再次尝试使用一个小的tiff文件(约67.8 M).successed!所以我发现我的GDAL无法打开大的Geo tiff文件 例如第一个文件(约2.15G)
那么,我应该修复它还是用其他库重新编写它? :)
答案 0 :(得分:2)
我已通过使用pip命令更新GDAL 2.2.4解决了这个问题。注意:不要使用conda update命令,因为packages2.2.2不支持大tiff。