AE影像处理时ISAVEAS不能实时写入文件

 

//Author:AllenRobin http://gisrsman.cnblogs.com

 

AE中有个设计,影像从内存存储到文件时,不是实时读写的。

咨询ESRI技术支持,却否认这个情况。(为什么?)

 

例如,以下操作时,只有关闭窗体/进程时,数据内容才真正写入到“Result.tif"中,这个文件是1KB的,无法读取数据。
ISaveAs saveAs = (ISaveAs)raster;
saveAs.SaveAs(“Result.tif”, rasterWorkspace, 'TIFF');

在GDAL中有强制回写功能,在arcgengine中未发现类似功能。
 
经过反复尝试,要想离开写入数据到文件中,可以在后面追加这句代码
GC.Collect();
利用.NET强制进行即时垃圾回收,“逼迫”AE把数据写入到文件中。
 
//20170719补充
GC.Collect()不能写在静态(static)函数中,否则无效。原理我也不明白。

转载于:https://www.cnblogs.com/GISRSMAN/p/4564041.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值