ArcGIS Engine二次开发入门2
- 格式:ppt
- 大小:6.46 MB
- 文档页数:75
第一章z开发基础1.1组件对象模型在明确讨论COM之前,有必要先一般性地思考一下软件组件使用的广泛性。
在软件组件背后有许多的驱使因素,但最基本的就是软件开发是个昂贵和耗时的风险行为。
在理想的世界里,假如曾经写了一段代码,然后通过不同的开发工具一次一次的反复使用它,这种情况是可能的,即便是在最初的开发者不能预见的环境下也能使用。
理想情况下,对最初开发者生成的函数功能的改变能在不需要目前用户改变和重编译他们的代码情况下实现。
早期重用代码块的尝试就是创建类库的进展,这些类库通常用C++开发。
早期的尝试有很多的限制,较为明显的是:共享系统组件的困难(共享二进制C++组件是非常困难的——大部分的尝试是共享源代码);不重新编译就很难保存和更新C++组件的问题;缺乏好的建模语言和工具以及属性接口和定制工具。
为了解决这样那样的一些问题,许多软件工程师开始采用基于组件的方法进行系统开发。
一个软件组件就是一个可重用代码的二进制单元。
已经出现了几个不同但相互重叠的开发和共享组件标准。
微软的COM已成为建立交互式桌面应用程序事实上的标准。
在互联网上,JavaBean是可行的技术。
对象管理组(OMG)制定了粗粒度层次上适用于应用程序互操作的公用对象请求代理架构(CORBA)。
为了理解COM(以及所有基于COM的技术),认识到其不是一种面向对象语言而是一个协议或标准是非常重要的。
COM不仅仅是一种技术,还是软件开发的一种方法论。
COM定义了一种连接软件组件或模型的协议。
通过使用这种协议,可以建立能在分布式系统中动态交互的可重用软件组件。
COM还定义了一种称作基于接口的编程模式。
对象封装了能体现定义良好的接口后每个实例化对象特征的操作方法和数据。
这增强了系统开发的结构化和安全性,因为一个对象的客户并不知道某个特定方法如何实现的任何细节。
COM不规定应如何构建一个应用程序。
语言、结构和实现细节都由使用COM的应用程序开发人员决定。
ArcGIS Engine二次开发实习初级讲义目录1 ArcGIS、ArcObjects和ArcGIS Engine简介.................................................................... - 3 -1.1 ArcGIS简介 ................................................................................................................ - 3 -1.2 ArcObjects简介 .......................................................................................................... - 4 -1.3 ArcGIS Engine简介.................................................................................................... - 5 -2 ArcGIS控件介绍.................................................................................................................... - 7 -2.1 ArcGIS控件简介 ........................................................................................................ - 7 -2.2重要控件简介............................................................................................................... - 9 -3 ArcGIS Engine二次开发入门 ............................................................................................ - 16 -3.1 ArcGIS Engine开发起步——第一个简单的地图显示程序 .................................. - 16 -3.2 属性查询.................................................................................................................... - 23 -3.3 空间查询.................................................................................................................... - 27 -3.4 BaseCommand开发实例 .......................................................................................... - 36 -3.5 BaseTool开发实例.................................................................................................... - 38 -3.6通过代码添加图层..................................................................................................... - 42 -3.7基于比例尺显示地图................................................................................................. - 44 -3.8 构建一个简单的GIS应用........................................................................................ - 46 -4.问题解决方法及帮助文档的使用........................................................................................ - 58 -4.1使用ArcObjects开发帮助系统............................................................................... - 58 -4.2阅读对象模型图(Object Model Diagram)......................................................... - 62 -1 ArcGIS、ArcObjects和ArcGIS Engine简介1.1 ArcGIS简介ArcGIS提供了一个可伸缩的框架,可以为独立用户或者多用户,既可以在桌面端也可以在服务器端提供GIS。
基于ArcGISEngine地理信息系统的二次开发基于ArcGISEngine地理信息系统的二次开发地理信息系统(Geographical Information System, GIS)是一种用于收集、存储、处理、分析和展示地理空间数据的计算机系统。
随着地理信息技术的不断进步,ArcGISEngine作为GIS领域开发的重要工具之一,为开发人员提供了丰富的功能和强大的开发平台,使得二次开发成为可能。
ArcGISEngine是Esri公司推出的一套开发工具包,基于ArcGIS核心技术,能够在各种WINDOWS平台上实现高性能、高度灵活的GIS应用程序开发。
它提供的API包括ArcObjects、ArcSDE、ArcGIS Server等,开发人员可以利用这些工具开发各种地理空间应用程序,满足用户的需求。
在进行二次开发时,首先需要理解ArcGISEngine的基本概念和核心功能。
ArcGISEngine使用一种被称为“地理数据对象”的结构组织和管理各种地理数据。
开发人员可以利用ArcObjects这一API来完成对地理数据对象的插入、查询、更新和删除等操作。
此外,ArcGISEngine还提供了丰富的符号化功能,使得地理数据可以以各种形式进行可视化展示。
在二次开发过程中,需要根据具体的需求对ArcGISEngine进行定制和扩展。
开发人员可以利用ArcObjects提供的面向对象的编程接口进行开发,根据需求自定义各种功能和工具。
例如,可以通过ArcObjects扩展空间分析功能,实现区域查询、缓冲区分析、路径分析等高级功能。
此外,还可以利用ArcGISEngine提供的控件库来开发用户友好的GIS应用界面,实现数据管理、地图显示、图层控制等交互操作。
ArcGISEngine还支持与其他系统和第三方数据源的集成,提供了与数据库、Web服务、传感器等系统的连接和交互接口。
例如,可以通过ArcObjects与数据库系统进行数据交互,从而实现地理数据的导入、导出、更新等操作。
ArcGISEngine⼆次开发:从⼊门到精通ArcGIS Engine是ArcGIS的⼀套软件开发引擎,可以让程序员创建⾃定义的GIS桌⾯程序。
它是ESRI在ArcGIS9版本才开始推出的新产品,它是⼀套完备的嵌⼊式GIS 组件库和⼯具库,使⽤ArcGIS Engine开发的GIS应⽤程序可以脱离ArcGIS Desktop⽽运⾏。
>>ArcGIS Engine与国⼟资源:ESRI在线⽀持:最好的帮助⽂档其实是arcobject sdk帮助⽂档和samples.....但是,有⼀本参考书还是必要的。
本书共16章。
第⼀部分为基础篇:第1~9章,主要是控件。
第⼆部分为应⽤提⾼篇:空间分析。
第10章。
第三部分:第11~12章,实例应⽤。
第四部分为空间数据库的操作。
第1章开发基础ArcGIS的类库总体可以分为界⾯控件类和操作组件类。
控件和组件是不⼀样的,控件是有界⾯的,组件是没有界⾯的。
所以它们的引⽤⽅式是不⼀样的。
需要注意它们的区别。
具体可以看:OM组件System类库:System类库是Engine中最底层的类库。
SystemUI类库:主要定义了ArcGIS系统中所使⽤的⽤户界⾯组件类型。
Geometry类库:包含了核⼼⼏何对象,如点、线、多边形及其⼏何类型和定义。
Display类库:包含了⽀持向输出装置绘制符号体系的组件。
Server类库:包含了⽤于获取到ArcGIS Server的连接的对象。
Output类库:包含了⽣成输出所必须的对象,通常是从地图或页⾯布局输出到打印机、绘图仪,或导出到⽂件中。
Geodatabase类库:Geodatabase类库:包含了所有与数据访问相关的定义的类型,为地理数据提供了编程API,是建⽴在标准⼯业关系型和对象关系数据库技术之上的地理数据库。
GISClient类库:DataSourcesFile类库:DataSourcesGDB类库:DataSourcesOleDB类库:DataSourcesRaster类库:GeoDatabaseDistributed类库:Carto类库:Carto类库:该类库⽀持地图的创建和显⽰,PageLayout 对象是地图及其底图元素的容器。