波段合成报错栈溢出

自己写一个波段合成的方法,代码如下
IRasterBandCollection rasterBandCollection;
IRaster newRaster = new RasterClass();
rasterBandCollection = newRaster as IRasterBandCollection;
foreach(IRasterBand band in lst)//lst是从多个影像中获取的波段
{
rasterBandCollection.AppendBand(tempRasterBand);
}

ISaveAs2 save = newRaster as ISaveAs2;
IDataset outRaster = save.SaveAs("test.tif", rasterWorkspace as IWorkspace, "TIFF");//此处报错
System.Runtime.InteropServices.Marshal.ReleaseComObject(outRasterDS);
报错类型为System.StackOverflowException,之后尝试了lst添加三次同一波段、单波段,都失败了,报错都是如此。所用栅格数据量很小,均为几十M的数据。
应该如何操作才能实现效果?
已邀请:

朱新颖

赞同来自:

jiushidt - AE使用者

赞同来自:

貌似是因为数据来源问题,之前的band都是通过new rasterdaptaset()~openfromfile的方法打开获取的,如果使用工作空间打开栅格数据集则可以。不晓得这两种方式打开的栅格数据集有什么区别

要回复问题请先登录注册