ArcGIS二次开发前言

ArcGIS二次开发前言ArcGIS二次开发前言前言环境常见bug解决方案前言自毕业成为GIS开发工程师已有一年多的时间,时间很短,短到不过人一生中工作时限的3.75%,时间很长,长到收藏夹已经从零攒到了一千四百多条记录,OneNote上也记录了几十万字笔记,与初离象牙塔的懵懂已不可同日而语。听着这一年似乎学了很多,但老实说,给知识做加法再容易不过,给知识做减法才是真正的挑战。为方便自己融会贯通,温故知新,特趁着年底总结自己梳理一遍自己的知识体系。知识体系中也可能有不完善之处,还望各位前辈多多指教。环境(1)Windows

大家好,又见面了,我是你们的朋友全栈君。

ArcGIS二次开发前言

前言

自毕业成为GIS开发工程师已有一年多的时间,时间很短,短到不过人一生中工作时限的3.75%,时间很长,长到收藏夹已经从零攒到了一千四百多条记录,OneNote上也记录了几十万字笔记,与初离象牙塔的懵懂已不可同日而语。听着这一年似乎学了很多,但老实说,给知识做加法再容易不过,给知识做减法才是真正的挑战。为方便自己融会贯通,温故知新,特趁着年底总结自己梳理一遍自己的知识体系。知识体系中也可能有不完善之处,还望各位前辈多多指教。

环境

(1)Windows
不同版本的arcgis支持的windows系统也有所不同,尽量使用该版本支持的Windows系统会提高开发结果的稳定性。我个人平时工作习惯用arcgis10.2.2开发,在不同系统中开发有些问题会有不同的表现形式,经测试发现,就win10系统而言,该版本与1909版的win10兼容性较好。
(2)ArcGIS
arcgis的开发主要包括AO(ArcObject)和AE(ArcEngine)两种模式。二者主要有以下几点区别:
1.开发环境
AO须要安装ArcGIS Desktop和ArcObjects,AE只须要安装ArcEngine Runtime和Develop Kit(SDK)即可;
2.功能
AO功能更丰富。AE只是提炼了AO的核心功能,对AO中的大部分接口、类库进行封装构成的嵌入式组件
二者的开发方法相同,具体就看使用需求了。

常见bug解决方案

(1)在引用ESRI.ArcGIS的库时,出现黄色感叹号
解决方案:将引用库右键——属性——不同版本设为false,这样就可以编译不同版本的arcgis啦~
在这里插入图片描述
(2)“无法嵌入的互操作类型,请改用合适的接口”
解决方案:
将嵌入互操作类型改为False。
以下是该项设置的具体含义:
1.”嵌入互操作类型”中的嵌入就是引进、导入的意思,类似于c#中using,目的是告诉编译器是否要把互操作类型引入。
2. “互操作类型”实际是指一系列Com组件的程序集,是公共运行库中库文件,类似于编译好的类,接口等。
3. “嵌入互操作类型”设定为true,实际上就是不引入互操作集(编译时候放弃Com程序集),仅编译用户代码的程序集。而设定为false的话,实际就是需要从互操作程序集中获取 COM 类型的类型信息。
在这里插入图片描述
(3)检索COM类工厂中为CLSID为{XXXXXXXXX}的组件时失败
首先排查控件是否注册成功,若控件注册成功且依然报错,在64位系统中,可以试试项目右键——属性——生成——常规——目标平台改为x86,这通常是第三方COM组件只支持32位引起的,这在低版本的arcgis二次开发中经常会遇到。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148492.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Vue学习之按键修饰符

    Vue学习之按键修饰符Vue学习之按键修饰符

    2022年4月23日
    96
  • tomcat 设置允许跨域访问「建议收藏」

    tomcat 设置允许跨域访问「建议收藏」既然想到使用tomcat进行跨域的设置,而不使用在项目中设置header来解决,说明你也是tomcat下的资源需要做跨域处理吧?这也是一个统一的允许跨域设置,tomcat下的所有请求都将放开,请注意。具体步骤:1.首先找到你的tomcat所在路径,并在conf文件夹下找到web.xml2.打开该文件,在以下位置加上这段:<filter><…

    2022年9月30日
    3
  • mysql导入Excel表格中文表头_把一个表里的数据导入另一个表

    mysql导入Excel表格中文表头_把一个表里的数据导入另一个表一,Linux版本1.先把Excel的xls格式转为csv3.用notepad++转为uft8编码4.然后转为txt格式5.将本地文件上传到服务器上选择数据库5.创建表格式要跟Excel一样createtableclass(idvarchar(20),namevarchar(20),chinesevarchar(20),mathvarchar(20),englishvarchar(20),physicsvarchar(20)

    2022年9月21日
    3
  • StopWatch类

    StopWatch类背景有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,如果想对执行的时间做进一步控制,则需要在程序中很多地方修改,目前spring-framework提供了一个StopWatch类可以做类似任务执行时间控制,也就是封装了一个对开始时间,结束时间记录操作的Java类,小例一则如…

    2022年6月23日
    27
  • 带通滤波器和带阻滤波器详细解析:(定义,区别,工作原理,经典电路图,应用)「建议收藏」

    带通滤波器和带阻滤波器详细解析:(定义,区别,工作原理,经典电路图,应用)「建议收藏」带通滤波器和带阻滤波器详细解析:(定义,区别,工作原理,经典电路图,应用)[导读]带通滤波器:它允许一定频段的信号通过,抑制低于或高于该频段的信号、干扰和噪声;带阻滤波器:它抑制一定频段内的信号,允许该频段以外的信号通过。关键词:滤波器 带通滤波器和带阻滤波器的定义  按所处理的信号分为模拟滤波器和数字滤波器两种。  按所通过信号的频段分为低通、高通、带通和带阻滤波器四种。  带通滤波器:它允许一定频段的信号通过,抑制低于或高于该频段的信号、干扰和噪声;  带阻滤波器…

    2022年5月12日
    80
  • vue 中 input事件「建议收藏」

    vue 中 input事件「建议收藏」vue中input事件input事件的使用<div:id=”inputId”:class=”[‘textarea_content_right’]”:contenteditable=”true”@input=”changeText($event)”v-text=”currentValue”></div>​data(){return…

    2022年6月11日
    418

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号