zoukankan      html  css  js  c++  java
  • 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)函数中,否则无效。原理我也不明白。
    版权声明:本博原创文章可以被转载,但是在未经本人许可前,不得用于任何商业用途或其他以盈利为目的的用途。如需转载,请在转载时声明作者、保留出处。本人保留对本文的一切权利。 作者:AllenRobin Blog:http://gisrsman.cnblogs.com
  • 相关阅读:
    进程和程序
    linux socket基本知识
    window核心编程 第五章 作业
    树的基本操作(C语言)
    每天都在反省自己,但是每天却都浑浑噩噩
    Windows核心编程 内核对象
    还没完整看过一本技术的书籍啊
    管道
    Memory Layout of a C Program(7.6)
    cpio命令用法
  • 原文地址:https://www.cnblogs.com/GISRSMAN/p/4564041.html
Copyright © 2011-2022 走看看