随笔分类 -  ArcEngine

摘要:问题描述 使用AE调用Dissolve的GP工具时,在10.2版本中发现一个bug,当融合字段dissolve_field不填任何值,执行时不报错也不结束,感觉似乎进入某种死循环。 1 string inFc = @"D:\Data\Test\新建文件地理数据库.gdb\输入"; 2 string 阅读全文
posted @ 2025-09-21 07:00 我也是个傻瓜 阅读(15) 评论(0) 推荐(0)
摘要:地理数据库既包括空间,又包括属性,属性类似于SQL表,理论上支持标准SQL查询。lQueryDef接口提供了高效查询方法,适用于对属性表或要素类的属性进行筛选和检索。 问题描述 一个简单的面积求和示例如下: IQueryDefFactory queryDefFactory = (IQueryDefF 阅读全文
posted @ 2025-09-19 06:35 我也是个傻瓜 阅读(8) 评论(0) 推荐(0)
摘要:需求描述 有一个极为小众的需求,需要使用代码判断用户ArcGIS环境软件界面是中文还是英文,用户可能的环境如下: (1)英文版; (2)中文版,显示为中文; (3)中文版,显示为英文。 解决思路 先从软件界面看,在ArcGIS Administrator中可切换选择语言,说明系统必定有一处位置保存了 阅读全文
posted @ 2025-09-03 22:16 我也是个傻瓜 阅读(21) 评论(0) 推荐(0)
摘要:在ArcObject应用程序开发中,TOC控件和Map控件是绑定的,map对象修改后,TOC中的图层自动刷新,但在Add In开发中,TOC的内容不会自动刷新,需要手动刷新,操作方法如下: IDocument document = ArcMap.Application.Document; IMxDo 阅读全文
posted @ 2023-11-01 16:53 我也是个傻瓜 阅读(205) 评论(0) 推荐(0)
摘要:在打开mdb属性表(Table时)中报错FROM子句语法错误。 位置在ESRIArcGISGeodatabaseIFeatureWorkspaceOpenTable(Strina Name), 分析数据后,发现是因为表名以~TEP开头。 这是临时文件,无法打开,打开表时应该跳过这样的表。 阅读全文
posted @ 2023-09-11 14:39 我也是个傻瓜 阅读(68) 评论(0) 推荐(0)
摘要:在ArcEngine游标查询时,有时会报"不能再打开其它表了"的错误,这是由于短时间内要素类的表打开次数太多,没来得及释放。 解决方法是及时释放并回收。 System.Runtime.InteropServices.Marshal.ReleaseComObject(XXX); System.GC.C 阅读全文
posted @ 2023-08-17 06:42 我也是个傻瓜 阅读(103) 评论(0) 推荐(0)
摘要:明明ArcGIS Desktop已授权,且许可管理服务正常运行,但ArcEngine应用程序开发时,时而弹出如下提示。 解决方案: (1)采用代码授权的方式; (2)如果已经使用过许可控件,请删除它,在资源里清除OcxState 清除后,重新设置相关控件属性。 阅读全文
posted @ 2023-07-26 16:10 我也是个傻瓜 阅读(77) 评论(0) 推荐(0)
摘要:GP工具是ArcGIS的精髓。在开发时,可以通过调用所有系统的GP,也可以调用自定义的GP。除此外,居然也可以直接调用GP工具的界面。操作方法如下: private void button1_Click(object sender, EventArgs e) { // 创建GPToolCommand 阅读全文
posted @ 2023-07-17 14:52 我也是个傻瓜 阅读(641) 评论(1) 推荐(0)
摘要:在ArcObject开发时,有时非常让人无语的是使用new创建对象时,报"无法将类型为Systerm._ComObject的对象强制转换为类型******",官方知道这是个坑,早就讲得非常清楚和透彻了。 Interacting with singleton objects (ArcObjects . 阅读全文
posted @ 2023-01-10 08:14 我也是个傻瓜 阅读(184) 评论(0) 推荐(0)
摘要:坐标信息中除了X,Y,ESRI还定义了Z值和M值。Z值是用来存储高程属性信息的,M值是用来存储其他属性信息的,如温度、浓度等。通常二维的矢量数据是不包含Z值,使用时应该格外注意,否则容易引起异常。 软件操作 新建要素类时,可选择是否包含Z值和M值。 如果数据已经包含Z值,想要去除,可以在环境设置中调 阅读全文
posted @ 2023-01-02 09:40 我也是个傻瓜 阅读(499) 评论(1) 推荐(0)
摘要:在以前分析和总结过关于"坐标或测量值超出范围"的问题。如下: 坐标或测量值超出范围 - 我也是个傻瓜 但在开发和使用中也经常遇到此类问题,本文说一说在ArcEngine中的相关处理。总结下来就一点,在创建、拓扑等操作时生成的范围起出了要素的设置范围。 获取要素范围 我们知道,创建一个没有任何坐标系统 阅读全文
posted @ 2022-06-09 14:23 我也是个傻瓜 阅读(778) 评论(0) 推荐(0)
摘要:使用RasterMapAlgebraOp计算栅格时,经常报语法错误,如: ERROR 010316: 无法打开输入栅格: C:\USERS\001\APPDATA\LOCAL\TEMP\G_G442==0 ERROR 010067: 执行格网表达式时出错。, 位置: 在 ESRI.ArcGIS.Sp 阅读全文
posted @ 2022-05-13 10:09 我也是个傻瓜 阅读(657) 评论(0) 推荐(0)
摘要:我们都知道投影就是将球面通过一定的规则展开成平面,方便浏览和计算,投影就会产生变化,无论是角度、面积还是长度。在实际工作中,经常要计算图斑面积,这里简单总结一下常用的计算方法。 面积量算 先来看一下ArcMap中不同坐标系统通过面积量算得到的结果。 情况一:无空间参考,在空白地图中加载一个没有定义坐 阅读全文
posted @ 2022-01-01 12:03 我也是个傻瓜 阅读(13469) 评论(1) 推荐(0)
摘要:使用ISaveAs接口保存栅格可能出现比较奇怪的问题,主要原因是底层调用的GDAL,它对中文支持不好! 问题描述 (1)执行不报错误,但结果tif文件大小很小(只有几kb); (2)结果tif栅格取值范围为3.40282346639e+038到3.40282346639e+038,显示为空白,行列号 阅读全文
posted @ 2021-11-15 17:31 我也是个傻瓜 阅读(250) 评论(0) 推荐(0)
摘要:问题描述 今天在测试时,又遇到了0x80040228的错误。曾经也遇到过: ArcGIS 10.4的0x80040228许可错误 - 我也是个傻瓜 - 博客园 (cnblogs.com) 主要问题是在ArcGIS10.4的环境下打开SHP工作空间时,出现0x80040228错误,错误描述如下: Sy 阅读全文
posted @ 2021-09-02 22:55 我也是个傻瓜 阅读(841) 评论(0) 推荐(0)
摘要:使用ArcObject开发程序,在拖动地图控件时,有时会报"您必须有许可证才能使用此ActiveX控件"或"You must have a license to use this ActiveX control",这往往是AO或AE获取不到授权信息,最好的解决方式是在10.2的环境下开发。 那么,在 阅读全文
posted @ 2021-08-20 22:43 我也是个傻瓜 阅读(1861) 评论(3) 推荐(0)
摘要:在管理要素类时,数据库中存储的要素类一般是英文名称,但为了显示更容易理解,我们通常会设置要素类别名和字段别名。代码中读取要素类别名很简单,如下: featureClass.AliasName IFeatureClass的AliasName是只读属性,不能修改;官方帮助是提示了,需要使用IClassS 阅读全文
posted @ 2021-05-01 22:01 我也是个傻瓜 阅读(618) 评论(0) 推荐(0)
摘要:ArcGIS Add-In开发,除了支持按按钮、工具条、面板等,也支持定义菜单文件。 在ArcObject+VS环境下,新建项目,选择"ArcMap Add-In"类型的模板: 在向导中输入Add-In相关参数,进入下一步: 这里不添加任何组件,直接完成。 在工程上右键,添加新建项 选择"Add-i 阅读全文
posted @ 2021-03-12 21:43 我也是个傻瓜 阅读(1284) 评论(0) 推荐(0)
摘要:开发ArcGIS Add-In程序,在编译时要注意Visual Studio与ArcGIS的版本问题。在多年前,使用的是VS2010+ArcGIS10.2组合,没有编译出错。现在ArcGIS版本不变,VS版本升级为2019,如果直接编译VS2010创建的Add-In程序会报错,具体如下: 错误描述 阅读全文
posted @ 2021-03-06 23:15 我也是个傻瓜 阅读(827) 评论(1) 推荐(0)
摘要:Desktop10.X有多个版本,不同版本的注册表路径不一致,注册表中可能残留多个版本的注册信息;也可能没有Desktop,而是Engine。其实可以通过RuntimeManager.ActiveRuntime的属性开判断版本、产品类型、甚至安装路径等。 如果绑定ProductCode.Engine 阅读全文
posted @ 2019-04-18 08:59 我也是个傻瓜 阅读(1046) 评论(0) 推荐(0)