关于AE的IRasterDataset.Copy问题

问题描述

语言是C#,部分代码如下:publicstaticvoidgenerate_random_image(stringFileFullName){IWorkspacepWS;IRasterDatasetp_RD;IRasterDatasetp_CR;stringsPath=FilePath(FileFullName);stringsName=FileName(FileFullName);p_RD=OpenRasterDataset(sPath,sName);pWS=SetRasterWorkspace(sPath);p_CR=(IRasterDataset)p_RD.Copy("temp_random.tif",(IWorkspace)pWS);}第一次调用没问题,但是在第二次调用时,总是会报“未指定的错误”,后来检查了一下程序,发现当存在已temp_random.tif时会报错,所以就在Copy之前加了如下语句,以删掉它:if(File.Exists(tPath)){IDatasetpDS=(IDataset)OpenRasterDataset(sPath,"temp_random.tif");pDS.Delete();pDS=null;}但是当temp_random.tif被当做图层加到MapControl里之后,它就被程序独占了。在重复执行generate_random_image时,由于之前的独占,这个tif图无法被删除,所以运行到pDS.Delete()后还是报错,请问这该怎么办?

解决方案

解决方案二:
在Copy之前open,然后delete,这个啥意思?是不是先关闭再删除?
解决方案三:
Copy之前Open在是ArcGIS例程里的RasterEditor里可以找到。OpenRasterDataset(sPath,"temp_random.tif")的目的是打开sPath下的temp_random.tif,只有打开之后才能执行删除操作。

时间: 2024-08-01 05:34:07

关于AE的IRasterDataset.Copy问题的相关文章

也谈鹰眼(AE+C#)

最近,看到打听鹰眼问题的朋友特别多.AE+C#的鹰眼在网上代码已经很多了,我今天也放一个版本上 来,主要有以下几个功能: 1.主地图窗口视图范围改变后,鹰眼窗口绘制一个红色的框显示当前区域: 2.主地图比例尺发生改变后,鹰眼地图的比例尺也发生改变,只是改变的程度将小而已;(这和网上其 它代码不同,借鉴google地图鹰眼的显示效果) 3.在鹰眼地图上,用鼠标左键可以移动红色的区域框,松开鼠标后,主窗口地图视图范围更新为移动 后的框的范围; 4.在鹰眼地图上,用鼠标右键可以拉一个框,主窗口视图范围

浅谈Python中copy()方法的使用

  这篇文章主要介绍了浅谈Python中copy()方法的使用,Python中的拷贝分为潜拷贝和深拷贝,本文只是简单介绍用法,需要的朋友可以参考下 copy()方法返回字典的浅拷贝. 语法 以下是copy()方法的语法: ? 1 dict.copy() 参数 NA 返回值 此方法返回字典的浅拷贝. 例子 下面的例子显示了copy()方法的使用. ? 1 2 3 4 5 6 #!/usr/bin/python   dict1 = {'Name': 'Zara', 'Age': 7};   dict

php不使用copy()函数复制文件的方法

 这篇文章主要介绍了php不使用copy()函数复制文件的方法,涉及php读写文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php不使用copy()函数复制文件的方法.分享给大家供大家参考.具体如下: 下面的代码不使用php内置的copy函数,直接通过文件读取写入的操作方式复制文件 ? 1 2 3 4 5 6 7 8 9 10 11 12 <?php function copyfiles($file1,$file2){ $contentx =@file_get_c

wpf-vs2012 WPF 和AE开发系统,怎么实现点选查询。初学者求帮助

问题描述 vs2012 WPF 和AE开发系统,怎么实现点选查询.初学者求帮助 用wpf和AE开发系统怎么实现点选查询,就是点一个位置弹出属性表就可以.本人初学者,求各位大侠帮助.

OC weak strong __weak __strong copy retain assign nonatomic atomic等关键字的总结

 weak和strong的区别:       weak和strong)不同的是 当一个对象不再有strong类型的指针指向它的时候 它会被释放 ,即使还有weak型指针指向它. 一旦最后一个strong型指针离去 ,这个对象将被释放,所有剩余的weak型指针都将被清除. 可能有个例子形容是妥当的. 想象我们的对象是一条狗,狗想要跑掉(被释放). strong型指针就像是栓住的狗.只要你用牵绳挂住狗,狗就不会跑掉.如果有5个人牵着一条狗(5个strong型指针指向1个对象),除非5个牵绳都脱落 ,

ae-关于AE读取点流水文件生成shp点图层效率的问题,

问题描述 关于AE读取点流水文件生成shp点图层效率的问题, 由于我的kclswj.fmb中的点大概有12万条,这样循环执行起来特别慢,我初学AE开发,请问有没有高手可以给我指点一下,不胜感激.

pg copy命令导数

copy  在vim里面,用%s/|//g把所有的|符号替换掉,以,隔开字段  [root@localhost tmp]# cat a.txt  SanFrancisco,41,55,0,1994-11-29  xinzhou,32,32,0.11,2014-08-26  meiguo,25,65,0.58,2015-06-09  califonia,25,65,0.58,2013-04-09  shandong,25,65,0.58,2013-04-09  qingdao,85,20,0.64

String copy on write 引发的线程不安全

   一个string对象的读操作是线程安全的么?答案是否定的.读取一个string在某些情况下是线程不安全的.这是为什么呢?原因就是string在优化存储空间时采用的策略cow. 什么是cow      Cow 是copy on write的缩写.String 为了减少内存拷贝,当两个string对象的内容相同时,他们指向同一块内存空间,并通过引用计数来表示有多少对象引用了这块内存.当其中某个string对象的内容发生改变时,string会先重新分配一块空间,把原来的内容拷贝到新空间,原来的空

Copy 方法

  将指定文件或文件夹从一个位置复制到另一位置. object.Copy( destination[, overwrite] ); 参数 object 必选项. 应为 File 或 Folder 对象的名称. destination 必选项. 复制文件或文件夹的目的位置. 不允许通配字符. overwrite 可选项. Boolean 值,如果要覆盖已有文件或文件夹,则为 True (默认):否则,则为 False . 说明 Copy 方法对单个 File 或 Folder 所产生的结果和使用