摘要: 刚想实现删除axMapControl 中指定的元素。实现该功能首先得获取欲删除的Element。下面代码为遍历方式获取其中的Element IGraphicsContainer pGrappic=axMapControl1.Actiview as IGrapicsContainer IElement pElement = pGraphic.Next();IGraphicsContainer 还提供了交互式的获取Elments,其中包括以point的选的pGraphic.LocateElements和以Envelope 选的pGraphic.LocateElementsByEnvelope。.. 阅读全文
posted @ 2012-07-15 11:14 suwenjiang 阅读(1630) 评论(0) 推荐(0) 编辑
摘要: 在shp文件转换为evf的时候。如果shp文件的polygon存在岛的话,转换的evf是有问题的。解决方法,是读取shp中的所有部分。pro shapefileToEvfcompile_opt idl2ENVI, /RESTORE_BASE_SAVE_FILESENVI_BATCH_INIT, LOG_FILE='batch.txt';打开shp文件shapefile='C:\Users\younglimpo\Desktop\掩膜\sheng.shp';读取投影信息,并由此创建投影文件projstr='C:\Users\younglimpo\Deskto 阅读全文
posted @ 2012-07-04 21:55 suwenjiang 阅读(5359) 评论(2) 推荐(0) 编辑
摘要: 在ENVI\IDL 下图像重采用是用Resize_doit 函数。该函数能用来改变图像的大小和对图像重采样。该函数有个参数RFACT。RFACTUse this keyword to specify a two-element array holding the rebin factors for x and y. The values of RFACT reflect the IDL convention for resizing data. A value of 1 does not change the size of the data. Values less than 1 cause 阅读全文
posted @ 2012-07-01 12:16 suwenjiang 阅读(9742) 评论(1) 推荐(0) 编辑
摘要: 通常许多的影像有黑边,也就是value=0。通过以下代码可以清除Valu=0的值。 IRasterLayer pRasterLayer = new RasterLayerClass(); //strFileFullName 输入文件 pRasterLayer.CreateFromFilePath(strFileFullName); IRasterProps pRstProps = pRasterLayer.Raster as IRasterProps; ... 阅读全文
posted @ 2012-06-10 20:47 suwenjiang 阅读(902) 评论(0) 推荐(0) 编辑
摘要: 在进行ENVI\IDL与C#进行混编的时候,以出现以下两个问题。问题一: attempt to call undefined procedure/fuction。。。。问题二: 计算机中缺少dll文件,如 pe_core.dll解决办法:问题一: 在对idl的工程保存成save文件是 一定要注意要 按照以下步骤:1. 重置.FULL_RESET_SESSION 2. 编译 .compile ** (工程名不含后缀) 3. iresolve 4. save,/routine,filename='***'问题二: 将idl安装目录bin下面的对应的dll拷贝到vs的bin下。 阅读全文
posted @ 2012-06-02 17:41 suwenjiang 阅读(780) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/rrrrssss00/article/details/4843841 方法1:pro testEnviImg,path; compile_opt idl2; envi,/restore_base_save_files; envi_batch_init path = ENVI_PICKFILE(title='pick file') envi_open_file, path, r_fid=fid if (fid eq -1) then return ;ENVI_SELECT, fid=fid ,pos=pos envi_file_qu 阅读全文
posted @ 2012-05-18 14:48 suwenjiang 阅读(1394) 评论(0) 推荐(0) 编辑
摘要: 从昨晚到现在一直在纠结这个HRESULT:0x80040228异常。因为我写的功能是打开矢量数据。这几行代码,无论写多少遍应该也不会出错。所以在抓狂中。没有静下心来找答案。通过洋仔百度,才发现原来要在子窗体中也要拖入License空间。解决办法:把Lincense 空间拖入到窗体中。 阅读全文
posted @ 2012-04-24 10:14 suwenjiang 阅读(1010) 评论(4) 推荐(0) 编辑
摘要: 刚从datagridview中读取数值,但是该值为object类型。需要的是byte[] 类型。在度娘的帮助下,还是找到了解决办法。。 private byte[] ConvetToObj(object obj) { BinaryFormatter se = new BinaryFormatter(); MemoryStream memStream = new MemoryStream(); se.Serialize(memStream, obj); byte[] bobj = memStre... 阅读全文
posted @ 2012-04-20 15:36 suwenjiang 阅读(1913) 评论(0) 推荐(0) 编辑
摘要: 在基于ENVI的二次开发中,要提供idl.dll 的路径。获取该路径需要获取idl的安装目录,一般在ENVI安装的根目录下。为了获取ENVI的安装目录,读取注册表信息。 public static string IDLBinPath { get { using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall", false)) ... 阅读全文
posted @ 2012-04-16 10:51 suwenjiang 阅读(1316) 评论(0) 推荐(0) 编辑
摘要: 1.Feature的基本渲染方法Feature的常用的绘制方法包括: 1.简单绘制 2.唯一值绘制/多字段唯一值绘制 3.点密度/多字段点密度绘制 4.数据分级绘制 5.质量图(饼图/直方图) 6.按比例尺渲染 7.比例符号渲染1.简单渲染 简单渲染是ArcEngine的默认渲染,我们打开一个FeatureClass,建立一个atureLayer的时候,如果没有给FeatureLayer设置Renderer那么使用的就是简单渲染。简单渲染对整个图层中的所有Feature 使用同一种方式显示。 简单渲染在ArcEngine中用ISimpleRenderer来表示。ISimpleRenderer的 阅读全文
posted @ 2012-03-22 16:56 suwenjiang 阅读(652) 评论(0) 推荐(0) 编辑