将栅格数据 加载到Mapcontrol中 出现异常

问题描述

OpenFileDialogdlgOpen=newOpenFileDialog();dlgOpen.Title="选择影像数据";dlgOpen.Filter="tif影像(.tif)|*.tif|jpg影像(.jpg)|*.jpg|bmp影像(.bmp)|*.bmp|所有影像(*.*)|*.*";dlgOpen.Multiselect=false;if(dlgOpen.ShowDialog()!=DialogResult.OK){return;}try{pPath=dlgOpen.FileName;this.txtDmpPath.Text=pPath.ToString();this.btnAdd.Enabled=true;this.dxErrorProvider1.ClearErrors();}catch(System.Exceptionex){AppLog.log.Error(ex);this.dxErrorProvider1.SetError(this.btnSelectDmp,"非法的影像数据!");}上面的没问题intindex=pPath.LastIndexOf("\");stringfilePath=pPath.Substring(0,index);stringfileNam=pPath.Substring(index+1);IWorkspaceFactoryworkspcFac=newRasterWorkspaceFactoryClass();IRasterWorkspacerasterWorkspc;IRasterDatasetrasterDatst=newRasterDatasetClass();IRasterLayerrasterLay=newRasterLayerClass();rasterWorkspc=workspcFac.OpenFromFile(filePath,0)asIRasterWorkspace;rasterDatst=(IRasterDataset)rasterWorkspc.OpenRasterDataset(fileNam);rasterLay.CreateFromDataset(rasterDatst);m_App.AxMapControl.AddLayer(rasterLay);m_App.AxMapControl.Refresh();红色的地方出现异常请大家帮忙看看DataFrameExtent=“rasterLay.DataFrameExtent”引发了“System.Runtime.InteropServices.COMException”类型的异常FilePath=“rasterLay.FilePath”引发了“System.Runtime.InteropServices.COMException”类型的异常Renderer=“rasterLay.Renderer”引发了“System.Runtime.InteropServices.COMException”类型的异常

解决方案

解决方案二:
没人会吗。。。。。。
解决方案三:
m_App.AxMapControl.AddLayer(rasterLayasILayer);

时间: 2024-11-02 12:27:21

将栅格数据 加载到Mapcontrol中 出现异常的相关文章

linux系统 动态共享库-动态共享库加载到内存中,怎样才能保证只有一份副本

问题描述 动态共享库加载到内存中,怎样才能保证只有一份副本 这几天一直在看关于动态共享库的知识,但看到一个地方,就不懂了,在网上搜索了一下!也没有找到答案!希望有哪位高手,帮小弟解答一下,小弟不胜感激! 问题:动态共享库,顾名思义,可以在多个进程间,进行共享!在系统中只保存一份副本,现在假设Process A已经将Lib A Load到物理内存,但当同样共享Lib A的Process B开始运行时,它是如何知道Lib A已经被加载到内存中,且如何找到这块物理内存?

mfc-求大神解答,在MFC中如何通过代码将本地的图片加载到资源中并分配ID?

问题描述 求大神解答,在MFC中如何通过代码将本地的图片加载到资源中并分配ID? 求大神解答,在MFC中如何通过代码将本地的图片加载到资源中并分配ID? 解决方案 资源是编译时候的概念,加载是运行时候的概念. 资源被资源编译器编译,再通过链接器附加到可执行文件上.程序运行的时候它是只读的. 解决方案二: 不知道你为什么要怎么做,不可以直接在程序中调用资源吗 解决方案三: 用CXImage等类库可以加载文件 解决方案四: 用CImage加载本地图片就不要放到资源视图中了,也就没有资源ID的概念了.

easyui-easyUI先提交form表单做条件查询返回的结果加载到datagrid中,应该怎么做?

问题描述 easyUI先提交form表单做条件查询返回的结果加载到datagrid中,应该怎么做? 我是这么写的,但是这样form表单提交不到后台去,不知道怎么做 $('#tt').datagrid({ pageNumber : curr url : $('#bas').val() + '/showUser.action' onLoadSuccess : function() { } onLoadError : function() { $('#tt').datagrid('appendRow'

webview-把WebView加载到ViewPager中问题

问题描述 把WebView加载到ViewPager中问题 10C private ArrayList mPageViews;private ViewPager mPageViews; mPageViews = new ArrayList(); addView(mPageViewshttp://www.baidu.com""); mViewPager = (ViewPager) mMainView.findViewById(R.id.mViewPager);mViewPager.setA

请问:用java代码mysql如何加载到memcached中?谢谢!!

问题描述 请问:用java代码mysql如何加载到memcached中?谢谢!! 请问:用java代码mysql如何加载到memcached中?谢谢!! 解决方案 你应该是想java调用数据库等访问mysql获取到数据,然后放入memcached等做缓存.

VB 如何对webbrowse加载的网页中的alert()弹出的对框自动点击(或回车)?

问题描述 VB 如何对webbrowse加载的网页中的alert()弹出的对框自动点击(或回车)? 用VB写程序遇到 一麻烦,想清您帮助. 这是网页代码: //每播放隔二十分钟提示并暂停播放 if (secondIndex%1200 == 0 && CanPause && secondIndex != 0) { doSelectPlay(); ClickPause(); //alert("您已经持续观看本视频" + secondIndex + "

Resx 文件无效,未能加载 .RESX 文件中使用的类型

错误信息提示: 错误 339 Resx 文件无效.未能加载 .RESX 文件中使用的类型 Forms.ListItems, Forms, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.请确保已在项目中添加了必需的引用. 第 136 行,位置 5. E:\Forms\Form2.resx 136 5 Forms <?xml version="1.0" encoding="utf-8"?> <

ios-IOS&amp;amp;amp;Android开发:如何从大量未加载的数据中加载一定量的数据到列表中

问题描述 IOS&Android开发:如何从大量未加载的数据中加载一定量的数据到列表中 绝大多数新闻资讯类应用开发过程中都会遇到这么一个问题: 规定每次从服务器最多只能获取20条数据,第一次刷新获取了20条最新的数据,添加到列表中,过一段时间有了30条未刷新的记录,这下问题来了:第二次刷新时是获取最新的20条还是接着第一次获取之后的20条数据放在列表前面?前者会导致列表中间空缺一部分数据,后者问题是要多刷新几次才能把所有数据获取到. 有过相关开发经验的大神们来说说你们的解决方案. 解决方案 刷新

snmp+tomcat-snmp协议加载到tomcat中运行总是返回null

问题描述 snmp协议加载到tomcat中运行总是返回null 我用main函数测试snmp运行正常,但是我用web写项目的时候加载到tomcat中运行,结果总是返回null,而且这个null是字符串,可以跟"null"比较.我就郁闷了,求大神指点 解决方案 那看程序是不是有参数的问题啊,跟下代码查看怎么返回的null