ArcGIS二次开发前言

article/2025/10/15 19:59:35

ArcGIS二次开发前言

  • 前言
  • 环境
  • 常见bug解决方案

前言

自毕业成为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二次开发中经常会遇到。


http://chatgpt.dhexx.cn/article/vvBRqS5n.shtml

相关文章

ArcGIS Engine二次开发

目录 1 前言 2 准备工作 2.1 License的加入 2.2 ToolStrip控件 2.3 MenuStrip控件 2.4 帮助文档的查看 3 数据加载 3.1 矢量数据的加载 3.2 栅格数据的加载 4 地图浏览功能 1 前言 这是一份关于ArcGIS Engine二次开发的一份报告总结,在这份报告中包含了简单的…

ArcGIS二次开发知识点总结

空间分析定义:空间分析是指分析具有空间坐标或相对位置的数据和过程的理论和方法,是对地理空间现象的定量研究,其目的在于提取并传输空间数据中隐含的空间信息。 叠置分析定义:是指将同一坐标系统下不同信息表达的两组或多组专题…

【ArcGIS Pro二次开发】(31):ArcGIS Pro中的多线程

ArcGIS Pro与旧的ArcGIS桌面应用程序的显著不同之处在于,它采用多线程架构,可以有效的发挥多核CPU的优势。这使得二次开发工具的性能变得更好,但也对开发工作带来了更多的难点和挑战。 一、多线程需要注意的问题 一般情况下,为了…

GIS二次开发:实验一 ArcGIS Engine 开发初步

实验一 ArcGIS Engine 开发初步 一、实验目的 掌握ArcGIS Engine的安装;熟悉ArcGIS Engine中几个常用的控件;搭建第一个简单的ArcGIS Engine 程序;通过ICommand接口添加地图浏览工具。 二、实验仪器与设备 计算机、visual studio 软件、A…

Arcgis二次开发软件安装(Arcgis10.2、VS2012、AE10.2)

目录 一、序言 二、Arcgis10.2安装 (一)安装ArcGIS License Manager 1.1 ArcGIS License Manager安装 1.2 ArcGIS License Manager配置 (二)安装ArcGIS Desktop 1.1ArcGIS Desktop安装 1.2.ArcGIS文件替换 1.3中文显示与…

StackPanel 实现从上往下+从右往左 排列+RenderTransform特效实例分析

StackPanel:将子元素排列到可沿水平或垂直放置的行。 参考资料: 1. StackPanel类 2. Silverlight学习笔记(九)——RenderTransform特效【五种基本变换】及【矩阵变换MatrixTransform】 3. MatrixTransform矩阵变换 stack表明StackPane…

控件篇 - 子控件在StackPanel里的居中问题

如下面代码&#xff1a; <StackPanel Width"200" Height"80" Background"Tomato"><TextBlock HorizontalAlignment"Center" VerticalAlignment"Center" Text"ABCD"/></StackPanel> 原意是想通…

Docker Stack

大规模场景下的多服务部署和管理是一件很难的事情。Docker Stack 为解决该问题而生&#xff0c;Docker Stack 通过提供期望状态、滚动升级、简单易用、扩缩容、健康检查等特性简化了应用的管理&#xff0c;这些功能都封装在一个完美的声明式模型当中。 Stack 能够在单个声明文…

StackPanel布局

StackPanel可以把内部元素在纵向或横向上紧凑排列&#xff0c;形成栈式布局。 示例代码&#xff1a; <Grid><GroupBox Header"请选择没有错别字的成语" BorderBrush"Black" Margin"5"><StackPanel Margin"5" Heig…

2.12 Stack

2.12 Stack Stack也是List接口的实现类之一&#xff0c;和Vector一样&#xff0c;因为性能原因&#xff0c;更主要在开发过程中很少用到栈这种数据结构&#xff0c;不过栈在计算机底层是一种非常重要的数据结构&#xff0c;下边将探讨下Java中Stack。 2.12.1 Stack的继承关系 …

wpf之StackPanel布局

注意两个参数&#xff1a; Orientation &#xff1a;控制排列是水平方向&#xff0c;还是垂直方向&#xff08;Horizontal 水平方向 Vertical垂直方向&#xff09; FlowDirection&#xff1a;控制控件排序是从右往左还是从左往右&#xff0c;写两个简单的demo如下&#xff…

四、StackPanel控件

StackPanel可以把内部控件在纵向或横向上紧凑排列、形成栈式布局&#xff0c;当上层控件不被删除时&#xff0c;剩余的控件会前移&#xff0c;填充空白 特点&#xff1a; 同类控件紧凑排列移除其中…

WPF 控制StackPanel用法

StackPanel是非常相似的WrapPanel&#xff0c;但至少有一个重要的区别&#xff1a;StackPanel的不换行的内容。相反&#xff0c;它将内容向一个方向拉伸&#xff0c;允许您将一项一项一项地堆叠在一起。让我们首先尝试一个非常简单的示例&#xff0c;就像我们对 WrapPanel 所做…

2021-08-16 WPF控件专题 StackPanel 控件详解

1.StackPanel 控件介绍 堆栈面板 —布局控件 —Panel 子元素排列成一行或一列 水平 垂直 FlowDirection 子元素的流动方向 Orientation&#xff1a;Horizontal 一行 一般设置VerticalAlignment&#xff1a;Top Bottom Center Stretch Vertical 一列 HorizontalAlignment Left…

WPF中StackPanel的尺寸的怪癖

前几天写了文章&#xff1a;WPF中的DataGrid控件的VerticalScrollBarVisibility属性失效 今天继续补充StackPanel的特点&#xff0c;可以作为对上述文章的进一步解释。 在WPF中&#xff0c;StackPanel是十分常用的布局元素。然而&#xff0c;该元素和很多其它元素不同&#x…

StackPanel

原文链接&#xff1a;http://www.cnblogs.com/Jennifer/articles/1987757.html Canvas、StackPanel、WrapPanel、DockPanel和Grid是WPF中主要的5种内建面板&#xff0c;这些面板类都位于System.Windows.Controls命名空间下。 StackPanel是一个受欢迎的面板&#xff0c;因为它方…

WPF中的StackPanel、WrapPanel、DockPanel

一、StackPanel StackPanel是以堆叠的方式显示其中的控件 1、可以使用Orientation属性更改堆叠的顺序 Orientation"Vertical" 默认&#xff0c;由上到下显示各控件。控件在未定义的前提下&#xff0c;宽度为StackPanel的宽度&#xff0c;高度自动适应控件中内容的高…

WPF布局控件之StackPanel

StackPanel Stack&#xff0c;英文意思是堆栈&#xff0c;StackPanel&#xff0c;意思是堆栈式布局&#xff0c;相当于把控件给堆起来。如果不设置StackPanel中控件的宽高&#xff0c;那么其中控件的宽高是默认和StackPanel一样的&#xff0c;如果设置控件宽高&#xff0c;那么…

WPF-StackPanel面板

StackPanel Orientation属性 Orientation属性决定SatckPanel中元素的排列方向&#xff0c;默认为垂直排列 Orientation“Vertical” <Window x:Class"StackPanel.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:…

WPF之路——StackPanel布局(堆栈面板)

StackPanel是一个受欢迎的面板&#xff0c;因为它方便好用&#xff0c;它会顺序对它的子元素进行排列。它是少数几个没有定义任何附加属性的面板之一。由于没有附加属性来排列子元素&#xff0c;只有一种方法可以定制StackPanel的行为——设置Orientation属性为Horizontal或Ver…