漫谈arcobject

漫谈arcobject

ID:37267351

大小:8.05 MB

页数:21页

时间:2019-05-20

漫谈arcobject_第1页
漫谈arcobject_第2页
漫谈arcobject_第3页
漫谈arcobject_第4页
漫谈arcobject_第5页
资源描述:

《漫谈arcobject》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、漫谈ArcObject1.从ArcGIS谈起。ESRI在全面整合GIS与数据库、软件工程、人工智能、网络技术及其他多方面计算机主流技术之后,成功地推出了代表GIS最高技术水平的全系列GIS平台----ArcGIS系列。ArcGIS是一个统一的地理信息系统平台,由三个重要部分组成:²ArcGIS桌面软件,一个一体化的高级的GIS应用。²ArcSDE通路,一个用数据管理系统(RDBMS)管理空间数据库的接口。²ArcIMS软件,基于Internet的分布式数据和服务的GIS。ArcGIS桌面软件指ArcView,ArcEdi

2、tor和ArcInfo三个产品。它们分享通用的结构,通用的代码基础,通用的扩展模块和统一的开发环境。从ArcView到ArcEditor到ArcInfo,只是功能上由简到繁。三套桌面产品都主要有三个既独立又可协同操作的应用程序组成:ArcMap、ArcCatalog和ArcToolbox。比如ArcMap,三个产品中都有,只是功能有所强弱。2.ArcObject是什么?ArcObject是ArcGIS桌面软件的开发平台。从实际的开发角度来说,ArcObject由一系列的ArcObject组件所组成(共有1800多个组件)

3、。这些组件分门别类的具有GIS各方面功能。它们就象已封装好的积木块,供使用者或开发者搭建自己的应用。ArcGIS桌面软件就是完全基于AO开发出来的,所以ESRI公司言:只要你有能力,可以用AO写出一个ArcMap来。由于这些组件是严格基于微软的COM标准开发的,所以可以运用COM技术进行功能定制及功能扩展,也就是说,开发者可以写自己的组件,而把ArcObject组件功能包括进来。3.ArcObject到底有哪些组件构成?先了解一下组件的一些基本知识。COM运用的是一种“客户/服务器”体系。如对ArcMap来说,AO组件是

4、服务器(提供功能),而ArcMap是客户(运用功能)。服务器和客户可运行于不同进程,也可运行于同一进程。为运行于不同进程而设计的组件是以EXE可执行文件方式存在的,而为运行于同一进程而设计的组件则是以DLL动态连接库方式存在的。它们各有优缺点。AO组件大部分都是采用进程内方式(即DLL方式)设计的。同时,为解决大量DLL文件的引用的不便性,这些DLL又按功能进一步包装进了几个对象库(.olb文件)。这样,在应用开发时,只要包含库文件就行了,非常方便。AO组件都放在\arcexe81bin目录下,包含如下库文件:1.E

5、sriObjectLibrary(EsriCore.olb):包含了除ArcGIS扩展模块外的基本上所有功能。(2.66MB)2.EsriArcMapObjectLibrary(EsriMx.olb):只有在定制ArcMap时用到(24KB)。其接口实现都连至EsriCore.olb。3.EsriArcCatalogObjectLibrary(EsriGx.olb):只有在定制ArcCatalog时用到(24KB)。其接口实现都连至EsriCore.olb。4.EsriArcObjectsControls8.1(AfCo

6、ntrol.ocx):一个轻量级的主要用于图形显示的ActiveX控件。有点像MO,可直接放到开发环境中,只需简单编程就能显示地图数据。(没有查询、分析功能)5.EsriUIControls(UIControls.dll):只能用在定制环境中,在创建UIControls时用到。6.其他扩展库:esriSpatialExt.olb、esri3DExt.olb、esriTinExt.olb、esriSpatialShared.olb等。都是针对扩展模块。查看库文件中有哪些组件有不同方法,例举两个:①利用AO帮助。在目录中有A

7、rcObjectsClassHelp。②VC环境中,在TOOL菜单下点击OLECOMObjcetViewer,弹出EsriOLECOMObjectViewer对话框。对应于esriCore.olb,双击该项查看其包括的所有类、接口的详细列表。EsriCore.olb几乎包含了绝大部分的AO组件,是AO之核心。关于它的具体用法,见后讨论。4.应用ArcObject有哪些开发方式,各自的适用情况和优缺点怎样?一般来说,有三种开发方式:²利用ArcGIS桌面应用程序(如ArcMap)内置的VBA宏进行客户化;²在AO组件基

8、础上进一步包装自己的ActiveXCOM组件。²开发独立的应用程序。利用ArcGIS桌面应用程序(如ArcMap)内置的VBA宏进行客户化;这种客户化简单的可能只是修改一下ArcMap的界面,如工具条图标的改变,修改菜单的内容等,稍复杂一些就是利用这些桌面软件内置的开发环境VBA(一般在TOOLS菜单下的Macros

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。