000049:构建栅格属性表失败

我用ArcEngine的IRasterModel接口,通过地图代数表达式对现有的栅格数据进行处理,生成了一个新的栅格数据(值只有0和1)。在用ArcEngine构建栅格属性表之前,我想先用Desktop构建栅格属性表,检验上一步生成的数据是否有问题。
                IRasterModel pRasterModel = new RasterModelClass();
                IRasterAnalysisEnvironment pRAEnviroment = (IRasterAnalysisEnvironment)pRasterModel;
                pRAEnviroment.OutWorkspace = pWorkspace;
                pRasterModel.BindRaster(pRaster, "in");
                pRasterModel.Script = "[out] = [in] >= " + sValue;
                pRasterModel.Execute();
                IRaster OutGrid = pRasterModel.get_BoundRaster("out");
                pRasterModel.UnbindSymbol("in");
                pRasterModel.UnbindSymbol("out");
                ISaveAs2 pSaveAs = (ISaveAs2)OutGrid;
                pSaveAs.SaveAs(OutGridName, pWorkspace, "GRID");
 
在Desktop中加载显示正常。用Desktop构建栅格属性表报错,代码000049,系统描述是“检查是否为单波段、整型数据”。附上生成的栅格数据在ArcCatalog中的属性截图(是整型单波段数据),请问是什么问题?希望在Desktop找到数据存在的问题,然后修改ArcEngine对数据的处理。
1.png

2.png
已邀请:

朱新颖

赞同来自:

该工具帮助中说仅针对离散数据(见下图),我看您的数据是连续的,建议您换成离散的试试。

Raster.jpg

 

ShineZhang

赞同来自:

谢谢回复!连续数据也可以用,我刚找到原因。地图代数中间过程已经在临时工作空间默认生成了栅格属性表,但是属性表一直是lock状态,解除lock后临时工作空间的自动删除,自己保存的结果不完整(单缺属性表)。拖进Map可以显示,但是数据格式已经破坏,Catalog中无法正常访问和删除。

要回复问题请先登录注册