使用GDAL 1.6.1创建CFloat64 ENVI文件时出现问题
我正在尝试使用GDAL编写ENVI CFloat64文件:
import numpy
from osgeo import gdal
from osgeo.gdalconst import GDT_CFloat64
a = numpy.zeros((1000, 1000), dtype='complex64')
driver = gdal.GetDriverByName("ENVI")
outfile = driver.Create("test.bin", 1000, 1000, 1, GDT_CFloat64)
outfile.GetRasterBand(1).WriteArray(a, 0, 0)
outfile = None
但我不能把数组写入outfile.GetRasterBand(1).WriteArray(a, 0, 0)
中的乐队,因为outfile
是None
;但是,空文件确实已创建。我有什么想法我做错了吗?
编辑:我应该指定我可以读取和写入ENVI Float32文件,因此驱动程序在那里。只有我不能写的CFloat64 ......
没有找到相关结果
已邀请:
2 个回复
bab
或
等返回
时,它是gdal提出
或指示的方式,而不是给定的驱动程序名称无效。 (或者可能表示发生了另一种错误,但这两种错误似乎最有可能) (我会跳过关于我多么不喜欢gdal的python绑定的咆哮......) 你没有明显做错任何事(该示例在我的机器上创建一个带有全零和。格式正确的.hdr文件的.bin文件。)。 鉴于它创建了一个空文件,您似乎有权写入该文件,因此这不是IO问题。 这意味着: 你的gdal版本不支持ENVI文件(例如
也会返回
。) 在为ENVI数据集创建驱动程序时,Gdal遇到某种内部错误。 检查
的输出,并确保编译gdal支持ENVI文件(我认为它应该是默认的)。 如果没有,请检查您是否可以使用所有零值编写geotiff(或任何其他格式)。如果没有任何工作,您需要重新安装gdal。 希望能让你指出正确的方向!
疏腔傻小雹