使用Anaconda中的Python,gdal版本为2.2.2,libtiff版本为4.09,操作系统为Win 7,内存为8G:
更新完软件包后,我发现我的程序无法运行。在Anaconda的命令提示符中,它显示“未定义GDAL_DATA”,所以我添加了一个环境变量“%~dp0......\Library\share\gdal”。好的,它不再告诉我“未定义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的值为None。所以我猜测GDAL现在已经损坏,无法打开tiff文件?之后,我又试了一下一个小一点的tiff文件(大约67.8兆字节)。成功了!但是我发现我的GDAL无法打开大的地理tiff文件,比如第一个文件(大约2.15G)。
那么,我该怎么做来解决这个问题呢?还是应该用其他库替换它? :)
gdal.Open()
之前尝试使用gdal.UseExceptions()
来查看问题所在。 - cgohlkegdal.Open()
之前添加了gdal.UseExceptions()
,但是出现了RuntimeError: This is a BigTIFF file. BigTIFF is not supported by this version of GDAL and libtiff.
错误提示。@mgc,@cgohlke - X.H Cui