随笔分类 - ArcEngine
摘要:在宗地出图,需要实现,只显示某一户人的地块。在ArcMap里,有个定义查询,可只显示过滤后的要素。 在代码中,也比较好实现,使用IFeatureLayerDefinition接口即可。 IFeatureLayerDefinition pFeatLyrDef = pFeatureLayer as IFeatureLayerDefinition; pFeatLyrDef.DefinitionExp...
阅读全文
摘要:打开以前的程序,准备来添加一个功能,打开主程序就报错: 我未曾改变过版本,原来是由于破解测试需要,修改了系统时间,时间对不了,ArcGIS的问题,改过来就正常了。
阅读全文
摘要:gisoralce在博客园发布了一个mxd检查工具,主要功能是将arcgis的mxd数据源有效性(含矢量和影像)检查、检查是否为相对路径,自动保存为相对路径。这是一个未加壳的.NET程序,正好拿来练习,但无意侵犯gisoralce,望见谅!首先使用dotPeek直接打开Mxdcheck.exe右键导...
阅读全文
摘要:检索 COM 类工厂中 CLSID 为 {……} 的组件失败,原因是出现以下错误: 80040111。如图: 这种问题可能由多种情况造成,目前我遇到两种: 操作系统版本问题 如果是在Win7 64版本下,可能出现该问题,需要将把配置管理器里的运行平台改成x86。 开发平台版本问题 如果是ArcGIS 10.x开发平台,也可能出现该问题,主要是因为在程序初始化之前没有绑定,在Program.cs...
阅读全文
摘要:同一段代码,在测试机上运行成功,但在用户机上运行失败,并报错:无法将类型为GeoProcessorClass的COM对象强制转换为接口类型IGeoProcessor,此操作失败的原因是COM组件调用QueryInterface因以下错误而失败:库没有注册。(异常来自HRESULT:0x800...
阅读全文
摘要:我们都知道ArcGIS桌面版本"添加数据"的功能是弹出一选择对话框,如下图所示,但我们总想搞自己的,以便融入自己的风格。下图左边是ArcGIS自带的"添加数据"界面,右图是自己定义的"添加数据"界面。 在ESRI中国社区看到关于"AddData(添加数据)对话框的实现与扩展(C#)"的帖子,比较实用...
阅读全文
摘要:在Win7x64位环境下,无法加载Dll"ArcGISVersion.dll":找不到指定的模块解决方案:打开项目的属性-生成-常规-目标平台,选择X86.参考:http://blog.csdn.net/liminled/article/details/8895979 官网
阅读全文
摘要:以前写的程序,现在看起来真是相当的青涩,当时写的东西是显得多么地无知啊,很多应该写成一个类,有些需要优化,需要多线程,代码需要加密……总一种想修改的冲动。但这也需要时间和精力。下面准备将原来的程序进行修改。首先遇到的问题就是版本问题: 项目原始目标VS版本20082010ArcGIS平台ArcEngine9.3ArcObject10.11.自动转换,用高版本的软件打开低版本的解决方案,VS会自动进...
阅读全文
摘要:根据宗地出图(一)中领导的要求,生成的图片要类似于下图所示:一开始觉得很简单,其实还是花了一上午时间的。下面是实现的流程:1.首先,选中一户人的所有地块,然后创建选择图层(以但不同符号化突出显示)这里选择使用了IFeatureSelection接口中SelectFeature()方法,此方法像游标查...
阅读全文
摘要:在ArcGIS中,我们经常需要标注;在地籍处理中,需要承包地出图。具体的出没有可参考的标准。通常软件中的做法有:第一种,以村组为背景,将某户的承包地选择出来,并标黑。这样的结果,领导觉得难看,说至少要截取掉无用的部分(如下图右所示);第二种,在第一种优化的基础上,将黑色填充改为晕线填充,这样更好看一...
阅读全文
摘要:在要素类进行符号化时,使用axSymbologyControl需要安装路径下的Style文件路径,在AE9.3+VS2008中是这样的: Microsoft.Win32.RegistryKey regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\ESRI\\CoreRuntime", true); axSymb...
阅读全文
摘要:AddIn开发的插件效率高、操作简单、容易管理、方便共享。它还可以和Python结合(后面的博文中应该会涉及到),非常强大。下面简单描述一下ArcGIS中的AddIn开发过程: 1.在安装ArcGIS、AO和VS的环境下,新建项目ArcMap Add-in; 2.填写基本信息,这些信息将自动生成到Xml文件中; [Add-in Name]:是最后生成的*.esriAddIn文件的名称 ...
阅读全文
摘要:断点调试是我编程时经常用到的,但有的程序并一定有Windows界面,而是附加到其他程序中的,如ArcGIS的Addin开发。当我在代码中插入断点调试无效(断点不起作用),并警告"当前不会命中断点,还没有加载该文档加载任何符号"。网上查了说可能是Framework版本的问题,我才恍然大悟:ArcGIS...
阅读全文
摘要:以前进行符化的时候一般都是自定义Symbol,或者使用SymbologyControl进行选择,由于实际需要,我们来读取一下样式管理器中的样式。在ArcMap中打开如下:style下有很多样式类,每个类下面有各种样式。读取Style符号库样式的步骤如下:第一步,获取Style的位置,通常在ArcGI...
阅读全文
摘要:在ArcEngine地图操作中,缩放地图的功能经常用到,这里做一个小结。缩放地图一般可分为以下几种情况:1.缩放地图:与放大地图相对,一般是手动绘制区域或固定比例缩放,可调用命令或Expand函数来;2.缩放到图层:这一种用得比较多,通常是将图层转为GeoDataset,利用其他Extent属性来缩...
阅读全文
摘要:在操作数据库时,有时遇到 0x80040213的错误,这往往是路径的问题,即所操作的文件、图层、字段等不存在。在《ArcGIS Engine地理信息系统开发从入门到精通》一书中也谈到了这个问题:此异常往往是在加载数据库mdb的时候找不到IPropertySet属性指定的mdb引发的。此时需要核对属性...
阅读全文
摘要:ArcMap在加载图层时会自动生成一个lock格式的加锁文件,右击移除图层后,加锁文件也会自动删除。但AE开发中却不能正常删除,移除图层后加锁文件依然存在,这就导致在其他地方无法对该图层进行操作,只有关闭程序才能删除加锁文件,彻底释放资源。 如果不关闭程序,锁文件也删除不了。 即使用使用方法将工作空间释放了,也不能删除锁文件。帮助文档中有这样的接口 代码:IWorkspaceFactory...
阅读全文
摘要:不同人的可能使用的开发环境不一样,使用SDK版本也不一样,比如用ArcEngine9.3开发的程序在ArcEngine10.1下就不能运行,需要重新调试,才能运行。 这里的例子程序是其他网友在ArcEngine10.0的环境下写的 http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=120017&extra=page%3D1 打开Debug的应...
阅读全文
摘要:这个例子专业讲解基于ArcEngine使用GP开发的过程及遇到的问题。更多GP使用方法:GP使用心得 功能需求:现在外业第一次数据(简称调绘.mdb)和第二次数据(简称检查.mdb)有重复。第二次是在第一次的基础上进行的,即如果调绘.mdb中LCA层有365个要素,检查时发现错误,就删除了11个错误,并新增了43个,共408个,检查.mdb相对于调绘.mdb实际上有354个重复,现在要将重复的...
阅读全文
摘要:1. ArcEngine9.x迁至ArcEngine10.x 相信很多同学都知道,在ArcEngine9.x下正常编译的代码到ArcEngine10.x会报错:ArcGIS version not specified. You must call RuntimeManager.Bind before...
阅读全文

浙公网安备 33010602011771号