我正在将我用IDL(交互式数据语言)编写的代码移植到python中,但遇到了一些我希望有人可以帮助我的问题。
代码如下:
采取个别分类Landsat地理位置(假设每个场景有N个单独的1波段文件,每个代表不同的一天)并进一步将这些图像缩小为三个二元主题的1波段图像(水而不是水,土地而不是土地,水/土地而不是水/土地)。这将通过将栅格作为矩阵读取并替换值来完成。 **我实际上并不需要拥有这些图像,所以我可以将它们保存为内存,或者将它们保存为numpy ndarrays以进入下一步
堆叠这些图像/数组,为每个场景生成3个不同的(每个'元素1个)N波段堆栈(或3维数组 - (样本,行,N))
我遇到的问题是当我进入堆叠时,因为每个场景的单个图像大小不同,尽管它们大多彼此重叠。我最初使用ENVI图层堆叠例程,为每个场景拍摄N个不同大小的1波段图像,并将它们堆叠成N波段图像,其范围包含所有图像的范围,然后读取生成的栅格在三维数组中进行总计。我想用gdal / python做类似的事情,但我不确定如何去做。我想我会通过使用图像的地理转换信息以某种方式找到包含范围来实现geotiffs的gdal功能,可能用0填充图像的边缘,因此它们都是相同的大小,堆叠这些图像/ 3-d数组这样它们就可以正确对齐,然后计算总数。希望在gdal中有更直接的东西(或者在python的任何其他开源软件包中),因为我不确定如何将其删除。
对于做我需要做的事情,有没有人对什么是最有效的方式(或任何方式)提出任何建议或想法?我对任何事都持开放态度。
非常感谢, 玛吉