我在使用ENVI5.0API时遇到了以下问题:我经常在脚本中使用ENVI_DOIT批处理例程来生成中间图像,使用/IN_MEMORY开关将它们留在内存中。当我处理完它们时,我会用
ENVI_FILE_MNG,id=FID,/REMOVE。
在ENVI 5.0 "Classic“中效果很好。然而,新的ENVI 5.0 GUI似乎觉得有义务将所有以这种方式创建的图像放在“视图”中,完成金字塔的构建,我得到了警告
“处理金字塔时无法关闭栅格”
因此,不能以编程方式删除中间文件。我尝试将它们作为临时文件放在磁盘上,但当我尝试从脚本中删除这些文件时,同样的错误弹出。有什么方法可以避免这种情况吗?
发布于 2012-12-22 01:11:16
我确信这个目前已经被破坏了。我尝试了许多方法,包括尝试手动触发金字塔的创建,测试它是否存在,然后关闭栅格,如下所示:
raster_file.createpyramid
print, raster_file.pyramid_exists ; prints '1'
raster_file.close我仍然得到这样的错误:“在处理金字塔时无法关闭栅格。”
我要切换回ENVI经典。
发布于 2018-07-23 11:21:41
这一条对我很有效:
;pro closeall
fid=envi_get_file_ids()
if fid[0] ne -1 then begin
for i=0, n_elements(fid)-1 do begin
envi_file_mng, id=fid[i], /remove
endfor
endif
;end资料来源:
https://stackoverflow.com/questions/13375484
复制相似问题