参考示例代码:C:\Program Files (x86)\ArcGIS\DeveloperKit10.1\Samples\ArcObjectsNet\Brushing 核心代码: //获取Select Tool工具 Type oType = Type.GetTypeFromProgID("esriArcMapUI.SelectTool"); if (oType != null) { m_gSelectTool = Activator.CreateInstance(oType); }…
ESRI.ArcGIS.Framework命名空间提供了ArcGIS常用的一些对话框,可以在开发时直接调用这些对话框,而不需要重新去写Form 主要对话框有 1.IColorBrowser/IColorSelector 颜色选择对话框 2.ICoordinateDialog 坐标输入对话框 3.IGetStringDialog Provides access to members that work with a dialog for getting a string. 4.IGetUserAn…
在GIS数据处理中,经常需要选择要素,再进行操作.所以,为了处理的方便,可以将当前工具处理结束后,将当前工具设置为Edit Tool,以方便下一次的选择处理. 相关资料: 1.ArcMap Name And Ids 2.获取工具条中的工具 根据上述资料,查找到Edit Tool工具的Name为esriEditor.EditTool 所以,最终代码为: _Editor.StopOperation("PercentageSplitPolygon"); ESRI.ArcGIS.Framewo…
同学做毕设,要求我帮着写个ArcGIS插件,实现功能为:遍历所有图斑,提取相邻图斑的公共边长及其他属性(包括相邻图斑的ID),链接到属性表中.搞定后在这里做个记录.本文分两大部分: ArcGIS插件开发流程 实际案例分享 一.ArcGIS插件开发流程 该部分不涉及具体业务,力求以最快速度了解ArcGIS Add-in插件从开发到使用的具体流程. 1.新建项目 2.编写业务代码 3.编译 4.安装插件      5.使用插件 二.实际案例分享 上面已经说了,案例来源于实际的需求,此处想必没有比直接…
异常出现在 frmDownload frd = new frmDownload(); frd.ShowDialog(); 在ArcMap中能正常弹出窗体,点击按钮时显示此异常:object reference not set to an instance of an object 网上检索后,基本给的解释都是对象没有实例化,可对象明明实例化了! 想不明白,清理了一下解决方案,然后重新编译生成,再运行就OK 可能原因:由于电脑上之前有过此AddIN插件,当时功能模块没有写完.后来写完后,在目标电脑…
原文:ArcGIS中利用ArcMap将地理坐标系转换成投影坐标系(从WKID=4326到WKID=102100) 对于非地理专业的开发人员,对与这些生涩的概念,我们不一定都要了解,但是我们要理解,凡是以经纬度为单位的都是地理坐标系,因为它归根结底是一个椭球体,只不过各个国家为了反映该国家所在区域地球的真实形状,而采用不同的数学模型对本不是椭球体的地球进行椭球体化.而投影坐标系,是对地理坐标系按照某种方式投影到平面上的,所以可以认为它是一个平面坐标系,单位自然是米或千米. 我们在做开发的时候,尤其…
原文 ArcMap自定义脚本工具制作 在制图的前期,一般需要做一些数据的整理,如图层合并.裁剪等工作.虽然在ArcMap中也有提供对应的工具,但使用起来需要点技巧.如批量裁剪,虽然可以实现,但出来的结果会重命名为[图层名]_clip,这样对于配置好整个区域的mxd,需要单独裁剪部分范围数据非常不友好,以为后续工作意味着需要单独给裁剪出来的数据重命名,删除掉后缀_clip才可以统一设置数据源. 解决这个问题其实可以很快速的编写python脚本去实现.但脚本对于一般人来说比较麻烦,每次使用都需要调整…
刚刚接触AE开发,记录一下自己的学习心得! 欢迎大家一起交流探讨! 最近做大赛,突然想到可以让项目更加直观的操作,就在项目中加了幅底图(底图很简单) 我想在arcmap中选中相应的要素后,在后台通过写代码的方式获取底图的属性表里面指定字段相应的值. 如图所示,我用arcmap工具栏上工具拉框选中我的目标要素(点220) 我想在后台获取他的属性表中“井号”字段的值 IMxDocument mxDoc = null; ILayer layer = null; if (ArcMap.Applicati…
Visual Stuido 是一款强大的Windows 平台集成开发工具,你是否好好地利用了它呢? 显示行号 有些时候(比如错误定位)的时候,显示行号将有利于我们进行快速定位. 如何显示 1. 工具 / 选项 / 文本编辑器 -> 选择对应的语言 2. 勾选 “行号” 避免剪切或复制空白行 有些时候当我们复制了一行数据正打算粘贴到一个空白行的时候,手一抖,V变成了C,结果复制了一条空白行.这会让人很郁闷,当然你可以通过使用 Ctrl + Shift + V 从剪切版中找到之前复制的那一项,但是毕…
 ArcGIS AddIN开发时,产生如下异常错误 2 “ValidateAddInXMLTask”任务意外失败.System.NullReferenceException: 未将对象引用设置到对象的实例.   在 ESRI.ArcGIS.AddIns.SDK.ProjectItemExtensions.ReadAllText(ProjectItem pi)   在 ESRI.ArcGIS.AddIns.SDK.ConfigurationXML.GetContent()   在 ESRI.Arc…