随笔分类 - ArcEngine
摘要:在ArcMap的内容列表中,Ctrl和Shift多选、反选等操作图层非常方便。 然而遗憾的是:经测试,查证在ArcEngine应用程序中无法使用此接口,只能通过在Desktop中来使用IContentsView接口。 如果非要实现这个功能,只能自己写一个图层目录树了,也不复杂,需要特别注意的是图层符
阅读全文
摘要:ArcMap鼠标滚轮方向的设置是记录在注册表信息中,那么我们做一个简单的测试。先打开注册表,将ReverseMouseWheel删除,再打开ArcMap进行鼠标滚轮方向设置。 设置完成后,刷新注册表,ReverseMouseWheel又回来了。这说明了ArcMap在设置时会对注册表进行编辑。 我们可
阅读全文
摘要:在定制ArcEngine数据编辑程序时,经常使用IEngineEditor 接口来完成开始、保存和停止编辑。但我遇到了一个问题,测试纠结了两天终于解决,我十分佩服自己。嘻嘻。 错误描述 使用IEngineEditor开启编辑后, 只要一刷新地图就会报如下错误: System.AccessViolationException HResult=0x80004003 Message=尝试读取或写...
阅读全文
摘要:如果一个地图文件被打开且未关闭(Close方法),然后再次打开它,这没有问题,如果接下来再保存它,就会出现发生锁定冲突了。其实出比较容易理解为什么要被锁,解决方法是:在保存时,使用IObjectCopy操拷贝一个副本。 例如:在保存地图前,窗体控件(axMapControl或axPageLayout
阅读全文
摘要:今天,再次遇到这个问题,再忙得把它记录下来! AO/AE程序的许可方式 不管是开发环境是基于ArcObject还是基于ArcEngine,不管运行环境是Desktop还是Runtime(早已改名了为ArcEngine了,因为防止与新产品Runtime重名),都需要许可。常见的有两种注册许可的方式,一
阅读全文
摘要:在进行批量产图过程中,地图格网一般是在模板中已添加完成。但进行缩放操作后,出现了问题,格网跟着缩放范围跑了,并未铺满整个视图范围。这个问题以后的同事就遇到过了,但一直没有解决,今天也做到这一步了,想把它解决了。 解决方式 在网上并未查到类似的问题,难道其他人就没遇到过? 方案一: 以前解决方式是在不
阅读全文
摘要:操作ArcEngine中的COM对象时,为了减少内存的增长,用掉的对象要手动释放常用的方法是ReleaseComObject System.Runtime.InteropServices.Marshal.ReleaseComObject(relObj); 但有时会报"COM对象与其基础RCW分开后就不能再使用"错误。这是因为对象被释放了,再去引用就找不到了,所在释放对象固然好,但要分清楚。
阅读全文
摘要:问题描述 近日,发现ArcGIS10.4中存在很多bug,而且费了好多时间去测试它,最终决定改用10.1。在降级程序时遇到许可问题。 重装ArcGIS10.1后,打开工程,所有引用都自动映射,没报任何错误,清理重新生成,无接口等异常。但启动程序时,报错Unlicensed ARC session – terminating! 这是ao输出到控件台上的语句,检查代码许可正常。 系统日志也没有有用...
阅读全文
摘要:从接触ArcGIS9.2到 10.4,在不断升级的 过程中,既给我们带来了很多惊喜,也带来一些麻烦,因为ArcGIS版本不兼容。出于体验,安装了ArcGIS Desktop10.4,AO也得升到10.4,而我习惯VS2010编程(虽然都出到2017了),在安装AO的过程中出现如下提示: 它怎么知道我
阅读全文
摘要:继上次《ArcObject10.1降级至10.0》又遇到版本降级问题。通常的方式有: 方案一:重新编译 将源代码加载到解决方案中,修改相应dll的版本,比较快捷的方式是多选后,设置属性中特定版本项为False,VS会自动搜索本机相应版本并映射 方案二:反编译 现实和理想总会存在差距。经常,技术经理给
阅读全文
摘要:版本升级确实很重要,在ArcGIS10.1中计算成功的,在10.0中出了问题。 问题 在进行栅格计算时,计算公式很简单,包括两个Ln函数: "-22.73 + 11.1 * Ln(5) + 0.34 * Ln("人口.tif")" 可计算结果报错:000539 : Python 错误消息。Error
阅读全文
摘要:在进行缓冲区查询时,查询的并是不要素本身的范围,而是缓冲一定半径,所以用到了ITopologicalOperator接口,主要是利用其buffer方法,代码如下: 以前出用过它,没出什么问题,但这一次却报错,0x8004023C,经查,说是There is not enough memory。说明不
阅读全文
摘要:先说一下我的开发环境: Win10 + ArcGIS10.0 + ArcEngine10.0 + Framework4.0 今天调用新的GP工具则出现"尝试读取或写入受保护的内存。这通常指示其他内存已损坏"的异常(在此环境下,昨天,我还能够正常的调用GP)。对于这一问题,有两大奇怪之处:一是环境未发
阅读全文
摘要:最开始接触ArcGIS版本是9.3,为了需要也安装了9.2进行开发;因为自己的电脑配置较低,所以跑不起10.0中文版;毕业工作后,行业内用10.1居多(虽然10.3已出);现在10.4都要出来了;由于客户只有10.0的正版,所以这次要一键切换到10.0的版本,之前跳过这个版本,现在要重新来一次。 以
阅读全文
摘要:在AO或AE开发中,并没有ESRI.ArcGIS.esriSystem这个dll,只有ESRI.ArcGIS.System,凡是需要ESRI.ArcGIS.esriSystem命名空间时,添加ESRI.ArcGIS.System引用即可。
阅读全文
摘要:听说:10.2比10.1好,诚然,安装了10.2打开一看是这样的,以为是下载的版本问题,后来才以现是显示设置的问题。 因为,我使用的两个显示器,屏幕有点大,所以,就改成中等了,不然怎么可截取下面的截图,这张截图不是PS拼的哦,是在两个显示器上直接截取的。 前面说远了,进入主题。在10.2环境打开10.1的项目,重新生成,就会弹出版本问题,点"是"即可转换。除非有的dll因为版本问题进行了增...
阅读全文
摘要:需求:由于初次使用ArcGIS编辑器不习惯、数据量大造成经常程序未响应、计算机断电等因素,造成编辑的数据没有保存,影响了生产效率,本人根据草色静然的博文,总结了自动保存编辑的实现方法。分析:自动保存,用到的肯定是计时器,一般都是用微软件的Timer控件,它的Elapsed 事件指达到间隔时发生(由I...
阅读全文
摘要:编辑器,是地图数据进行编辑的主要工具,这个Editor其实当一个新的地图开始时就创建了。事实上,其他ArcMap扩展对象也是在创建地图时产生的。为了获得这个Editor,可以使用FindExtensionByCLSID 或者FindExtensionByName接口。private IEditor ...
阅读全文
摘要:在调试ArcGIS Add-In时,出现错误:无法注册程序集"……\Projects\ArcGISAddIn\ArcGISAddIn\bin\Debug\ArcGISAddIn.dll"。未能加载文件或程序集"ESRI.ArcGIS.Desktop.AddIns, Version=10.1.0.0,...
阅读全文

浙公网安备 33010602011771号