【发布时间】:2018-09-19 12:34:51
【问题描述】:
python with anaconda .gdal version =2.2.2 libtiff version =4.09 ,Win 7 ,RAM =8G:
更新软件包后,我发现我的程序无法运行。在 Anaconda 提示符中,它显示“不确定 GDAL_DATA”,所以我添加了带有 '%~dp0......\Library\share\gdal' 的 env 变量。好吧,它没有告诉我“不确定 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 M)再试一次。成功了!所以我发现我的 GDAL 无法打开大的 Geo tiff 文件 比如第一个文件(约2.15G)
那么,我应该修复它还是用其他库替换它? :)
【问题讨论】:
-
在
gdal.Open()之前尝试gdal.UseExceptions()看看有什么问题。 -
您使用的是 32 位系统吗?如果是这样,也许你在打某种2GB limit?
-
我的系统是64位的。
-
我在
gdal.Open()之前加了gdal.UseExceptions(),但是RuntimeError: This is a BigTIFF file. BigTIFF is not supported by this version of GDAL and libtiff.@mgc,@cgohlke